first commit
This commit is contained in:
52
xxx/deb/pbuild.sh
Normal file
52
xxx/deb/pbuild.sh
Normal file
@@ -0,0 +1,52 @@
|
||||
#! /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/XxxApp.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
|
||||
Reference in New Issue
Block a user