Subject: bootstrap still broken?
To: None <tech-pkg@NetBSD.org>
From: John D. Baker <jdbaker@mylinuxisp.com>
List: tech-pkg
Date: 12/10/2005 16:15:24
What is the status of pkgsrc/bootstrap?  I was finally able to set up
another system for the purpose (initially) of testing this, but it appears
that the problems I read about most recently (which is not all that recent
anymore) persist.  Namely that 'bmake' fails tests.

The system is MacOS X 10.3.9 on an original iMac.  pkgsrc is NFS mounted,
so the workdir is redirected to a local disk.  Bootstrap is invoked as
follows:

    225 [sysop@bondi:/usr/pkgsrc/bootstrap]$ sudo \
    ./bootstrap --varbase /usr/pkg/var --pkgdbdir /usr/pkg/var/db/pkg \
                --sysconfdir /usr/pkg/etc --workdir /Volumes/NetBSD/tmp

All goes well up to a point, and then there are problems:

[...]
diff -u /Volumes/NetBSD/tmp/bmake/unit-tests/test.exp test.out
--- /Volumes/NetBSD/tmp/bmake/unit-tests/test.exp       Thu Dec  8 16:11:18 2005
+++ test.out    Thu Dec  8 16:14:12 2005
@@ -1,54 +1,15 @@
 comment testing start
-this is foo
-This is how a comment looks: # comment
-comment testing done
 make: "cond1" line 75: warning: extra else
 make: "cond1" line 85: warning: extra else
-2 is  prime
-A='other' B='unknown' C='clever' o='no,no'
-Passed:
- var
- ("var")
- (var != var)
- var != var
- !((var != var) && defined(name))
- var == quoted
-
-1 is not prime
-2 is  prime
-3 is  prime
-4 is not prime
-5 is  prime
+make: no target to make.

+make: stopped in unit-tests
 LIB=a X_LIBS:M${LIB${LIB:tu}} is "/tmp/liba.a"
 LIB=a X_LIBS:M*/lib${LIB}.a is "/tmp/liba.a"
 LIB=a X_LIBS:M*/lib${LIB}.a:tu is "/TMP/LIBA.A"
-LIB=b X_LIBS:M${LIB${LIB:tu}} is ""
-LIB=b X_LIBS:M*/lib${LIB}.a is ""
-LIB=b X_LIBS:M*/lib${LIB}.a:tu is ""
-LIB=c X_LIBS:M${LIB${LIB:tu}} is ""
-LIB=c X_LIBS:M*/lib${LIB}.a is ""
-LIB=c X_LIBS:M*/lib${LIB}.a:tu is ""
-LIB=d X_LIBS:M${LIB${LIB:tu}} is "/tmp/libd.a"
-LIB=d X_LIBS:M*/lib${LIB}.a is "/tmp/libd.a"
-LIB=d X_LIBS:M*/lib${LIB}.a:tu is "/TMP/LIBD.A"
-LIB=e X_LIBS:M${LIB${LIB:tu}} is "/tmp/libe.a"
-LIB=e X_LIBS:M*/lib${LIB}.a is "/tmp/libe.a"
-LIB=e X_LIBS:M*/lib${LIB}.a:tu is "/TMP/LIBE.A"
-LIST      = one two three four five six seven eigth nine ten
-LIST:O    = eigth five four nine one seven six ten three two
-# Note that 1 in every 10! trials two independently generated
-# randomized orderings will be the same.  The test framework doesn't
-# support checking probabilistic output, so we accept that the test
-# will incorrectly fail with probability 2.8E-7.
-LIST:Ox   = Ok
-LIST:O:Ox = Ok
-LISTX     = Ok
-LISTSX    = Ok
-make: Bad modifier `:OX' for LIST
-BADMOD 1  = }
-make: Bad modifier `:OxXX' for LIST
-BADMOD 2  = XX}
+make: no target to make.
+
+make: stopped in unit-tests
 LIST="one two three four five six"
 LIST:ts,="one,two,three,four,five,six"
 LIST:ts/:tu="ONE/TWO/THREE/FOUR/FIVE/SIX"
@@ -182,59 +143,13 @@
 LIST:[${LONGLIST:[21]:S/2//}]="one"
 LIST:[${LIST:[#]}]="six"
 LIST:[${LIST:[${HASH}]}]="six"
-LIST:S/ /,/="one two three four five six"
-LIST:S/ /,/W="one,two three four five six"
-LIST:S/ /,/gW="one,two,three,four,five,six"
-EMPTY:S/^/,/=","
-EMPTY:S/^/,/W=","
-LIST:C/ /,/="one two three four five six"
-LIST:C/ /,/W="one,two three four five six"
-LIST:C/ /,/gW="one,two,three,four,five,six"
-EMPTY:C/^/,/=","
-EMPTY:C/^/,/W=","
-LIST:tW="one two three four five six"
-LIST:tw="one two three four five six"
-LIST:tW:C/ /,/="one,two three four five six"
-LIST:tW:C/ /,/g="one,two,three,four,five,six"
-LIST:tW:C/ /,/1g="one,two,three,four,five,six"
-LIST:tw:C/ /,/="one two three four five six"
-LIST:tw:C/ /,/g="one two three four five six"
-LIST:tw:C/ /,/1g="one two three four five six"
-LIST:tw:tW:C/ /,/="one,two three four five six"
-LIST:tW:tw:C/ /,/="one two three four five six"
 Posix says we should execute the command as if run by system(3)
 Expect 'Hello,' and 'World!'
 Hello,
 World!
-a command
-a command prefixed by '+' executes even with -n
-another command
-make -n
-echo a command
-echo "a command prefixed by '+' executes even with -n"
-a command prefixed by '+' executes even with -n
-echo another command
-make -n -j1
-{ echo a command
-} || exit $?
-echo "a command prefixed by '+' executes even with -n"
-a command prefixed by '+' executes even with -n
-{ echo another command
-} || exit $?
-Now we expect an error...
-*** Error code 1 (continuing)
-`all' not remade because of errors.
 The answer is unknown
 The answer is unknown
 The answer is empty
-The answer is known
-The answer is
-The answer is empty
-The answer is known
-The answer is 42
-The answer is 42
 default FU=<v>fu</v> FOO=<v>foo</v> VAR=<v></v>
-two FU=<v>bar</v> FOO=<v>goo</v> VAR=<v></v>
-three FU=<v>bar</v> FOO=<v>goo</v> VAR=<v></v>
-four FU=<v>bar</v> FOO=<v>goo</v> VAR=<v>Internal</v>
-show FU=<v>bar</v> FOO=<v>goo</v> VAR=<v>Internal</v>
+*** Error code 2 (ignored)
+*** Error code 2 (ignored)
*** Error code 1

Stop.
bmake: stopped in /Volumes/NetBSD/tmp/bmake/Darwin/unit-tests
*** Error code 1

Stop.
bmake: stopped in /Volumes/NetBSD/tmp/bmake/Darwin
make: *** [bootstrap] Error 1
===> exited with status 1
aborted.
226 [sysop@bondi:/usr/pkgsrc/bootstrap]$


Are other non-NetBSD systems still having problems?  There was mention
of building devel/bmake independently from the bootstrap procedure and
that it appeared to work.  Is that a suitable workaround?  The other
bits like digest and pkgtools/pkg_install could then be built through
the usual pkgsrc mechanisms, I suppose.

Thanks.

-- 
John D. Baker, KN5UKS                    NetBSD     Darwin/MacOS X
jdbaker(at)mylinuxisp(dot)com                 OpenBSD            FreeBSD
BSD -- It just sits there and _works_!
GPG fingerprint:  D703 4A7E 479F 63F8 D3F4  BD99 9572 8F23 E4AD 1645