Files
lcdproc/scripts/nightly/make-nightly.sh
T

96 lines
3.3 KiB
Bash
Raw Normal View History

2006-03-01 02:33:40 +00:00
#!/bin/sh
NIGHTLYDIR=/home/gfk/lcdproc/nightly
CVS=/usr/bin/cvs
MAKE=/usr/bin/make
DATE=`/bin/date`
PERL=/usr/bin/perl
GUNZIP=/bin/gunzip
BZIP2=/usr/bin/bzip2
CVS2CL=/home/gfk/lcdproc/cvs2cl.pl
SSH=/usr/bin/ssh
2006-03-01 02:33:40 +00:00
RSYNC=/usr/bin/rsync
#####
2006-04-12 13:12:37 +00:00
# Branch, can be stable-0-4-x, stable-0-5-x or current
2006-03-01 02:33:40 +00:00
BRANCH=$1
cd ${NIGHTLYDIR}/${BRANCH}/
# Clean up (just in case)
rm -f lcdproc-*.tar.gz
# Fetch of the changes
${CVS} update -d &> nightly-cvsChanges.txt
# Add of the warning and changes to the README file
mv README README.temp
echo "################################################" > README
echo "# WARNING! WARNING! WARNING! WARNING! WARNING! #" >> README
echo "# #" >> README
echo "# This is an automated nightly distribution #" >> README
echo "# made with the ${BRANCH} CVS branch." >> README
echo "# Date: ${DATE} #" >> README
echo "# NO WARANTIES AT ALL. Expect this to crash. #" >> README
echo "# Please report problems to the mailing list. #" >> README
echo "# #" >> README
echo "# http://lcdproc.omnipotent.net/ #" >> README
echo "################################################" >> README
echo >> README
cat README.temp >> README
echo "Here's what CVS update said (Check ChangeLog for more infos):" >> README
cat nightly-cvsChanges.txt >> README
# Produce a ChangeLog for yesterday
mv ChangeLog ChangeLog.temp
${CVS2CL} "-d'1 day ago<1 second ago'" --file nightly-ChangeLog &>/dev/null
echo "Changes since yesterday:" > ChangeLog
touch nightly-ChangeLog
cat nightly-ChangeLog >> ChangeLog
# Change the version number to CVS-${BRANCH}-${DATE}
cp configure.in configure.in.temp
BRANCH=${BRANCH} \
${PERL} -MPOSIX -i -p -e '$version = "CVS-".$ENV{BRANCH}."-".strftime("%Y%m%d", localtime);
s/(AM_INIT_AUTOMAKE\s*)\(\s*(\[?lcdproc\]?)\s*,\s*[\w\d.-]+\s*\)/$1($2, $version)/;
s/(AC_INIT\s*)\(\s*(\[?lcdproc\]?)\s*,\s*[\w\d.-]+\s*\)/$1($2, $version)/;
s/(AC_INIT\s*)\(\s*(\[?lcdproc\]?)\s*,\s*[\w\d.-]+(\s*[^)]+)\s*\)/$1($2, $version$3)/;' \
configure.in
2006-05-21 15:21:05 +00:00
# Debian-specific stuff
2006-03-01 02:33:40 +00:00
for dir in debian scripts/debian ; do
2006-05-21 15:21:05 +00:00
# Increase version number in debian/changelog accordingly
2006-05-21 20:49:56 +00:00
if [ -d "$dir" ] && [ -e "$dir/changelog" ]; then
2006-03-01 02:33:40 +00:00
${PERL} -MPOSIX -i -p -e '$date = strftime("%Y%m%d", localtime);
2006-10-14 13:54:00 +00:00
s/\((\d\.\d\.\d{1,2})([+~])cvs\d{8}(.*?)\)/(${1}${2}cvs${date}${3})/i if ($. == 1);' \
2006-03-01 02:33:40 +00:00
$dir/changelog
fi
2006-05-21 15:21:05 +00:00
# Make debian/rules executable
2006-03-01 02:33:40 +00:00
test -e $dir/rules && chmod +x $dir/rules
2006-05-21 15:21:05 +00:00
done
2006-03-01 02:33:40 +00:00
# Re-generate the autotools files
sh autogen.sh >/dev/null
./configure --silent >/dev/null
# Creation of the distribution
${MAKE} dist >/dev/null &>/dev/null
mv lcdproc-*.tar.gz lcdproc-CVS-${BRANCH}.tar.gz
# Make bzip2 archive
# ${GUNZIP} --stdout lcdproc-CVS-${BRANCH}.tar.gz > lcdproc-CVS-${BRANCH}.tar
# ${BZIP2} lcdproc-CVS-${BRANCH}.tar
# Upload
${RSYNC} -q \
lcdproc-CVS-${BRANCH}.tar.gz gfk@lcdproc.sourceforge.net:www-lcdproc/nightly/
${SSH} -q lcdproc.sourceforge.net "sh lcdproc-finish-nightly.sh ${BRANCH}"
2006-03-01 02:33:40 +00:00
# Cleanup
mv configure.in.temp configure.in
mv README.temp README
mv ChangeLog.temp ChangeLog
rm -f nightly-ChangeLog
rm -f nightly-cvsChanges.txt
mv lcdproc-CVS-${BRANCH}.tar.gz ../
sh autogen.sh >/dev/null