53 lines
1.4 KiB
Bash
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/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
|