#!/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