* Exclude some files from the stage3 tarball to be installed in the chroot.
This reduces the number of etc-updates that need to be process.
* Manually eselect profile. This is needed now because /etc/portage/make.profile
is excluded above.
* Use m4 and a template (in file) to create /etc/fstab instead of using sed.
* Add a "software" target. This is mainly used for development.
The GRUB 1 configuration hasn't been working in a while and-- let's face
it-- it's time. So now we have GRUB 2.
It should still work with a serial console though I haven't tested it yet.
This change converts the appliances from openrc to systemd. In addition,
systemd needs to at least be be installed on the build machine as we now
use systemd-nspawn instead of chroot/bind mounts do to the fact that
systemd-nspawn is much more robust and lese prone to errors. In addition:
* All stage4 tarballs and images are now stored in the images/ directory by
default.
* A package dir is now required and is set up in the packages/ directory by
default.
* The portage directory is not unpacked in the chroot every time anymore
and is instead bind-mounted from a directory by systemd-nspawn. This is
the portage/ directory by default.
* In addition there is a distfiles/ directory (by default) which is
bind-mounted in the chroot. It does what you'd probably expect.
* The Makefile learned new target, eclean, which will run eclean-dist and
eclean-pkg to clean out obsolete distfiles and binary packages.
* The REMOVE_PORTAGE_TREE option is removed as portage is no longer
installed.
* The unused/untested PRUNE_CRITICAL functionality has been removed. I
have no idea if it worked and if it didn't I didn't want to fix it.
* As appliances are always using systemd, UDEV is no longer optional.
* Timezones and hostnames are now handled by systemd (systemd-firstboot).
* Stage4 tarballs are now directly importable as systemd containers (and
probably docker too though I haven't tested that yet).
* A number of packages (for example dhcpd, acpid) have been removed from the
appliances when systemd provides equivalent functionality.
* We no longer override etc-update.conf. There's no reason.
* A number of Makefile targets, checkpoints, temp files, etc have been
removed as they are no longer needed.
I thought I had committed this already. Since appliances/images may be
distributed, we should have bindist set. It only took me nearly 5 years to
fix this bug.