Subject: toolchain/33503: a fix for generating sets with MKDYNAMICROOT=no
To: None <toolchain-manager@netbsd.org, gnats-admin@netbsd.org,>
From: Greg A. Woods <woods@planix.com>
List: netbsd-bugs
Date: 05/17/2006 18:00:00
>Number:         33503
>Category:       toolchain
>Synopsis:       a fix for generating sets with MKDYNAMICROOT=no
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    toolchain-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed May 17 18:00:00 +0000 2006
>Originator:     Greg A. Woods
>Release:        NetBSD 3.0_STABLE
>Organization:
Planix, Inc.; Toronto, Ontario; Canada
>Environment:
System: NetBSD becoming 3.0_STABLE NetBSD 3.0_STABLE (GENERIC.MPACPI) #4: Wed Jan 18 23:48:04 EST 2006 root@whome.planix.com:/u1/netbsd-3.0-pf/obj.i386/sys/arch/i386/compile/GENERIC.MPACPI i386
Architecture: i386
Machine: i386
>Description:

	The MKDYNAMICROOT compile-time option is not yet supported by
	the install sets generation scripts and lists used when building
	a release.

>How-To-Repeat:

	Put "MKDYNAMICROOT=no" in your /etc/mk.conf, build a release,
	and then watch it blow up making sets.

>Fix:

	apply the following patches:
	(generated against the netbsd-3 branch)

Index: distrib/sets/lists/base/shl.mi
===================================================================
RCS file: /cvs/master/m-NetBSD/main/src/distrib/sets/lists/base/shl.mi,v
retrieving revision 1.304.2.6
diff -u -r1.304.2.6 shl.mi
--- distrib/sets/lists/base/shl.mi	17 Apr 2006 23:11:11 -0000	1.304.2.6
+++ distrib/sets/lists/base/shl.mi	10 May 2006 04:14:03 -0000
@@ -1,18 +1,18 @@
 # $NetBSD: shl.mi,v 1.304.2.6 2006/04/17 23:11:11 tron Exp $
 # Note: libtermcap and libtermlib are hardlinked and share the same version.
-./lib/libc.so.12.128.2				base-sys-shlib
-./lib/libcrypt.so.0.2				base-sys-shlib
-./lib/libcrypto.so.2.1				base-crypto-shlib	crypto
-./lib/libedit.so.2.9				base-sys-shlib
-./lib/libevent.so.0.2				base-sys-shlib
-./lib/libipsec.so.2.1				base-net-shlib
-./lib/libkvm.so.5.2				base-sys-shlib
-./lib/libm.so.0.2				base-sys-shlib
-./lib/libradius.so.0.0				base-sys-shlib
-./lib/libtermcap.so.0.5				base-sys-shlib
-./lib/libtermlib.so.0.5				base-sys-shlib
-./lib/libutil.so.7.6				base-sys-shlib
-./lib/libz.so.0.4				base-sys-shlib
+./lib/libc.so.12.128.2				base-sys-shlib		dynamicroot
+./lib/libcrypt.so.0.2				base-sys-shlib		dynamicroot
+./lib/libcrypto.so.2.1				base-crypto-shlib	crypto,dynamicroot
+./lib/libedit.so.2.9				base-sys-shlib		dynamicroot
+./lib/libevent.so.0.2				base-sys-shlib		dynamicroot
+./lib/libipsec.so.2.1				base-net-shlib		dynamicroot
+./lib/libkvm.so.5.2				base-sys-shlib		dynamicroot
+./lib/libm.so.0.2				base-sys-shlib		dynamicroot
+./lib/libradius.so.0.0				base-sys-shlib		dynamicroot
+./lib/libtermcap.so.0.5				base-sys-shlib		dynamicroot
+./lib/libtermlib.so.0.5				base-sys-shlib		dynamicroot
+./lib/libutil.so.7.6				base-sys-shlib		dynamicroot
+./lib/libz.so.0.4				base-sys-shlib		dynamicroot
 ./usr/lib/i18n/libBIG5.so.4.3			base-i18n-shlib
 ./usr/lib/i18n/libEUC.so.4.3			base-i18n-shlib
 ./usr/lib/i18n/libEUCTW.so.4.3			base-i18n-shlib
Index: distrib/sets/lists/base/shl.elf
===================================================================
RCS file: /cvs/master/m-NetBSD/main/src/distrib/sets/lists/base/shl.elf,v
retrieving revision 1.99
diff -u -r1.99 shl.elf
--- distrib/sets/lists/base/shl.elf	5 Mar 2005 18:05:14 -0000	1.99
+++ distrib/sets/lists/base/shl.elf	10 May 2006 04:13:58 -0000
@@ -1,32 +1,32 @@
 # $NetBSD: shl.elf,v 1.99 2005/03/05 18:05:14 tnozaki Exp $
 # Note: libtermcap and libtermlib are hardlinked and share the same version.
-./lib/libc.so					base-sys-shlib
-./lib/libc.so.12				base-sys-shlib
-./lib/libcrypt.so				base-sys-shlib
-./lib/libcrypt.so.0				base-sys-shlib
-./lib/libcrypto.so				base-crypto-shlib	crypto
-./lib/libcrypto.so.2				base-crypto-shlib	crypto
-./lib/libedit.so				base-sys-shlib
-./lib/libedit.so.2				base-sys-shlib
-./lib/libevent.so				base-sys-shlib
-./lib/libevent.so.0				base-sys-shlib
-./lib/libipsec.so				base-net-shlib
-./lib/libipsec.so.2				base-net-shlib
-./lib/libkvm.so					base-sys-shlib
-./lib/libkvm.so.5				base-sys-shlib
-./lib/libm.so					base-sys-shlib
-./lib/libm.so.0					base-sys-shlib
-./lib/libradius.so				base-sys-shlib
-./lib/libradius.so.0				base-sys-shlib
-./lib/libtermcap.so				base-sys-shlib
-./lib/libtermcap.so.0				base-sys-shlib
-./lib/libtermlib.so				base-sys-shlib
-./lib/libtermlib.so.0				base-sys-shlib
-./lib/libutil.so				base-sys-shlib
-./lib/libutil.so.7				base-sys-shlib
-./lib/libz.so					base-sys-shlib
-./lib/libz.so.0					base-sys-shlib
-./libexec/ld.elf_so				base-sys-shlib
+./lib/libc.so					base-sys-shlib		dynamicroot
+./lib/libc.so.12				base-sys-shlib		dynamicroot
+./lib/libcrypt.so				base-sys-shlib		dynamicroot
+./lib/libcrypt.so.0				base-sys-shlib		dynamicroot
+./lib/libcrypto.so				base-crypto-shlib	crypto,dynamicroot
+./lib/libcrypto.so.2				base-crypto-shlib	crypto,dynamicroot
+./lib/libedit.so				base-sys-shlib		dynamicroot
+./lib/libedit.so.2				base-sys-shlib		dynamicroot
+./lib/libevent.so				base-sys-shlib		dynamicroot
+./lib/libevent.so.0				base-sys-shlib		dynamicroot
+./lib/libipsec.so				base-net-shlib		dynamicroot
+./lib/libipsec.so.2				base-net-shlib		dynamicroot
+./lib/libkvm.so					base-sys-shlib		dynamicroot
+./lib/libkvm.so.5				base-sys-shlib		dynamicroot
+./lib/libm.so					base-sys-shlib		dynamicroot
+./lib/libm.so.0					base-sys-shlib		dynamicroot
+./lib/libradius.so				base-sys-shlib		dynamicroot
+./lib/libradius.so.0				base-sys-shlib		dynamicroot
+./lib/libtermcap.so				base-sys-shlib		dynamicroot
+./lib/libtermcap.so.0				base-sys-shlib		dynamicroot
+./lib/libtermlib.so				base-sys-shlib		dynamicroot
+./lib/libtermlib.so.0				base-sys-shlib		dynamicroot
+./lib/libutil.so				base-sys-shlib		dynamicroot
+./lib/libutil.so.7				base-sys-shlib		dynamicroot
+./lib/libz.so					base-sys-shlib		dynamicroot
+./lib/libz.so.0					base-sys-shlib		dynamicroot
+./libexec/ld.elf_so				base-sys-shlib		dynamicroot
 ./usr/lib/i18n/libBIG5.so			base-i18n-shlib
 ./usr/lib/i18n/libBIG5.so.4			base-i18n-shlib
 ./usr/lib/i18n/libEUC.so			base-i18n-shlib
Index: distrib/sets/lists/base/md.i386
===================================================================
RCS file: /cvs/master/m-NetBSD/main/src/distrib/sets/lists/base/md.i386,v
retrieving revision 1.109
diff -u -r1.109 md.i386
--- distrib/sets/lists/base/md.i386	11 Jan 2005 18:59:34 -0000	1.109
+++ distrib/sets/lists/base/md.i386	10 May 2006 03:59:22 -0000
@@ -10,9 +10,9 @@
 ./dev/ttyv6					base-obsolete		obsolete
 ./dev/ttyv7					base-obsolete		obsolete
 ./dev/vga					base-obsolete		obsolete
-./lib/libm387.so				base-sys-shlib
-./lib/libm387.so.0				base-sys-shlib
-./lib/libm387.so.0.0				base-sys-shlib
+./lib/libm387.so				base-sys-shlib		dynamicroot
+./lib/libm387.so.0				base-sys-shlib		dynamicroot
+./lib/libm387.so.0.0				base-sys-shlib		dynamicroot
 ./sbin/fdisk					base-sysutil-root
 ./sbin/ldconfig					base-sysutil-root
 ./usr/bin/fdformat				base-util-bin
Index: distrib/sets/sets.subr
===================================================================
RCS file: /cvs/master/m-NetBSD/main/src/distrib/sets/sets.subr,v
retrieving revision 1.39.2.1
diff -u -r1.39.2.1 sets.subr
--- distrib/sets/sets.subr	6 Apr 2005 21:25:18 -0000	1.39.2.1
+++ distrib/sets/sets.subr	9 May 2006 22:21:30 -0000
@@ -34,6 +34,7 @@
 	MKCVS		\
 	MKGCCCMDS	\
 	MKDOC		\
+	MKDYNAMICROOT	\
 	MKGDB		\
 	MKHESIOD	\
 	MKINFO		\
@@ -152,6 +153,7 @@
 #	crypto_rc5		${MKCRYPTO_RC5} != no
 #	cvs			${MKCVS} != no
 #	doc			${MKDOC} != no
+#	dynamicroot		${MKDYNAMICROOT} != no
 #	gcccmds			${MKGCCCMDS} != no
 #	gdb			${MKGDB} != no
 #	hesiod			${MKHESIOD} != no