update the scripts for nightly tar ball & doc generation
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
|
||||
lcdproc-finish-nightly.sh sits on the sourceforge server located at lcdproc.sf.net
|
||||
|
||||
The two other scripts (generate-nightlies.sh and make-nightly.sh) sit on a
|
||||
The other scripts (generate-nightlies.sh, make-nightly.sh & make-docs.sh) sit on a
|
||||
local server and are run every night.
|
||||
generate-nightlies.sh calls make-nightly.sh for each cvs branch.
|
||||
generate-nightlies.sh calls make-nightly.sh for each CVS branch,
|
||||
and make-docs for each CVS branch for each documentation (user guide, admin guide).
|
||||
|
||||
At the time of writing the nightly are generated on a PC running Debian Linux
|
||||
At the time of writing the nightly tar balls are generated on a PC running Debian Linux
|
||||
maintained by Guillaume Filion <guillaume@filion.org>
|
||||
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
#!/bin/sh
|
||||
NIGHTLYDIR=/home/gfk/lcdproc/nightly
|
||||
MAKENIGHTLY=${NIGHTLYDIR}/make-nightly.sh
|
||||
MAKEDOCS=${NIGHTLYDIR}/make-docs.sh
|
||||
|
||||
LCDPROC_DIR=${LCDPROC_DIR:-$HOME/lcdproc}
|
||||
NIGHTLY_DIR=${NIGHTLY_DIR:-$LCDPROC_DIR/nightly}
|
||||
|
||||
MAKENIGHTLY=${NIGHTLY_DIR}/make-nightly.sh
|
||||
MAKEDOCS=${NIGHTLY_DIR}/make-docs.sh
|
||||
#####
|
||||
|
||||
for branch in current stable-0-5-x; do
|
||||
@@ -13,3 +16,5 @@ for branch in current stable-0-5-x; do
|
||||
${MAKEDOCS} $branch $doc
|
||||
done
|
||||
done
|
||||
|
||||
# EOF
|
||||
|
||||
@@ -1,22 +1,24 @@
|
||||
#!/bin/sh
|
||||
|
||||
DIR=/home/gfk/lcdproc/nightly
|
||||
SF_ACCOUNT=${SF_ACCOUNT:-$USER}
|
||||
LCDPROC_DIR=${LCDPROC_DIR:-$HOME/lcdproc}
|
||||
NIGHTLY_DIR=${NIGHTLY_DIR:-$LCDPROC_DIR/nightly}
|
||||
|
||||
# stable-0-5-x or current
|
||||
BRANCH=$1
|
||||
# stable-0-5-x or current (default)
|
||||
BRANCH=${1:-current}
|
||||
|
||||
# dev or user
|
||||
DOCS=$2
|
||||
# dev or user (default)
|
||||
DOCS=${2:-user}
|
||||
|
||||
XMLTO=/usr/bin/xmlto
|
||||
SSH=/usr/bin/ssh
|
||||
RSYNC=/usr/bin/rsync
|
||||
|
||||
#############################
|
||||
cd ${DIR}
|
||||
DOCSPATH=${DIR}/${BRANCH}/docs/lcdproc-${DOCS}
|
||||
DOCSPATH=${NIGHTLY_DIR}/${BRANCH}/docs/lcdproc-${DOCS}
|
||||
DOCSFILE=${DOCSPATH}/lcdproc-${DOCS}.docbook
|
||||
|
||||
#############################
|
||||
test -d ${NIGHTLY_DIR} && cd ${NIGHTLY_DIR}
|
||||
|
||||
# Generate HTML
|
||||
${XMLTO} xhtml-nochunks ${DOCSFILE} >/dev/null 2>&1
|
||||
mv lcdproc-${DOCS}.html ${BRANCH}-${DOCS}.html
|
||||
@@ -29,11 +31,9 @@ mv lcdproc-${DOCS}.html ${BRANCH}-${DOCS}.html
|
||||
${XMLTO} txt ${DOCSFILE} >/dev/null 2>&1
|
||||
mv lcdproc-${DOCS}.txt ${BRANCH}-${DOCS}.txt
|
||||
|
||||
# Upload the thing
|
||||
#${SCP} -r -qB \
|
||||
# Upload to sf.net
|
||||
${RSYNC} -qr \
|
||||
${BRANCH}-${DOCS}.html ${BRANCH}-${DOCS}.txt \
|
||||
gfk,lcdproc@web.sourceforge.net:htdocs/docs/
|
||||
${BRANCH}-${DOCS}.html ${BRANCH}-${DOCS}.txt \
|
||||
${SF_ACCOUNT},lcdproc@web.sourceforge.net:htdocs/docs/
|
||||
|
||||
# Finish the process on the server
|
||||
#${SSH} -q -l gfk shell.sourceforge.net "sh lcdproc-compress-html-docs.sh ${BRANCH}-${DOCS}-html"
|
||||
# EOF
|
||||
|
||||
+101
-76
@@ -1,97 +1,122 @@
|
||||
#!/bin/sh
|
||||
NIGHTLYDIR=/home/gfk/lcdproc/nightly
|
||||
#!/bin/bash
|
||||
#set -x
|
||||
|
||||
SF_ACCOUNT=${SF_ACCOUNT:-$USER}
|
||||
LCDPROC_DIR=${LCDPROC_DIR:-$HOME/lcdproc}
|
||||
NIGHTLY_DIR=${NIGHTLY_DIR:-$LCDPROC_DIR/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
|
||||
CVS2CL=/usr/bin/cvs2cl
|
||||
RSYNC=/usr/bin/rsync
|
||||
|
||||
TODAY=`/bin/date`
|
||||
#####
|
||||
# Branch, can be stable-0-4-x, stable-0-5-x or current
|
||||
BRANCH=$1
|
||||
# Branch, can be stable-0-4-x, stable-0-5-x or current (default)
|
||||
BRANCH=${1:-current}
|
||||
|
||||
cd ${NIGHTLYDIR}/${BRANCH}/
|
||||
test -d ${NIGHTLY_DIR}/${BRANCH}/ && cd ${NIGHTLY_DIR}/${BRANCH}/
|
||||
|
||||
# Clean up (just in case)
|
||||
rm -f lcdproc-*.tar.gz
|
||||
# make sure, we're in an LCDproc source directory
|
||||
if [ -e README ] && [ -e ChangeLog ] && [ -e LCDd.conf ]; then
|
||||
|
||||
# Fetch of the changes
|
||||
${CVS} update -d &> nightly-cvsChanges.txt
|
||||
# Clean up (just in case)
|
||||
rm -f lcdproc-*.tar.gz lcdproc-*.tar.bz2
|
||||
|
||||
# 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
|
||||
# Fetch the changes (ignore the file we store the changes in)
|
||||
${CVS} update -d 2>&1 | grep -v '^? nightly-cvsChanges.txt' > nightly-cvsChanges.txt
|
||||
|
||||
# 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
|
||||
# Add warning and changes to the README file
|
||||
mv README README.nightly-temp
|
||||
echo "################################################" > README
|
||||
echo "# WARNING! WARNING! WARNING! WARNING! WARNING! #" >> README
|
||||
echo "# #" >> README
|
||||
echo "# This is an automated nightly distribution #" >> README
|
||||
printf '# %-44s #\n' "made with the ${BRANCH} CVS branch." >> README
|
||||
printf '# %-44s #\n' "Date: ${TODAY}" >> 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.nightly-temp >> README
|
||||
echo >> README
|
||||
echo "Here's what CVS update said (Check ChangeLog for more infos):" >> README
|
||||
echo >> README
|
||||
cat nightly-cvsChanges.txt >> README
|
||||
|
||||
# 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
|
||||
# Produce a ChangeLog for yesterday
|
||||
mv ChangeLog ChangeLog.nightly-temp
|
||||
echo "Changes since yesterday:" > ChangeLog
|
||||
echo >> ChangeLog
|
||||
${CVS2CL} -l '-d yesterday<=' --stdout 2>/dev/null >> ChangeLog
|
||||
|
||||
# Debian-specific stuff
|
||||
for dir in debian scripts/debian ; do
|
||||
# Increase version number in debian/changelog accordingly
|
||||
if [ -d "$dir" ] && [ -e "$dir/changelog" ]; then
|
||||
${PERL} -MPOSIX -i -p -e '$date = strftime("%Y%m%d", localtime);
|
||||
s/\((\d\.\d\.\d{1,2})([+~])cvs\d{8}(.*?)\)/(${1}${2}cvs${date}${3})/i if ($. == 1);' \
|
||||
$dir/changelog
|
||||
fi
|
||||
# Change the version number to CVS-${BRANCH}-${DATE}
|
||||
cp -a configure.in configure.in.nightly-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
|
||||
|
||||
# Make debian/rules executable
|
||||
test -e $dir/rules && chmod +x $dir/rules
|
||||
done
|
||||
# Debian-specific stuff
|
||||
for dir in debian scripts/debian ; do
|
||||
# Increase version number in debian/changelog accordingly
|
||||
if [ -d "$dir" ] && [ -e "$dir/changelog" ]; then
|
||||
cp -a $dir/changelog debian_changelog.nightly-temp
|
||||
${PERL} -MPOSIX -i -p \
|
||||
-e '$date = strftime("%Y%m%d", localtime);
|
||||
s/\((\d\.\d\.\d{1,2})([+~])cvs\d{8}(.*?)\)/(${1}${2}cvs${date}${3})/i if ($. == 1);' \
|
||||
$dir/changelog
|
||||
fi
|
||||
|
||||
# Re-generate the autotools files
|
||||
sh autogen.sh >/dev/null
|
||||
./configure --silent >/dev/null
|
||||
# Make debian/rules executable
|
||||
test -e $dir/rules && chmod +x $dir/rules
|
||||
done
|
||||
|
||||
# Creation of the distribution
|
||||
${MAKE} dist >/dev/null &>/dev/null
|
||||
mv lcdproc-*.tar.gz lcdproc-CVS-${BRANCH}.tar.gz
|
||||
# Re-generate the autotools files
|
||||
sh autogen.sh >/dev/null
|
||||
./configure --silent >/dev/null
|
||||
|
||||
# Make bzip2 archive
|
||||
# ${GUNZIP} --stdout lcdproc-CVS-${BRANCH}.tar.gz > lcdproc-CVS-${BRANCH}.tar
|
||||
# ${BZIP2} lcdproc-CVS-${BRANCH}.tar
|
||||
# Creation of the distribution
|
||||
${MAKE} dist dist-bzip2 >/dev/null &>/dev/null
|
||||
mv lcdproc-*.tar.gz lcdproc-CVS-${BRANCH}.tar.gz
|
||||
mv lcdproc-*.tar.bz2 lcdproc-CVS-${BRANCH}.tar.bz2
|
||||
|
||||
# Date of the last nightly
|
||||
date > last-nightly.txt
|
||||
# Date of the last nightly
|
||||
echo "${TODAY}" > last-nightly.txt
|
||||
|
||||
# Upload
|
||||
${RSYNC} -q lcdproc-CVS-${BRANCH}.tar.gz last-nightly.txt \
|
||||
gfk,lcdproc@web.sourceforge.net:htdocs/nightly/
|
||||
# Upload to sf.net
|
||||
${RSYNC} -q lcdproc-CVS-${BRANCH}.tar.gz lcdproc-CVS-${BRANCH}.tar.bz2 \
|
||||
last-nightly.txt \
|
||||
${SF_ACCOUNT},lcdproc@web.sourceforge.net:htdocs/nightly/
|
||||
|
||||
# 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
|
||||
mv lcdproc-CVS-${BRANCH}.tar.gz ${LCDPROC_DIR}/
|
||||
|
||||
# Cleanup
|
||||
mv configure.in.nightly-temp configure.in
|
||||
mv README.nightly-temp README
|
||||
mv ChangeLog.nightly-temp ChangeLog
|
||||
rm -f nightly-cvsChanges.txt last-nightly.txt
|
||||
for dir in debian scripts/debian ; do
|
||||
test -d $dir && mv debian_changelog.nightly-temp $dir/changelog
|
||||
done
|
||||
|
||||
# remove files generated by ./configure --silent
|
||||
${MAKE} distclean
|
||||
|
||||
# re-create files accidentially deleted
|
||||
${CVS} update -d &> /dev/null
|
||||
|
||||
# build configure (& Makefile.in's ?) based on original configure.in from CVS
|
||||
sh autogen.sh >/dev/null
|
||||
|
||||
fi
|
||||
|
||||
# EOF
|
||||
|
||||
Reference in New Issue
Block a user