1
0
Fork 0
mirror of https://github.com/eosswedenorg/antelope-api-healthcheck synced 2026-06-16 04:44:55 +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_deb: info-file
./scripts/build.sh deb
./scripts/build.sh deb $(realpath build)
package_freebsd: info-file
./scripts/build.sh freebsd
./scripts/build.sh freebsd $(realpath build)
clean:
$(GO) clean

View file

@ -1,5 +1,17 @@
#!/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. #
############################
@ -18,14 +30,13 @@ export PACKAGE_ETCDIR=etc/${PACKAGE_NAME}
export PACKAGE_LOGDIR=/var/log
export PACKAGE_LOGFILE=${PACKAGE_LOGDIR}/${PACKAGE_NAME}.log
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>"
exit 1
fi
############################
# Run script #
############################
PKG_TYPE=$1
PKG_SCRIPT="${BASE_DIR}/build_${PKG_TYPE}.sh"
# Check and call script

View file

@ -1,6 +1,5 @@
#!/usr/bin/env bash
PACKAGE_TMPDIR="${PACKAGE_TMPDIR}/debian"
PACKAGE_SYSUNITDIR=etc/systemd/system
PACKAGE_RSYSLOGDIR=etc/rsyslog.d
PACKAGE_LOGROTATEDIR=etc/logrotate.d
@ -23,10 +22,10 @@ fi
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.
mkdir -p ${BASE_DIR}/${PACKAGE_TMPDIR}/DEBIAN
mkdir -p ${PACKAGE_TMPDIR}/DEBIAN
echo "Package: ${PACKAGE_NAME}
Version: ${PACKAGE_VERSION}-${RELEASE}
Section: introspection
@ -34,44 +33,44 @@ Priority: optional
Architecture: amd64
Homepage: https://github.com/eosswedenorg/eos-api-healthcheck
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
mkdir -p ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_SYSUNITDIR}
mkdir -p ${PACKAGE_TMPDIR}/${PACKAGE_SYSUNITDIR}
cat ${TEMPLATE_DIR}/sysunit.service \
| sed "s~{{ PACKAGE_NAME }}~${PACKAGE_NAME}~" \
| sed "s~{{ DESCRIPTION }}~${PACKAGE_DESCRIPTION}~" \
| 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
mkdir -p ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_RSYSLOGDIR}
mkdir -p ${PACKAGE_TMPDIR}/${PACKAGE_RSYSLOGDIR}
cat ${TEMPLATE_DIR}/rsyslog.conf \
| sed "s~{{ PROGRAM }}~${PACKAGE_NAME}~" \
| 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
mkdir -p ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_LOGROTATEDIR}
mkdir -p ${PACKAGE_TMPDIR}/${PACKAGE_LOGROTATEDIR}
cat ${TEMPLATE_DIR}/logrotate.conf \
| sed "s~{{ LOG_FILE }}~${PACKAGE_LOGFILE}~" \
> ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_LOGROTATEDIR}/${PACKAGE_NAME}.conf
chmod 644 ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_LOGROTATEDIR}/${PACKAGE_NAME}.conf
> ${PACKAGE_TMPDIR}/${PACKAGE_LOGROTATEDIR}/${PACKAGE_NAME}.conf
chmod 644 ${PACKAGE_TMPDIR}/${PACKAGE_LOGROTATEDIR}/${PACKAGE_NAME}.conf
# Cerate config file
mkdir -p ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_ETCDIR}
mkdir -p ${PACKAGE_TMPDIR}/${PACKAGE_ETCDIR}
cat ${TEMPLATE_DIR}/config \
| sed "s~{{ PACKAGE_NAME }}~${PACKAGE_NAME}~" \
> ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_ETCDIR}/env
> ${PACKAGE_TMPDIR}/${PACKAGE_ETCDIR}/env
# Copy program
mkdir -p ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_BINDIR}
cp ${BASE_DIR}/../${PACKAGE_PROGRAM} ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_BINDIR}/${PACKAGE_NAME}
mkdir -p ${PACKAGE_TMPDIR}/${PACKAGE_BINDIR}
cp ${BASE_DIR}/../${PACKAGE_PROGRAM} ${PACKAGE_TMPDIR}/${PACKAGE_BINDIR}/${PACKAGE_NAME}
# Copy files.
mkdir -p ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_SHAREDIR}
cp ${BASE_DIR}/../README.md ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_SHAREDIR}
mkdir -p ${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_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 \
| sed "s~{{ RC_NAME }}~${RC_NAME}~g" \
| sed "s~{{ PID_FILE }}~${PID_FILE}~g" \
| sed "s~{{ LOG_FILE }}~${PACKAGE_LOGFILE}~" \
| sed "s~{{ DESCRIPTION }}~${PACKAGE_DESCRIPTION}~" \
| sed "s~{{ PROGRAM }}~/${PACKAGE_BINDIR}/${PACKAGE_NAME}~" \
> ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_RCDIR}/${RC_NAME}
> ${PACKAGE_TMPDIR}/${PACKAGE_RCDIR}/${RC_NAME}
# Must be executable.
chmod 755 ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_RCDIR}/${RC_NAME}
chmod 755 ${PACKAGE_TMPDIR}/${PACKAGE_RCDIR}/${RC_NAME}
############################
# Create newsyslog config #
############################
mkdir -p ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_NEWSYSLOGDIR}
mkdir -p ${PACKAGE_TMPDIR}/${PACKAGE_NEWSYSLOGDIR}
cat ${TEMPLATE_DIR}/newsyslog.conf \
| sed "s~{{ LOG_FILE }}~${PACKAGE_LOGFILE}~" \
| 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 #
############################
mkdir -p ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_BINDIR}
cp ${BASE_DIR}/../${PACKAGE_PROGRAM} ${BASE_DIR}/${PACKAGE_TMPDIR}/${PACKAGE_BINDIR}
mkdir -p ${PACKAGE_TMPDIR}/${PACKAGE_BINDIR}
cp ${BASE_DIR}/../${PACKAGE_PROGRAM} ${PACKAGE_TMPDIR}/${PACKAGE_BINDIR}
############################
# 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 -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} .