From owner-freebsd-ports Fri Jan 26 9:20:21 2001 Delivered-To: freebsd-ports@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id B240D37B402 for ; Fri, 26 Jan 2001 09:20:01 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.1/8.11.1) id f0QHK1Z35591; Fri, 26 Jan 2001 09:20:01 -0800 (PST) (envelope-from gnats) Received: from slarti.muc.de (slarti.muc.de [193.149.48.10]) by hub.freebsd.org (Postfix) with SMTP id 4FD4937B401 for ; Fri, 26 Jan 2001 09:17:51 -0800 (PST) Received: (qmail 2317 invoked from network); 26 Jan 2001 17:17:48 -0000 Received: from jhs.muc.de (193.149.49.84) by slarti.muc.de with SMTP; 26 Jan 2001 17:17:48 -0000 Received: (from jhs@localhost) by jhs.muc.de (8.11.0/8.11.0) id f0QHH0V14737; Fri, 26 Jan 2001 17:17:00 GMT (envelope-from jhs) Message-Id: <200101261717.f0QHH0V14737@jhs.muc.de> Date: Fri, 26 Jan 2001 17:17:00 GMT From: jhs@freebsd.org Reply-To: jhs@freebsd.org To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.2 Subject: ports/24658: diff for [4.2-RELEASE] src/release/Makefile Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 24658 >Category: ports >Synopsis: Enhancement to src/release/Makefile >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Fri Jan 26 09:20:01 PST 2001 >Closed-Date: >Last-Modified: >Originator: Julian Stacey jhs@freebsd.org >Release: FreeBSD 4.2-RELEASE i386 >Organization: FreeBSD >Environment: - Building a release while the cvs tree is not frozen, & is thus subject to transient incoming inconsistencies from asynchronous commits to ports/. - Using my local generic FreeBSD 4.2-RELEASE i386 build engine. (not my customised personal host). >Description: This diff increases the chance of succesfully making a release without needing NOPORTS or NOPORTREADMES, even in the face of an inconsistent ports tree. EG in ports/audio/ extracted from ctm cvs-cur 7067: Makefile had SUBDIR+=ripit-atapi but ripit-atapi/ was already empty except for an empty files/ directory. That inconsistency broke make release. My patch should avoid similar future problems. (Historical note: By or before ctm cvs-cur 7073 the SUBDIR+= in ports/audio/Makefile was removed to match the empty ripit-atapi/ . But the older 4.2-WC-CDROM/Disc2/CVS-Repo/ports.tar.gz shows ports/audio/ripit-atapi/ with 11 files. ) >How-To-Repeat: Create an inconsistent cvs/ports subdir with a SUBDIR+= pointing to an empty directory, then wait for cvs -P used below to prune the empty directory to non existance & then `make readmes` (from `make release` fails. (Note `cd ports/audio; make readmes` does not fail on mere empty directories, but as cvs fails to create an empty directory, make fails) su ; cd /usr/src/release ; make release CHROOTDIR=/a_dir_with_a_gig_free \ MACHINE_ARCH=i386 RELEASETAG=RELENG_4_2_0_RELEASE \ PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games \ CVSROOT=/usr1/cvs BUILDNAME=4.2-RELEASE >Fix: Apply diff, (after removing some/all of comment block). *** 4.2-RELEASE/src/release/Makefile Fri Jan 26 15:17:08 2001 --- new/src/release/Makefile Fri Jan 26 16:01:30 2001 *************** *** 170,175 **** --- 169,185 ---- DOCREL= doc.1 .endif + # If you are an optimist & hope all 4000 ports are in perfect order, + # uncomment next line (or assert it on command line), + # PREANPORTS=-P + # else leave it commented out, if you prefer to waste a little space & have + # a better chance of having "make readmes" run to completion. + # 4.2-RELEASE ports/audio/ripit-atapi is an example of a directory containing + # just an empty directory "files". A cvs -P does not create ripit-atapi, + # but audio/Makefile has SUBDIR+= ripit-atapi, & hangs "make readmes" + # with 2 x "cd: can't cd to ripit-atapi" + # An alternate more drastic way to avoid make breaking is assert NOPORTREADMES + .if !defined(NOPORTREADMES) MAKEREADMES= make readmes PORTSDIR=${CHROOTDIR}/usr/ports .else *************** *** 222,230 **** .endif .if !defined(NOPORTS) .if defined(PORTSRELEASETAG) ! cd ${CHROOTDIR}/usr && rm -rf ports && cvs -R -d ${CVSROOT} co -P -r ${PORTSRELEASETAG} ${RELEASEPORTSMODULE} && cd ports && ${MAKEREADMES} .else ! cd ${CHROOTDIR}/usr && rm -rf ports && cvs -R -d ${CVSROOT} co -P ${RELEASEPORTSMODULE} && cd ports && ${MAKEREADMES} .endif .endif .if !defined(NODOC) --- 232,240 ---- .endif .if !defined(NOPORTS) .if defined(PORTSRELEASETAG) ! cd ${CHROOTDIR}/usr && rm -rf ports && cvs -R -d ${CVSROOT} co ${PREANPORTS} -r ${PORTSRELEASETAG} ${RELEASEPORTSMODULE} && cd ports && ${MAKEREADMES} .else ! cd ${CHROOTDIR}/usr && rm -rf ports && cvs -R -d ${CVSROOT} co ${PREANPORTS} ${RELEASEPORTSMODULE} && cd ports && ${MAKEREADMES} .endif .endif .if !defined(NODOC) *************** *** 246,252 **** cd ${CHROOTDIR}/usr/src && cvs -R -q update -P -d -r ${RELEASETAG} .endif .if !defined(NOPORTS) ! cd ${CHROOTDIR}/usr/ports && cvs -R -q update -P -d .endif .if !defined(NODOC) cd ${CHROOTDIR}/usr/doc && cvs -R -q update -P -d --- 256,262 ---- cd ${CHROOTDIR}/usr/src && cvs -R -q update -P -d -r ${RELEASETAG} .endif .if !defined(NOPORTS) ! cd ${CHROOTDIR}/usr/ports && cvs -R -q update ${PREANPORTS} -d .endif .if !defined(NODOC) cd ${CHROOTDIR}/usr/doc && cvs -R -q update -P -d >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message