From owner-svn-src-user@freebsd.org Sun Sep 13 00:17:05 2020 Return-Path: Delivered-To: svn-src-user@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2988E3E66E9 for ; Sun, 13 Sep 2020 00:17:05 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Bpqmx02bTz4h6l; Sun, 13 Sep 2020 00:17:05 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D8EA01D379; Sun, 13 Sep 2020 00:17:04 +0000 (UTC) (envelope-from gordon@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 08D0H4FM063128; Sun, 13 Sep 2020 00:17:04 GMT (envelope-from gordon@FreeBSD.org) Received: (from gordon@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 08D0H4Pn063127; Sun, 13 Sep 2020 00:17:04 GMT (envelope-from gordon@FreeBSD.org) Message-Id: <202009130017.08D0H4Pn063127@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gordon set sender to gordon@FreeBSD.org using -f From: Gordon Tetlow Date: Sun, 13 Sep 2020 00:17:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r365679 - user/cperciva/freebsd-update-build X-SVN-Group: user X-SVN-Commit-Author: gordon X-SVN-Commit-Paths: user/cperciva/freebsd-update-build X-SVN-Commit-Revision: 365679 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Sep 2020 00:17:05 -0000 Author: gordon Date: Sun Sep 13 00:17:04 2020 New Revision: 365679 URL: https://svnweb.freebsd.org/changeset/base/365679 Log: Rework wait logic and add additional output. For some reason, the shell wait doesn't work and immediately returns. Instead, watch the temporary directories that are generated. Add some output to show how progres is going. Modified: user/cperciva/freebsd-update-build/build-upgrade-patches.sh Modified: user/cperciva/freebsd-update-build/build-upgrade-patches.sh ============================================================================== --- user/cperciva/freebsd-update-build/build-upgrade-patches.sh Sat Sep 12 23:54:57 2020 (r365678) +++ user/cperciva/freebsd-update-build/build-upgrade-patches.sh Sun Sep 13 00:17:04 2020 (r365679) @@ -5,6 +5,11 @@ if [ $# -lt 3 ]; then exit 1 fi +while [ $(ls -d ${TMPDIR:-/tmp}/genpatch* 2>/dev/null | wc -l) -gt 0 ]; do + echo "There appears to be evidence from previous runs in ${TMPDIR:-/tmp}/genpatch*...bailing" + exit 1 +done + BASEDIR=/usr/freebsd-update-server ARCH=$1 TARGETREL=$2 @@ -22,7 +27,14 @@ genpatch() { gunzip < ${WWWDIR}/${OR}/${ARCH}/f/${OH}.gz > ${tempdir}/${OH} gunzip < ${WWWDIR}/${NR}/${ARCH}/f/${NH}.gz > ${tempdir}/${NH} - bsdiff ${tempdir}/${OH} ${tempdir}/${NH} ${WWWDIR}/to-${TARGETREL}/${ARCH}/bp/${OH}-${NH} + bsdiff ${tempdir}/${OH} ${tempdir}/${NH} ${tempdir}/${OH}-${NH} + if [ $? -eq 0 ]; then + mv ${tempdir}/${OH}-${NH} ${WWWDIR}/to-${TARGETREL}/${ARCH}/bp/${OH}-${NH} + else + echo "Error generating patch ${OH}-${NH}, removing" + rm ${tempdir}/${OH}-${NH} + fi + rm ${tempdir}/${OH} ${tempdir}/${NH} rmdir ${tempdir} } @@ -42,6 +54,7 @@ done | echo "done" echo "Starting patch generation" +marker= zcat ${WWWDIR}/${TARGETREL}/${ARCH}/m/* | cut -f 3,4,9 -d '|' | fgrep '|f|' | @@ -55,6 +68,11 @@ zcat ${WWWDIR}/${TARGETREL}/${ARCH}/m/* | sort -k 2,2 -t '|' | tr '|' ' ' | while read OR OH NR NH; do + if [ "$(echo ${OH} | cut -c1)" != "$marker" ]; then + echo " working on $(echo ${OH} | cut -c1-4)...." + marker="$(echo ${OH} | cut -c1)" + fi + if [ -f ${WWWDIR}/to-${TARGETREL}/${ARCH}/bp/${OH}-${NH} ]; then continue fi @@ -75,6 +93,8 @@ zcat ${WWWDIR}/${TARGETREL}/${ARCH}/m/* | done echo -n "Finished spawning children, waiting for them to finish..." -wait +while [ $(ls -d ${TMPDIR:-/tmp}/genpatch* 2>/dev/null | wc -l) -gt 0 ]; do + sleep 2 +done echo "done" rm hashtab