1
0
Fork 0
mirror of https://github.com/eosswedenorg/antelope-api-healthcheck synced 2026-07-03 11:53:43 +02:00

Modify package scripts to use build/ directory to store tmp directory and output files.

This commit is contained in:
Henrik Hautakoski 2021-12-30 14:08:13 +01:00
parent 6ffc6f66c5
commit 91bad080ee
4 changed files with 45 additions and 35 deletions

View file

@ -28,10 +28,10 @@ info-file :
PACKAGE_PROGRAM=\"build/$(PROGRAM_NAME)\" > scripts/info PACKAGE_PROGRAM=\"build/$(PROGRAM_NAME)\" > scripts/info
package_deb: info-file package_deb: info-file
./scripts/build.sh deb ./scripts/build.sh deb $(realpath build)
package_freebsd: info-file package_freebsd: info-file
./scripts/build.sh freebsd ./scripts/build.sh freebsd $(realpath build)
clean: clean:
$(GO) clean $(GO) clean

View file

@ -1,5 +1,17 @@
#!/bin/bash #!/bin/bash
############################
# Read cli args #
############################
if [ $# -lt 2 ]; then
echo "$0 <pkg_type> <build_dir>"
exit 1
fi
PKG_TYPE=$1
BUILD_DIR=$2
############################ ############################
# Exported variables. # # Exported variables. #
############################ ############################
@ -18,14 +30,13 @@ export PACKAGE_ETCDIR=etc/${PACKAGE_NAME}
export PACKAGE_LOGDIR=/var/log export PACKAGE_LOGDIR=/var/log
export PACKAGE_LOGFILE=${PACKAGE_LOGDIR}/${PACKAGE_NAME}.log export PACKAGE_LOGFILE=${PACKAGE_LOGDIR}/${PACKAGE_NAME}.log
export PACKAGE_SHAREDIR=${PACKAGE_PREFIX}/share/${PACKAGE_NAME} export PACKAGE_SHAREDIR=${PACKAGE_PREFIX}/share/${PACKAGE_NAME}
export PACKAGE_TMPDIR="pack" export PACKAGE_TMPDIR="${BUILD_DIR}/pkg_${PKG_TYPE}"
export BUILD_DIR
if [ $# -lt 1 ]; then ############################
echo "$0 <pkg_type>" # Run script #
exit 1 ############################
fi
PKG_TYPE=$1
PKG_SCRIPT="${BASE_DIR}/build_${PKG_TYPE}.sh" PKG_SCRIPT="${BASE_DIR}/build_${PKG_TYPE}.sh"
# Check and call script # Check and call script

View file

@ -1,6 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
PACKAGE_TMPDIR="${PACKAGE_TMPDIR}/debian"
PACKAGE_SYSUNITDIR=etc/systemd/system PACKAGE_SYSUNITDIR=etc/systemd/system
PACKAGE_RSYSLOGDIR=etc/rsyslog.d PACKAGE_RSYSLOGDIR=etc/rsyslog.d
PACKAGE_LOGROTATEDIR=etc/logrotate.d PACKAGE_LOGROTATEDIR=etc/logrotate.d
@ -23,10 +22,10 @@ fi
PACKAGE_FULLNAME="${PACKAGE_NAME}_${PACKAGE_VERSION}-${RELEASE}-${DISTRIB_ID}-${DISTRIB_RELEASE}_amd64" PACKAGE_FULLNAME="${PACKAGE_NAME}_${PACKAGE_VERSION}-${RELEASE}-${DISTRIB_ID}-${DISTRIB_RELEASE}_amd64"
rm -fr ${BASE_DIR}/${PACKAGE_TMPDIR} rm -fr ${PACKAGE_TMPDIR}
# Create debian files. # Create debian files.
mkdir -p ${BASE_DIR}/${PACKAGE_TMPDIR}/DEBIAN mkdir -p ${PACKAGE_TMPDIR}/DEBIAN
echo "Package: ${PACKAGE_NAME} echo "Package: ${PACKAGE_NAME}
Version: ${PACKAGE_VERSION}-${RELEASE} Version: ${PACKAGE_VERSION}-${RELEASE}
Section: introspection Section: introspection
@ -34,44 +33,44 @@ Priority: optional
Architecture: amd64 Architecture: amd64
Homepage: https://github.com/eosswedenorg/eos-api-healthcheck Homepage: https://github.com/eosswedenorg/eos-api-healthcheck
Maintainer: Henrik Hautakoski <henrik@eossweden.org> Maintainer: Henrik Hautakoski <henrik@eossweden.org>
Description: ${PACKAGE_DESCRIPTION}" &> ${BASE_DIR}/${PACKAGE_TMPDIR}/DEBIAN/control Description: ${PACKAGE_DESCRIPTION}" &> ${PACKAGE_TMPDIR}/DEBIAN/control
cat ${BASE_DIR}/${PACKAGE_TMPDIR}/DEBIAN/control cat ${PACKAGE_TMPDIR}/DEBIAN/control
# Create service file # Create service file
mkdir -p ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_SYSUNITDIR} mkdir -p ${PACKAGE_TMPDIR}/${PACKAGE_SYSUNITDIR}
cat ${TEMPLATE_DIR}/sysunit.service \ cat ${TEMPLATE_DIR}/sysunit.service \
| sed "s~{{ PACKAGE_NAME }}~${PACKAGE_NAME}~" \ | sed "s~{{ PACKAGE_NAME }}~${PACKAGE_NAME}~" \
| sed "s~{{ DESCRIPTION }}~${PACKAGE_DESCRIPTION}~" \ | sed "s~{{ DESCRIPTION }}~${PACKAGE_DESCRIPTION}~" \
| sed "s~{{ PROGRAM }}~/${PACKAGE_PREFIX}/bin/${PACKAGE_NAME}~" \ | sed "s~{{ PROGRAM }}~/${PACKAGE_PREFIX}/bin/${PACKAGE_NAME}~" \
> ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_SYSUNITDIR}/${PACKAGE_NAME}.service > ${PACKAGE_TMPDIR}/${PACKAGE_SYSUNITDIR}/${PACKAGE_NAME}.service
# Create rsyslog file # Create rsyslog file
mkdir -p ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_RSYSLOGDIR} mkdir -p ${PACKAGE_TMPDIR}/${PACKAGE_RSYSLOGDIR}
cat ${TEMPLATE_DIR}/rsyslog.conf \ cat ${TEMPLATE_DIR}/rsyslog.conf \
| sed "s~{{ PROGRAM }}~${PACKAGE_NAME}~" \ | sed "s~{{ PROGRAM }}~${PACKAGE_NAME}~" \
| sed "s~{{ LOG_FILE }}~${PACKAGE_LOGFILE}~" \ | sed "s~{{ LOG_FILE }}~${PACKAGE_LOGFILE}~" \
> ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_RSYSLOGDIR}/49-${PACKAGE_NAME}.conf > ${PACKAGE_TMPDIR}/${PACKAGE_RSYSLOGDIR}/49-${PACKAGE_NAME}.conf
# Create logrotate file # Create logrotate file
mkdir -p ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_LOGROTATEDIR} mkdir -p ${PACKAGE_TMPDIR}/${PACKAGE_LOGROTATEDIR}
cat ${TEMPLATE_DIR}/logrotate.conf \ cat ${TEMPLATE_DIR}/logrotate.conf \
| sed "s~{{ LOG_FILE }}~${PACKAGE_LOGFILE}~" \ | sed "s~{{ LOG_FILE }}~${PACKAGE_LOGFILE}~" \
> ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_LOGROTATEDIR}/${PACKAGE_NAME}.conf > ${PACKAGE_TMPDIR}/${PACKAGE_LOGROTATEDIR}/${PACKAGE_NAME}.conf
chmod 644 ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_LOGROTATEDIR}/${PACKAGE_NAME}.conf chmod 644 ${PACKAGE_TMPDIR}/${PACKAGE_LOGROTATEDIR}/${PACKAGE_NAME}.conf
# Cerate config file # Cerate config file
mkdir -p ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_ETCDIR} mkdir -p ${PACKAGE_TMPDIR}/${PACKAGE_ETCDIR}
cat ${TEMPLATE_DIR}/config \ cat ${TEMPLATE_DIR}/config \
| sed "s~{{ PACKAGE_NAME }}~${PACKAGE_NAME}~" \ | sed "s~{{ PACKAGE_NAME }}~${PACKAGE_NAME}~" \
> ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_ETCDIR}/env > ${PACKAGE_TMPDIR}/${PACKAGE_ETCDIR}/env
# Copy program # Copy program
mkdir -p ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_BINDIR} mkdir -p ${PACKAGE_TMPDIR}/${PACKAGE_BINDIR}
cp ${BASE_DIR}/../${PACKAGE_PROGRAM} ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_BINDIR}/${PACKAGE_NAME} cp ${BASE_DIR}/../${PACKAGE_PROGRAM} ${PACKAGE_TMPDIR}/${PACKAGE_BINDIR}/${PACKAGE_NAME}
# Copy files. # Copy files.
mkdir -p ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_SHAREDIR} mkdir -p ${PACKAGE_TMPDIR}/${PACKAGE_SHAREDIR}
cp ${BASE_DIR}/../README.md ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_SHAREDIR} cp ${BASE_DIR}/../README.md ${PACKAGE_TMPDIR}/${PACKAGE_SHAREDIR}
fakeroot dpkg-deb --build ${BASE_DIR}/${PACKAGE_TMPDIR} ${BASE_DIR}/${PACKAGE_FULLNAME}.deb fakeroot dpkg-deb --build ${PACKAGE_TMPDIR} ${BUILD_DIR}/${PACKAGE_FULLNAME}.deb

View file

@ -15,35 +15,35 @@ PID_FILE=/var/run/${PACKAGE_NAME}.pid
# rc does not like "-" in the filename. # rc does not like "-" in the filename.
RC_NAME=$(echo ${PACKAGE_NAME} | sed "s~-~_~g") RC_NAME=$(echo ${PACKAGE_NAME} | sed "s~-~_~g")
mkdir -p ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_RCDIR} mkdir -p ${PACKAGE_TMPDIR}/${PACKAGE_RCDIR}
cat ${TEMPLATE_DIR}/rc.conf \ cat ${TEMPLATE_DIR}/rc.conf \
| sed "s~{{ RC_NAME }}~${RC_NAME}~g" \ | sed "s~{{ RC_NAME }}~${RC_NAME}~g" \
| sed "s~{{ PID_FILE }}~${PID_FILE}~g" \ | sed "s~{{ PID_FILE }}~${PID_FILE}~g" \
| sed "s~{{ LOG_FILE }}~${PACKAGE_LOGFILE}~" \ | sed "s~{{ LOG_FILE }}~${PACKAGE_LOGFILE}~" \
| sed "s~{{ DESCRIPTION }}~${PACKAGE_DESCRIPTION}~" \ | sed "s~{{ DESCRIPTION }}~${PACKAGE_DESCRIPTION}~" \
| sed "s~{{ PROGRAM }}~/${PACKAGE_BINDIR}/${PACKAGE_NAME}~" \ | sed "s~{{ PROGRAM }}~/${PACKAGE_BINDIR}/${PACKAGE_NAME}~" \
> ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_RCDIR}/${RC_NAME} > ${PACKAGE_TMPDIR}/${PACKAGE_RCDIR}/${RC_NAME}
# Must be executable. # Must be executable.
chmod 755 ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_RCDIR}/${RC_NAME} chmod 755 ${PACKAGE_TMPDIR}/${PACKAGE_RCDIR}/${RC_NAME}
############################ ############################
# Create newsyslog config # # Create newsyslog config #
############################ ############################
mkdir -p ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_NEWSYSLOGDIR} mkdir -p ${PACKAGE_TMPDIR}/${PACKAGE_NEWSYSLOGDIR}
cat ${TEMPLATE_DIR}/newsyslog.conf \ cat ${TEMPLATE_DIR}/newsyslog.conf \
| sed "s~{{ LOG_FILE }}~${PACKAGE_LOGFILE}~" \ | sed "s~{{ LOG_FILE }}~${PACKAGE_LOGFILE}~" \
| sed "s~{{ PID_FILE }}~${PID_FILE}~g" \ | sed "s~{{ PID_FILE }}~${PID_FILE}~g" \
> ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_NEWSYSLOGDIR}/${PACKAGE_NAME}.conf > ${PACKAGE_TMPDIR}/${PACKAGE_NEWSYSLOGDIR}/${PACKAGE_NAME}.conf
############################ ############################
# Copy binary # # Copy binary #
############################ ############################
mkdir -p ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_BINDIR} mkdir -p ${PACKAGE_TMPDIR}/${PACKAGE_BINDIR}
cp ${BASE_DIR}/../${PACKAGE_PROGRAM} ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_BINDIR} cp ${BASE_DIR}/../${PACKAGE_PROGRAM} ${PACKAGE_TMPDIR}/${PACKAGE_BINDIR}
############################ ############################
# Create archive # # Create archive #
@ -51,4 +51,4 @@ cp ${BASE_DIR}/../${PACKAGE_PROGRAM} ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_BIN
TAR_FILENAME="${PACKAGE_NAME}-${PACKAGE_VERSION}-freebsd.tar.gz" TAR_FILENAME="${PACKAGE_NAME}-${PACKAGE_VERSION}-freebsd.tar.gz"
tar -C ${BASE_DIR}/${PACKAGE_TMPDIR} --owner root --group root -zcvf ${BASE_DIR}/${TAR_FILENAME} . tar -C ${PACKAGE_TMPDIR} --owner root --group root -zcvf ${BUILD_DIR}/${TAR_FILENAME} .