diff --git a/Makefile b/Makefile index 0db92b6..d572309 100644 --- a/Makefile +++ b/Makefile @@ -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 diff --git a/scripts/build.sh b/scripts/build.sh index cc5a609..7ec7801 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -1,5 +1,17 @@ #!/bin/bash +############################ +# Read cli args # +############################ + +if [ $# -lt 2 ]; then + echo "$0 " + 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 " - exit 1 -fi +############################ +# Run script # +############################ -PKG_TYPE=$1 PKG_SCRIPT="${BASE_DIR}/build_${PKG_TYPE}.sh" # Check and call script diff --git a/scripts/build_deb.sh b/scripts/build_deb.sh index d7a07f5..7fba5a1 100755 --- a/scripts/build_deb.sh +++ b/scripts/build_deb.sh @@ -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 -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 diff --git a/scripts/build_freebsd.sh b/scripts/build_freebsd.sh index bded7e5..efadc31 100755 --- a/scripts/build_freebsd.sh +++ b/scripts/build_freebsd.sh @@ -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} .