make release of CURRENT on 4.7 box

Bruce Evans bde at
Sun Jul 13 09:49:43 PDT 2003

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 ==]
> 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 is used.

I think there aren't so many -- only kernel Makefiles and

There seems to be a simple way due to bitrot.  $1 in is
not set when is invoked from src/include/Makefile, but
it seems to always be set when is invoked from kernel
Makefiles, due to garbage in the latter.  The garbage is now
centralized in sys/conf/

        sh $S/conf/ ${KERN_IDENT}

This passes an unused variable to  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 is based on the Lite1 so it has
the change.  This variable became needed again in last
month, but it wasn't used; the make -V hack was used instead.

Some relevant uses and non-uses of $1 in

FreeBSD rev.1.1 (same as Net/2?)
  echo "char version[] = \"version: ${v} ($1) ${t}\";"

  echo "const char version[] = \"${kernvers} ($1) #${v}: ${t}\\n  ${user}@${host}:${dir}\\n\";"

echo "char version[] = \"4.4BSD-Lite #${v}: ${t}\\n    ${u}@${h}:${d}\\n\";" >>vers.c
[No $1's here or elsewhere in]

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, 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.


More information about the freebsd-current mailing list