Update webupdate and webupdate.wrapper scripts to always
install from a clean build directory. PUBDIR is where the installed files end up for the public site. DESTDIR is now suffixed with '-clean', and always purged before a new build starts. When the build finishes, rsync populates PUBDIR from the resulting DESTDIR files. When doing a full site refresh, 'rsync --delete' is used to purge stale files. Sponsored by: The FreeBSD Foundation
This commit is contained in:
parent
828f628631
commit
8bd14a12f1
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=43978
2 changed files with 14 additions and 2 deletions
|
@ -17,6 +17,7 @@
|
|||
# SVNROOT - Path to the FreeBSD SVN repository.
|
||||
# BUILDDIR - Where the checked out copies of the files are stored.
|
||||
# DESTDIR - Where the rendered copies should wind up.
|
||||
# PUBDIR - Where the rendered files are published.
|
||||
# LOGFILE - Name of the log file to use (in $BUILDDIR).
|
||||
# BUILDARGS - Arguments to pass to make(1) when {build,install}ing.
|
||||
# INSTARGS - Arguments to pass to make(1) when installing.
|
||||
|
@ -162,6 +163,11 @@ time make ${BUILDARGS} all >> $LOGFILE 2>&1 &&
|
|||
mail -s "FreeBSD web build failed on `hostname`" $WEBMAILTO;
|
||||
exit 3) || exit 3;
|
||||
|
||||
if [ "X${PUBDIR}" != "X" ]; then
|
||||
/usr/local/bin/rsync ${RSYNC_FLAGS} ${DESTDIR}/ ${PUBDIR} \
|
||||
>> ${LOGFILE} 2>&1
|
||||
fi
|
||||
|
||||
# simon@ 20110116 - for now we use newsyslog...
|
||||
#gzip -f $LOGFILE
|
||||
#find $LOGDIR -mtime +60 -print0 | perl -n0e unlink
|
||||
|
|
|
@ -9,11 +9,13 @@
|
|||
|
||||
PATH=/bin:/usr/bin:/usr/local/bin
|
||||
SVNROOT=svn://svn.FreeBSD.org
|
||||
DESTDIR=/usr/local/www/www.freebsd.org
|
||||
PUBDIR=/usr/local/www/www.freebsd.org
|
||||
DESTDIR="${PUBDIR}-clean"
|
||||
RSYNC_FLAGS="-avH"
|
||||
PINDEX_OVERRIDE=/usr/ports/INDEX-9
|
||||
GEN_INDEX=yes
|
||||
export USER=www-data
|
||||
export PATH DESTDIR PINDEX_OVERRIDE GEN_INDEX
|
||||
export PATH DESTDIR PINDEX_OVERRIDE GEN_INDEX PUBDIR
|
||||
|
||||
WEBMAILTO=freebsd-doc@FreeBSD.org
|
||||
export WEBMAILTO
|
||||
|
@ -29,6 +31,7 @@ if [ -e $FLAGDIR/fullbuild-clean.flag ]; then
|
|||
export BUILD_RELNOTES=YES
|
||||
# TODO - tell webupdate to do clean via env variable
|
||||
# webupdate will remove flag file
|
||||
RSYNC_FLAGS="${RSYNC_FLAGS} --delete"
|
||||
elif [ -e $FLAGDIR/fullbuild-all-lang.flag ]; then
|
||||
export BUILD_RELNOTES=YES
|
||||
elif [ -e $FLAGDIR/fullbuild-en.flag ]; then
|
||||
|
@ -37,6 +40,7 @@ elif [ -e $FLAGDIR/fullbuild-en.flag ]; then
|
|||
else
|
||||
export WEB_ONLY=YES
|
||||
fi
|
||||
rm -rf ${DESTDIR}/*
|
||||
rm -f $FLAGDIR/fullbuild-all-lang.flag $FLAGDIR/fullbuild-en.flag
|
||||
|
||||
# 30m
|
||||
|
@ -45,6 +49,8 @@ if [ "$1" = "-f" ]; then
|
|||
LOCKF_WAIT=0
|
||||
fi
|
||||
|
||||
export RSYNC_FLAGS
|
||||
|
||||
nice -5 lockf -s -t $LOCKF_WAIT /usr/local/www/build/lock.webupdate \
|
||||
sh -c "/usr/local/www/bin/webupdate ; \
|
||||
/usr/sbin/newsyslog -f /home/www/etc/webupdate_newsyslog.conf -Fr -t ''"
|
||||
|
|
Loading…
Reference in a new issue