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

106 lines
3.7 KiB
Bash
Executable File

#!/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
SCP=/usr/bin/scp
RSYNC=/usr/bin/rsync
#####
# Branch, can be stable-0-4-x or current
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
# Increase version number in debian/changelog accordingly
# use 0.4.99+cvs.... for 0.5pre nightlies to be able to stay in the epoch when moving to 0.5
for dir in debian scripts/debian ; do
if [ -d i"$dir" ] && [ -e "$dir/changelog" ; then
cp $dir/changelog $dir/changelog.temp
${PERL} -MPOSIX -i -p -e '$date = strftime("%Y%m%d", localtime);
s/\(0\.4\.99\+cvs\d{8}\)/(0.4.99+cvs$date)/i if ($. == 1);' \
$dir/changelog
fi
done
# Make debian/rules executable
for dir in debian scripts/debian ; do
test -e $dir/rules && chmod +x $dir/rules
done
# 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
# scp -qB -i ${NIGHTLYDIR}/id_dsa lcdproc-CVS-${BRANCH}.tar.gz lcdproc-CVS-${BRANCH}.tar.bz2 gfk@lcdproc.sourceforge.net:www-lcdproc/nightly/
#${SCP} -qB \
${RSYNC} -q \
lcdproc-CVS-${BRANCH}.tar.gz gfk@lcdproc.sourceforge.net:www-lcdproc/nightly/
${RSYNC} -q \
lcdproc-CVS-${BRANCH}.tar.gz gfk@cf-shell.sourceforge.net:smoketest/
# Cleanup
mv configure.in.temp configure.in
mv README.temp README
mv ChangeLog.temp ChangeLog
rm -f nightly-ChangeLog
rm -f nightly-cvsChanges.txt
for dir in debian scripts/debian ; do
test -e $dir/changelog.temp && mv $dir/changelog.temp $dir/changelog
done
#mv lcdproc-CVS-${BRANCH}.tar.bz2 ../
mv lcdproc-CVS-${BRANCH}.tar.gz ../
sh autogen.sh >/dev/null