All pastes #810911 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-12-10 12:30 UTC
rendered paste body
#!/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