#!/bin/bash
if [ `whoami` != root ]
then
echo "First make sure you're root"
exit 0
fi
BUILD=`pwd`
if [ ! -f debian/DEBIAN/control ]
then
echo "debian/DEBIAN/control file is missing"
exit 0
fi
PACKAGES=(lintian mirrordir)
for PACKAGE in ${PACKAGES[*]}
do
if [ "`dpkg -l $PACKAGE|grep $PACKAGE|awk '{print $1}'`" != "ii" ]
then
echo "Package $PACKAGE is missing, fetching and installing"
apt-get -qq update;apt-get -qq install $PACKAGE;apt-get -qq clean
fi
done
OLDVERSION=`grep "Version: " debian/DEBIAN/control|awk '{print $2}'`
PRODUCT=`grep "Package: " debian/DEBIAN/control|awk '{print $2}'`
TO=(anastassia@exent-tech.com d.kalnin@mastertraining.it)
USER=`pwd|column -s / -t|awk '{print $3}'`
echo -e "The old version is \033[1m$OLDVERSION\033[0m, specify the new one\\n:\\c"
read NEWVERSION
if [ -z $NEWVERSION ]
then
NEWVERSION=$OLDVERSION
fi
sed -i 's/'$OLDVERSION'/'$NEWVERSION'/' debian/DEBIAN/control
if [ -d tmp ]
then
rm -r tmp
mkdir tmp
else
mkdir tmp
fi
copydir --no-chown --no-chmod --exclude-glob ".project|.svn" debian tmp/
cd tmp
echo $NEWVERSION > debian/etc/mastercom2/version
dpkg-deb --build debian mastercom2-$NEWVERSION.deb > /tmp/buil.log 2>&1
sleep 1s
WARNINGS=(`lintian --allow-root mastercom2-$NEWVERSION.deb|grep "executable-not-elf-or-script"|awk '{print $4}'`)
if [ ${#WARNINGS[*]} -eq 0 ]
then
if [ ! -d /home/devel/products/dists ]
then
mkdir /home/devel/products/dists
fi
if [ ! -d /home/devel/products/dists/unstable ]
then
mkdir /home/devel/products/dists/unstable
fi
if [ ! -d /home/devel/products/dists/unstable/mastercom2 ]
then
mkdir /home/devel/products/dists/unstable/mastercom2
fi
if [ ! -d /home/devel/products/dists/unstable/mastercom2/binary-i386 ]
then
mkdir /home/devel/products/dists/unstable/mastercom2/binary-i386
fi
if [ ! -d /home/devel/products/unstable ]
then
mkdir /home/devel/products/unstable
fi
if [ ! -d /home/devel/products/unstable/mastercom2 ]
then
mkdir /home/devel/products/unstable/mastercom2
fi
mv mastercom2-$NEWVERSION.deb /home/devel/products/unstable/mastercom2/
cd /home/devel/products/
if [ -a dists/unstable/mastercom2/binary-i386/Packages.gz ]
then
rm dists/unstable/mastercom2/binary-i386/Packages.gz
fi
dpkg-scanpackages unstable/mastercom2 unstable/mastercom2 > dists/unstable/mastercom2/binary-i386/Packages 2>/dev/null
gzip dists/unstable/mastercom2/binary-i386/Packages
cd "$BUILD"
BODY=("New version $NEWVERSION of $PRODUCT package has been built by $USER" "For the Installation or upgrade, follow the instructions or ask to Daniele Davolio" )
SUBJECT="mastercom2 version $NEWVERSION has been built by $USER"
echo -e "${BODY[0]}\\n\\n\\n${BODY[1]}\\n\\n${BODY[2]}\\n\\n${BODY[3]}"|mail -s "$SUBJECT" ${TO[0]}
else
echo "Incorrect file permissions:"
for WARNING in ${WARNINGS[*]}
do
echo $WARNING|sed 's/./debian/'
done
echo "${WARNINGS[*]}"|sed -e 's/./debian/' -e sed 's/ /\n/g'|mail -s "$USER has found incorrect file permissions in $PRODUCT" ${TO[1]}
fi
cd "$BUILD"
if [ -d tmp ]
then
rm -r tmp
fi