„deb/build-deb.sh“ ändern
This commit is contained in:
parent
a3fb3d7217
commit
e625bd0900
137
deb/build-deb.sh
137
deb/build-deb.sh
@ -1,90 +1,127 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "Build file for dpkg-deb: https://github.com/linksmart/ci-scripts/blob/master/deb/build-deb.sh"
|
||||
# EXAMPLES
|
||||
usage() {
|
||||
echo "usage: " \
|
||||
"NAME=app " \
|
||||
"COPYCONFIG=../build/sample-config/*.conf " \
|
||||
"VERSION=1.2-3 " \
|
||||
"PLATFORM=amd64 " \
|
||||
"COPYEXEC=../build/release/app " \
|
||||
"sh build-deb.sh"
|
||||
exit 1
|
||||
}
|
||||
|
||||
echo "1. Catch all paths together for $NAME."
|
||||
echo "Build file for dpkg-deb: https://git.blubbfish.net/vs_utils/CI-Scripts/src/branch/master/deb/build-deb.sh"
|
||||
|
||||
HOMEDIR=$HOME
|
||||
ROOT="$HOMEDIR/deb"
|
||||
OUTPUT="../bin/Release/netcoreapp3.0"
|
||||
if [ -z "${NAME}" ]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
EXEC="$ROOT/usr/local/bin/$NAME"
|
||||
CONFIG="$ROOT/etc/$NAME"
|
||||
SHARE="$ROOT/usr/share/$NAME"
|
||||
SYSTEMD="$ROOT/lib/systemd/system"
|
||||
LOGROTATE="$ROOT/etc/logrotate.d"
|
||||
DEBIAN="$ROOT/DEBIAN"
|
||||
if [ -z "${HOME}" ]; then
|
||||
echo "HOME variable was not set, chech yout system!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "2. Versionsumber and Arch: $VERSION, $PLATFORM."
|
||||
if [ -z "${COPYCONFIG}" ]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
if [ -z "${VERSION}" ]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
if [ -z "${PLATFORM}" ]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
if [ -z "${COPYEXEC}" ]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
echo "1. Catch all paths together for ${NAME}."
|
||||
|
||||
HOMEDIR=${HOME}
|
||||
ROOT="${HOMEDIR}/deb"
|
||||
|
||||
EXEC="${ROOT}/usr/local/bin/${NAME}"
|
||||
CONFIG="${ROOT}/etc/${NAME}"
|
||||
SHARE="${ROOT}/usr/share/${NAME}"
|
||||
SYSTEMD="${ROOT}/lib/systemd/system"
|
||||
DEBIAN="${ROOT}/DEBIAN"
|
||||
LOGROTATE="${SHARE}/logrotate.d"
|
||||
TARGETFILE="${NAME}_${VERSION}_${PLATFORM}.deb"
|
||||
|
||||
echo "2. Versionsumber and Arch: ${VERSION}, ${PLATFORM}."
|
||||
|
||||
echo "3. Create directorys."
|
||||
|
||||
mkdir -p $EXEC
|
||||
mkdir -p $CONFIG
|
||||
mkdir -p $SHARE/etc
|
||||
mkdir -p $DEBIAN
|
||||
mkdir -p $SYSTEMD
|
||||
if [ -f "logrotate-$NAME" ]; then
|
||||
mkdir -p $LOGROTATE
|
||||
mkdir -p ${EXEC}
|
||||
mkdir -p ${CONFIG}
|
||||
mkdir -p ${SHARE}/etc
|
||||
mkdir -p ${SYSTEMD}
|
||||
mkdir -p ${DEBIAN}
|
||||
if [ -f "logrotate-${NAME}" ]; then
|
||||
mkdir -p ${LOGROTATE}
|
||||
fi
|
||||
|
||||
echo "4. Copy deb control files."
|
||||
|
||||
cp control $DEBIAN/control
|
||||
cp postinst $DEBIAN
|
||||
cp prerm $DEBIAN
|
||||
cp control ${DEBIAN}/control
|
||||
cp postinst ${DEBIAN}
|
||||
cp prerm ${DEBIAN}
|
||||
|
||||
echo "5. Copy $NAME.service to $SYSTEMD."
|
||||
echo "5. Copy ${NAME}.service to ${SYSTEMD}."
|
||||
|
||||
cp "service-$NAME" "$SYSTEMD/$NAME.service"
|
||||
cp "service-${NAME}" "${SYSTEMD}/${NAME}.service"
|
||||
|
||||
echo "6. Copy programm files to $EXEC."
|
||||
echo "6. Copy programm files to ${EXEC}."
|
||||
|
||||
cp -r -t $EXEC/ $COPYEXEC
|
||||
cp -r -t ${EXEC}/ ${COPYEXEC}
|
||||
|
||||
echo "7. Copy example-conf to $SHARE/etc."
|
||||
echo "7. Copy example-conf to ${SHARE}/etc."
|
||||
|
||||
cp -t $SHARE/etc/ $COPYCONFIG
|
||||
touch $DEBIAN/conffiles
|
||||
find $SHARE/etc -type f -printf "/usr/share/$NAME/etc/%P\n" > $DEBIAN/conffiles
|
||||
cp -t ${SHARE}/etc/ ${COPYCONFIG}
|
||||
touch ${DEBIAN}/conffiles
|
||||
find ${SHARE}/etc -type f -printf "/usr/share/${NAME}/etc/%P\n" > ${DEBIAN}/conffiles
|
||||
|
||||
echo "8. Copy $NAME.conf to $LOGROTATE."
|
||||
if [ -f "logrotate-$NAME" ]; then
|
||||
cp "logrotate-$NAME" "$LOGROTATE/$NAME.conf"
|
||||
echo "8. Copy ${NAME}.conf to ${LOGROTATE}."
|
||||
if [ -f "logrotate-${NAME}" ]; then
|
||||
cp "logrotate-${NAME}" "${LOGROTATE}/${NAME}.conf"
|
||||
echo "/usr/share/${NAME}/logrotate.d/${NAME}.conf" >> ${DEBIAN}/conffiles
|
||||
else
|
||||
echo "No logrotate found"
|
||||
fi
|
||||
|
||||
echo "9. Creating md5sum"
|
||||
|
||||
touch $DEBIAN/md5sums
|
||||
pushd $ROOT >> /dev/null
|
||||
find . -path ./DEBIAN -prune -o -type f -exec md5sum {} \; | sed "s-./--" >> $DEBIAN/md5sums
|
||||
touch ${DEBIAN}/md5sums
|
||||
pushd ${ROOT} >> /dev/null
|
||||
find . -path ./{DEBIAN} -prune -o -type f -exec md5sum {} \; | sed "s-./--" >> ${DEBIAN}/md5sums
|
||||
popd >> /dev/null
|
||||
|
||||
echo "10. Setting permissions"
|
||||
|
||||
chmod -R 755 $DEBIAN
|
||||
chmod 644 $SYSTEMD/"$NAME.service"
|
||||
chmod -R 755 $EXEC
|
||||
chmod 644 $SHARE/etc/*
|
||||
chmod 755 $CONFIG
|
||||
if [ -f "logrotate-$NAME" ]; then
|
||||
chmod 644 $LOGROTATE/*
|
||||
chmod -R 755 ${DEBIAN}
|
||||
chmod 644 ${SYSTEMD}/"${NAME}.service"
|
||||
chmod -R 755 ${EXEC}
|
||||
chmod 644 ${SHARE}/etc/*
|
||||
chmod 755 ${CONFIG}
|
||||
if [ -f "logrotate-${NAME}" ]; then
|
||||
chmod 644 ${LOGROTATE}/*
|
||||
fi
|
||||
|
||||
echo "11. Build deb packet."
|
||||
|
||||
dpkg-deb --build $ROOT
|
||||
dpkg-deb --build ${ROOT}
|
||||
|
||||
echo "12. Move $TARGETFILE to Builds."
|
||||
echo "12. Move ${TARGETFILE} to Builds."
|
||||
|
||||
TARGETFILE="${NAME}_${VERSION}_${PLATFORM}.deb"
|
||||
mv $HOMEDIR/deb.deb "../Builds/$TARGETFILE"
|
||||
echo "::set-output name=debuilderfile::$TARGETFILE"
|
||||
mv ${HOMEDIR}/deb.deb "../Builds/${TARGETFILE}"
|
||||
echo "::set-output name=debuilderfile::${TARGETFILE}"
|
||||
|
||||
echo "13. Cleanup $HOMEDIR/deb."
|
||||
echo "13. Cleanup ${HOMEDIR}/deb."
|
||||
|
||||
rm $HOMEDIR/deb -r
|
||||
rm ${HOMEDIR}/deb -r
|
||||
|
||||
echo "All steps completed."
|
Loading…
Reference in New Issue
Block a user