From owner-freebsd-bugs Sat Mar 22 1:40:18 2003 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D7CE237B401 for ; Sat, 22 Mar 2003 01:40:15 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 71E5243F85 for ; Sat, 22 Mar 2003 01:40:15 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.6/8.12.6) with ESMTP id h2M9eFNS028712 for ; Sat, 22 Mar 2003 01:40:15 -0800 (PST) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.6/8.12.6/Submit) id h2M9eFjv028711; Sat, 22 Mar 2003 01:40:15 -0800 (PST) Date: Sat, 22 Mar 2003 01:40:15 -0800 (PST) Message-Id: <200303220940.h2M9eFjv028711@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org Cc: From: Ceri Davies Subject: Re: misc/50106: Make 'make release' more flexible behind FWs and local patches Reply-To: Ceri Davies Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org The following reply was made to PR misc/50106; it has been noted by GNATS. From: Ceri Davies To: FreeBSD Gnats Submit Cc: Subject: Re: misc/50106: Make 'make release' more flexible behind FWs and local patches Date: Sat, 22 Mar 2003 09:30:36 +0000 Adding to audit trail, from pending/50137 : Message-Id: <200303200648.HAA17570@marabu.marabu.ch> Date: Thu, 20 Mar 2003 07:48:27 +0100 From: Adrian Steinmann To: freebsd-gnats-submit@FreeBSD.org, ast@marabu.ch As it stood in its first version, PR 50106 was kind of suboptimal for two reasons: 1) it expected LOCAL_PATCHES to be relative to CHROOTDIR and not CHROOTDIR/usr/src, which is the traditional root for src patches. 2) if say, NOPORTS=yes was specified, make release failed because when the patch was applied it returns non-zero when it tried to patch a nonexisting file (in spite of PATCH_FLAGS=--batch). I work around this by not using the LOCAL_PATCHES hook at all but doing the local patching in the moved-down LOCAL_SCRIPT like this: patch ${PATCH_FLAGS} < ${MY_LOCAL_PATCHES} || true making sure that MY_LOCAL_PATCHES is exported into in the 'make release' environment, and hence the LOCAL_SCRIPT. Attached is a slightly modified patch which just "moves down" running of the LOCAL_SCRIPT and leaves the traditional LOCAL_PATCHES where it has always been, respecting the POLA. Another approach would be to have a third hook LOCAL_PORT_PATCHES which are relative to CHROOTDIR/usr/ports, those would be protected by the existing .if ! defined (NOPORTS) ... .endif clauses within release/Makefile. Nevertheless, I advocate having LOCAL_SCRIPT after all checkouts are done, i.e. please commit at least that part of the patch! Index: usr/src/release/Makefile =================================================================== RCS file: /usr/cvs/src/release/Makefile,v retrieving revision 1.536.2.106 diff -u -r1.536.2.106 Makefile --- usr/src/release/Makefile 17 Mar 2003 05:50:32 -0000 1.536.2.106 +++ usr/src/release/Makefile 19 Mar 2003 21:57:08 -0000 @@ -288,9 +288,6 @@ .if defined(LOCAL_PATCHES) && exists(${LOCAL_PATCHES}) cd ${CHROOTDIR}/usr/src && patch ${PATCH_FLAGS} < ${LOCAL_PATCHES} .endif -.if defined(LOCAL_SCRIPT) && exists(${LOCAL_SCRIPT}) - cd ${CHROOTDIR} && env CHROOTDIR=${CHROOTDIR} BUILDNAME=${BUILDNAME} RELEASETAG=${RELEASETAG} ${LOCAL_SCRIPT} -.endif .if !defined(NOPORTS) .if defined(PORTSRELEASETAG) cd ${CHROOTDIR}/usr && rm -rf ports && cvs -R -d ${CVSROOT} co ${CVSCMDARGS} -P -r ${PORTSRELEASETAG} ${RELEASEPORTSMODULE} @@ -325,6 +322,9 @@ .endif .endif .endif +.if defined(LOCAL_SCRIPT) && exists(${LOCAL_SCRIPT}) + cd ${CHROOTDIR} && env CHROOTDIR=${CHROOTDIR} BUILDNAME=${BUILDNAME} RELEASETAG=${RELEASETAG} ${LOCAL_SCRIPT} +.endif .if make(rerelease) .if !defined(RELEASENOUPDATE) .if !defined(RELEASETAG) @@ -356,6 +356,8 @@ echo "_RELTARGET=\$${1:-doRELEASE}" >> ${CHROOTDIR}/mk echo "export MODULES_WITH_WORLD=YES" >> ${CHROOTDIR}/mk .for var in \ + OSREL \ + OSVERSION \ AUTO_KEYBOARD_DETECT \ BOOT_CONFIG \ BUILDNAME \ @@ -826,6 +828,8 @@ @for i in ${DOCPORTS}; do \ cd /usr/ports/$$i && \ env -i FTP_PASSIVE_MODE=$${FTP_PASSIVE_MODE:-no} PATH=$${PATH} \ + OSREL=$${OSREL} OSVERSION=$${OSVERSION} \ + HTTP_PROXY=$${HTTP_PROXY} FTP_PROXY=$${FTP_PROXY} \ make all install clean BATCH=yes WITHOUT_X11=yes JADETEX=no \ WITHOUT_PYTHON=yes FORCE_PKG_REGISTER=yes; \ done To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message