Date: Mon, 14 Jul 2003 22:00:09 -0500 From: Juli Mallett <jmallett@FreeBSD.org> To: Bruce Evans <bde@zeta.org.au> Cc: Tim Kientzle <kientzle@acm.org> Subject: Re: make release of CURRENT on 4.7 box Message-ID: <20030714220009.A21520@FreeBSD.org> In-Reply-To: <20030714021543.O4685@gamplex.bde.org>; from bde@zeta.org.au on Mon, Jul 14, 2003 at 02:49:16AM %2B1000 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> <20030714021543.O4685@gamplex.bde.org>
next in thread | previous in thread | raw e-mail | index | archive | help
* Bruce Evans <bde@zeta.org.au> [ Date: 2003-07-13 ] [ w.r.t. Re: make release of CURRENT on 4.7 box ] > 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. Go for it. Thanx, juli. -- juli mallett. email: jmallett@freebsd.org; efnet: juli; aim: bsdflata; i have lost my way home early - i don't care cause i won't stay there.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030714220009.A21520>