cvs commit: src Makefile.inc1 src/lib/libc/gen __xuname.c getosreldate.c

juli mallett jmallett at FreeBSD.org
Fri Dec 2 08:34:58 GMT 2005


* Ruslan Ermilov <ru at FreeBSD.org> [ Date: 2005-12-01 ]
	[ w.r.t. Re: cvs commit: src Makefile.inc1 src/lib/libc/gen __xuname.c getosreldate.c ]
> Hi Doug,
> 
> On Fri, Dec 02, 2005 at 12:50:30AM +0000, Doug Ambrisko wrote:
> > ambrisko    2005-12-02 00:50:30 UTC
> > 
> >   FreeBSD src repository
> > 
> >   Modified files:
> >     .                    Makefile.inc1 
> >     lib/libc/gen         __xuname.c getosreldate.c 
> >   Log:
> >   Add support to easily build FreeBSD unpacked in a chroot of another
> >   FreeBSD machine.  To do this add the man 1 uname changes to __xuname.c
> >   so we can override the settings it reports.  Add OSVERSION override
> >   to getosreldate.  Finally which Makefile.inc1 to use uname -m instead
> >   of  sysctl -n hw.machine_arch to get the arch. type.
> >   
> >   With these change you can put a complete FreeBSD OS image into a
> >   chroot set:
> >           UNAME_s=FreeBSD
> >           UNAME_r=4.7-RELEASE
> >           UNAME_v="FreeBSD $UNAME_r #1: Fri Jul 22 20:32:52 PDT 2005 fake at fake:/usr/obj/usr/src/sys/FAKE"
> >           UNAME_m=i386
> >           UNAME_p=i386
> >           OSVERSION=470000
> >   on an amd64 or i386 and it just work including building ports and using
> >   pkg_add -r etc.  The caveat for this example is that these patches
> >   have to be applied to FreeBSD 4.7 and the uname(1) changes need to
> >   be merged.  This also addresses issue with libtool.
> >   
> >   This is usefull for when a build machine has been trashed for an
> >   old release and we want to do a build on a new machine that FreeBSD
> >   4.7 won't run on ...
> >   
> >   Revision  Changes    Path
> >   1.525     +1 -1      src/Makefile.inc1
> >   1.10      +8 -0      src/lib/libc/gen/__xuname.c
> >   1.8       +5 -0      src/lib/libc/gen/getosreldate.c
> > 
> Please document these changes in ENVIRONMENT sections of uname(3) and
> getosreldate(3) manpages, similarly to how this is documented in the
> uname(1) manpage.

And please, god, remove the ungodly mess I made of uname.c, now that it's
pushed down to the right layer.  Mine was a hack, and is now superfluous.  Might
make sense to use more logical environment variables than my hack did, though
maybe they're already cemented into mainstream use.

Thanx a bunch,
juli.
-- 
Go to sleep.  Go to sleep.  Go to sleep.


More information about the cvs-src mailing list