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

From: Ruslan Ermilov <ru_at_FreeBSD.org>
Date: Fri, 2 Dec 2005 18:04:23 +0200
On Fri, Dec 02, 2005 at 06:41:03AM -0800, Doug Ambrisko wrote:
> Ruslan Ermilov writes:
> | 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.
> 
> Yep, I'll steal the section from uname.  One thing that bothers me
> a little is that uname(1) should just use uname(3) to get stuff
> instead of sysctl.  There might be a reason for it to not use uname(3)
> but I can't see it.
> 
uname(3) doesn't know about all things that uname(1) knows, e.g.,
-p and -i.  (See also the commit log for __xuname.c#1.8.)


Cheers,
-- 
Ruslan Ermilov
ru_at_FreeBSD.org
FreeBSD committer

Received on Fri Dec 02 2005 - 16:05:29 UTC