Files
create_mojo_app/xxx/deb/pbuild.sh
2025-06-03 23:13:07 +02:00

53 lines
1.4 KiB
Bash

#! /bin/sh
cd "${0%/*}" || exit
SCRIPTPATH=$(pwd)
cd ../app || exit
rc=0
prove -l -v t/*.t
rc=$?
cd "$SCRIPTPATH" || exit
if [ $rc -eq 0 ] ; then
# Jahr in dem das Programm begonnen wurde
createyear=mojocreateyear
currentyear=$(date +'%Y')
major=$((currentyear-createyear))
minor=$(date +'%m')
progpfad="opt/xxx/"
apppfad="app/lib/Xxx.pm"
workdir=/tmp/$USER_$(pwd | sed 's/^.*\///')
rm -Rf "${workdir:?}/*"
mkdir -p "$workdir"
# Daten in workdir sysnchronisieren
rsync -Ca ./DEBIAN "$workdir/"
rsync -Ca ./usr "$workdir/"
mkdir -p "$workdir/opt"
rsync -Ca ../app "$workdir/$progpfad"
# Test entfernen
rm -r "$workdir/$progpfad/app/t"
rm "$workdir/$progpfad/app/test.sh"
# config aus prod ordner kopieren
cp -ar ./prod/* "$workdir/$progpfad/app"
# Revision holen
REV=$(git rev-list --count --all)
VER="$major.$minor.$REV"
# Version in die startup app.pm und control eintragen
sed -i "s@__VERSION__@$VER@g" "$workdir/DEBIAN/control"
sed -i "s@__VERSION__@$VER@g" "$workdir/$progpfad/$apppfad"
SIZE=$(du -h -k --max-depth=0 "$workdir" | cut -d '/' -f1)
sed -i "s@__SIZE__@$SIZE@g" "$workdir/DEBIAN/control"
echo "Version: $VER, Size: $SIZE"
chmod -R g-s "$workdir"
# paket erstellen
fakeroot dpkg-deb -b "$workdir" ./
else
echo "TESTs failed no package created"
fi