From owner-svn-doc-head@FreeBSD.ORG Tue Feb 18 18:04:04 2014 Return-Path: Delivered-To: svn-doc-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 88BF8D3C; Tue, 18 Feb 2014 18:04:04 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 66699125F; Tue, 18 Feb 2014 18:04:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1II44pX074091; Tue, 18 Feb 2014 18:04:04 GMT (envelope-from gjb@svn.freebsd.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1II44rs074088; Tue, 18 Feb 2014 18:04:04 GMT (envelope-from gjb@svn.freebsd.org) Message-Id: <201402181804.s1II44rs074088@svn.freebsd.org> From: Glen Barber Date: Tue, 18 Feb 2014 18:04:04 +0000 (UTC) To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r43978 - head/share/tools X-SVN-Group: doc-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-doc-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the doc tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Feb 2014 18:04:04 -0000 Author: gjb Date: Tue Feb 18 18:04:03 2014 New Revision: 43978 URL: http://svnweb.freebsd.org/changeset/doc/43978 Log: 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 Modified: head/share/tools/webupdate head/share/tools/webupdate.wrapper Modified: head/share/tools/webupdate ============================================================================== --- head/share/tools/webupdate Tue Feb 18 17:03:47 2014 (r43977) +++ head/share/tools/webupdate Tue Feb 18 18:04:03 2014 (r43978) @@ -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 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 Modified: head/share/tools/webupdate.wrapper ============================================================================== --- head/share/tools/webupdate.wrapper Tue Feb 18 17:03:47 2014 (r43977) +++ head/share/tools/webupdate.wrapper Tue Feb 18 18:04:03 2014 (r43978) @@ -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 ]; 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 ]; 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 ''"