Subject: Re: Please test bootstrap
To: None <>
From: Klaus Heinz <>
List: tech-pkg
Date: 11/05/2005 03:43:51

I tried to use the new bootstrap package on Unixware and it failed with
a similar error as for some other people (eg on Irix):

UX:test (./boot-strap): ERROR: Argument expected
=3D=3D=3D> exited with status 1

=46rom my investigation, I conclude that the successful build on NetBSD,
Linux and DragonFlyBSD depends on the fact that the result of

  [ -d $mksrc ]

in the file bmake/boot-strap on those systems is 0 while on Irix and
Unixware the shell considers this test illegal as written above.

Due to this fact, on Linux and NetBSD configure is called with=20


Then,  configure makes up a path for the mk-files out of thin air

  for mksrc in $mksrc $srcdir/mk $srcdir/../mk mk
        test -s $mksrc/install-mk && break

instead of failing (as it does if --with-mksrc specifies a path where
"install-mk" cannot be found).
During the following build of bmake, bmake.boot works because the
variable MAKESYSPATH contains as the first entry $prefix/share/mk where,
by pure coincidence :-), the pkgsrc bootstrap script has installed the
mk-files from bootstrap/{bmake/mk,mods/mk}.
Maybe we should install the mk-files in $prefix/share/mk _after_ the
build of bmake, the same way devel/bmake does it.

If I fix the test ("is $mksrc a directory?") with some "" around $mksrc,
it fails on NetBSD and Linux indeed and boot-strap complains, as probably
intended by the author.

This leaves the question how to synchronize between the mk-files between
bootstrap/bmake and devel/mkfiles. In the short term, I suggest to
continue using bootstrap/{bmake/mk,mods/mk} as those have worked in the