From owner-freebsd-current@FreeBSD.ORG Sun Jul 13 09:49:42 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AF6A237B401; Sun, 13 Jul 2003 09:49:42 -0700 (PDT) Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by mx1.FreeBSD.org (Postfix) with ESMTP id 31CC243F3F; Sun, 13 Jul 2003 09:49:41 -0700 (PDT) (envelope-from bde@zeta.org.au) Received: from gamplex.bde.org (katana.zip.com.au [61.8.7.246]) by mailman.zeta.org.au (8.9.3p2/8.8.7) with ESMTP id CAA14538; Mon, 14 Jul 2003 02:49:17 +1000 Date: Mon, 14 Jul 2003 02:49:16 +1000 (EST) From: Bruce Evans X-X-Sender: bde@gamplex.bde.org To: Tim Kientzle In-Reply-To: <3F117C26.7080100@acm.org> Message-ID: <20030714021543.O4685@gamplex.bde.org> References: <20030712165749.GA14599@colocall.net> <3F104A71.7060906@acm.org> <3F105499.BC7768C0@mindspring.com> <3F10576E.3060904@acm.org> <20030713095642.B1771@gamplex.bde.org> <3F10B60C.3000106@acm.org> <20030713123229.A2435@gamplex.bde.org> <3F117C26.7080100@acm.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: jmallett@freebsd.org cc: freebsd-current@freebsd.org cc: Andrey Elperin Subject: Re: make release of CURRENT on 4.7 box X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Jul 2003 16:49:43 -0000 On Sun, 13 Jul 2003, Tim Kientzle wrote: > Bruce Evans wrote: > > I think splitting it or making it exit after just setting variables > > in the userland case is the right fix. ... [it == newvers.sh] > > I think you're right, but don't see a very simple way to make that > work, especially given the surprising number of places > that newvers.sh is used. I think there aren't so many -- only kernel Makefiles and src/include/Makefile. There seems to be a simple way due to bitrot. $1 in newvers.sh is not set when newvers.sh is invoked from src/include/Makefile, but it seems to always be set when newvers.sh is invoked from kernel Makefiles, due to garbage in the latter. The garbage is now centralized in sys/conf/kern.post.mk: sh $S/conf/newvers.sh ${KERN_IDENT} ^^^^^^^^^^^^^ This passes an unused variable to newvers.sh. Passing and use of this variable was removed in 4.4BSD-Lite1, but FreeBSD's kernel Makefiles are based on Net/2 and haven't caught up with this change yet, while FreeBSD's newvers.sh is based on the Lite1 so it has the change. This variable became needed again in newvers.sh last month, but it wasn't used; the make -V hack was used instead. Some relevant uses and non-uses of $1 in newvers.sh: %%% FreeBSD rev.1.1 (same as Net/2?) echo "char version[] = \"version: ${v} ($1) ${t}\";" ^^^^ FreeBSD-1.1.5: echo "const char version[] = \"${kernvers} ($1) #${v}: ${t}\\n ${user}@${host}:${dir}\\n\";" ^^^^ 4.4BSD-Lite1: echo "char version[] = \"4.4BSD-Lite #${v}: ${t}\\n ${u}@${h}:${d}\\n\";" >>vers.c [No $1's here or elsewhere in newvers.sh] -current: i=`make -V KERN_IDENT` ... char version[] = "${VERSION} #${v}: ${t}\\n ${u}@${h}:${d}\\n"; ... char kern_ident[] = "${i}"; [No $1's here or elsewhere in newvers.sh, but I think $i is always the same as $1.] %%% So removing the make -V line and just using $1 should fix the main problem and the bitrot. Bruce