Use /var/db/obsolete instead of /etc/obsolete
etc/Makefile:
Create separate target "install-obsolete-files" to populate
/var/db/obsolete, instead of using "install-etc-files".
Makefile:
Add do-obsolete target, to run "cd etc && make install-obsolete-files",
and add this to BUILDTARGETS.
This moves the "obsolete files" creation from "distribution" to "build".
Per discussion with Andrew Brown.
- filenames in obsolete sets start with "./" not "/" (i changed that a
while ago, and forgot to update this)
- only call target_prefix() once, not for each filename parsed...
- look for obsolete lists in /etc/obsolete/%s instead of /dist/%s_obsolete
- md_set_no_x() was turning off the "misc" and "text" sets and
not turning off the "xcomp" and "xmisc" sets.
- now that a kernel is installed as "/netbsd" by default, do not
try to symlink (!) from /netbsd-GENERIC (which does not exist)
to /netbsd.
also:
- instead of printing the 3 kernel sets all as "Kernel : ",
now use "Kernel : ", "Kernel(SCSI3): " and "Kernel(SUN4U): "
- add a note to md.c and the menus.md.* files to keep these lists
in sync (so that the first problem above does not occur again.)
missing:
- a way to force that one and only one of the 3 kernel sets are
selected. at least the default install works now.
-e arg to abort after first error.
This means the extract process doesn't spew seemingly-endless
"No space left on device" if the destination partition fills.
Handle the "use existing" option for partitions (but keep d as the
boot partition).
While I'm there use get_real_geom() instead of custom code to get the
existing disklabel.
and prompt the user for a new archive.
(No idea if this solves the infamous "sysinst random coredump" problem,
but it's worth a shot, and makes sense in any case)
There's two variables added to Makefile.crunch:
SMALLPROG If 1, add SMALLPROG=1 to CRUNCHENV. [default: 1]
This can be used by various Makefiles to
determine if a `small' version of the program
is required.
SMALLPROG_INET6 If 1 and SMALLPROG == 1, add SMALLPROG_INET6=1
to CRUNCHENV. [default: 0]
This can be used by various Makefiles to
determine if the `small' version has INET6
support enabled.
Only enable SMALLPROG_INET6 for programs on the ramdisks that have INET6 in
the appropriate kernel, and cleanup INET6 setting.
(Note: this means that sysinst won't get INET6 support if the kernel
it's running on doesn't have it).
This change saves a fair bit of space on various install images
(including i386 ramdisk-{ps2,small,tiny}) that didn't have INET6 in
the kernel but were unconditionally getting INET6 support in their tools.