monithor/generate.sh

68 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
BinNeed="dpkg-deb realpath"
Wai=$(dirname $(realpath $0))
usage () {
echo "$0
permet de générer les versions de monithor server et client en paquet debian"
exit $1
}
GetOut () {
[[ $1 == "pkg" ]] && echo "Le paquet $2 est nécessaire" && usage 1
}
CheckDep() {
for CheckBinNeed in ${BinNeed}
do
TestCheckBinNeed=$(which $CheckBinNeed)
[[ -z $TestCheckBinNeed ]] && GetOut pkg $CheckBinNeed
done
}
GitVersion() {
LastTag=$(git tag | sed "s/^V//g" | cut -d"-" -f1 | sort | tail -n1)
NewTag=${LastTag}-rebuild
}
CpArchName() {
cp -Rf monithor-${1} /tmp/monithor-${1}_${2}_all
}
SedControl() {
sed -i "/^Version/s/:.*/: ${2}/g" /tmp/monithor-${1}_${2}_all/DEBIAN/control
}
BuildDeb(){
echo -n "Gen monithor-${1} [$2] : "
cd /tmp/ &> /dev/null
dpkg-deb --build --root-owner-group monithor-${1}_${2}_all &> /dev/null
[[ "$?" -eq "0" ]] && echo "OK" || echo "FAILED"
}
CleanTemp() {
mkdir $Wai/build &> /dev/null
mv monithor-*deb $Wai/build
rm -Rf monithor-*
}
[[ ! -z $1 ]] && usage
CheckDep
GitVersion
CpArchName server $NewTag
CpArchName client $NewTag
SedControl server $NewTag
SedControl client $NewTag
BuildDeb client $NewTag
BuildDeb server $NewTag
CleanTemp