Subject: Re: bootstrap re-engineering status?
To: Simon Gerraty <email@example.com>
From: Jeremy C. Reed <firstname.lastname@example.org>
Date: 11/11/2005 10:55:52
On Fri, 11 Nov 2005, Simon Gerraty wrote:
>> testing bootstrap on a system without pkgsrc installed anywhere, so
>> there is no mk.conf that could be causing a problem.
> I'd have to assume its either local changes (I don't mean yours),
> in pkgsrc.*bmake, or possibly something in pkgsrc/mk
The devel/bmake and bootstrap/bmake don't use the mk-20051104.
bootstrap/bmake uses the mk files as were already installed via the
bootstrap. (I don't think I made any changes there.)
I made my own devel/mk include the mk files in devel/mk/files and tried
using them for the bootstrap but had various failures. For example, on
DragonFly, something made the DragonFly's native mk files take precedence
and so X11BASE was always /usr/X11R6.
And the differences between three sets of mk files were too much for me to
review: native /usr/share/mk, pkgsrc/devel/mk and pkgsrc/bootstrap/*/mk.
I will try again with this newest bmake and mk-20051104 and see how it
Soem of the related steps from the bootstrap/bootstrap:
If pkgsrc/bootstrap/mods/mk/$opsys.sys.mk exists then copy it to
$prefix/share/mk/sys.mk else use the mods/mk/generic.sys.mk.
Copies the pkgsrc/bootstrap/bmake/mk/bsd.*.mk to $prefix/share/mk/.
If mods/mk/$opsys.bsd.lib.mk exists then copies it in place as bsd.lib.mk.
If mods/mk/$opsys.bsd.man.mk exists then copies it in place as bsd.man.mk.
If mods/mk/$opsys.bsd.own.mk exists, then uses it. Modifies the bsd.own.mk
to set the root user, root group and $sysconfdir. Copies in place the
If mods/mk/$opsys.bsd.prog.m exists, then copies in place as bsd.prog.mk.
If mods/mk/$opsys.bsd.sys.mk exists, copies in place as bsd.sys.mk.
Then builds and installs bmake:
cd $wrkdir/bmake && env CPPFLAGS='$CPPFLAGS -I../../libnbcompat' LDFLA
GS='$LDFLAGS -L../../libnbcompat' LIBS='-lnbcompat' $shprog ./boot-strap
-q -o $opsys --prefix=$prefix --sysconfdir=$sysconfdir --mksrc none
install-sh -c -o $user -g $group -m 755 $wrkdir/bmake/$opsys/bmake $prefix/bin/bmake
Should I jsut remove all the custom mk files from bootstrap and just use
Anyone else want to look at working on this too?
Over the past couple months, I have probably ran the bootstrap well over a
hundred times on a few different platforms :)
Jeremy C. Reed
BSD News, BSD tutorials, BSD links