![Albert Hopkins](/assets/img/avatar_default.png)
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.
21 lines
564 B
Bash
Executable File
21 lines
564 B
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
RSYNC_MIRROR=${RSYNC_MIRROR:-rsync://mirrors.rit.edu/gentoo/}
|
|
arch=$1
|
|
g_arch=$(echo ${arch}|sed 's/i.86/x86/')
|
|
rsync="rsync --no-motd"
|
|
echo -n ${arch}:
|
|
|
|
latest=/releases/${g_arch}/autobuilds/latest-stage3.txt
|
|
|
|
${rsync} ${RSYNC_MIRROR}${latest} latest-stage3.txt
|
|
file=$(egrep -v 'nomultilib|hardened|uclibc|^#' latest-stage3.txt \
|
|
| grep -E ${arch}\|i686 |head -n 1 \
|
|
| cut -d ' ' -f 1)
|
|
|
|
file=/releases/${g_arch}/autobuilds/${file}
|
|
echo ${file}
|
|
${rsync} ${RSYNC_MIRROR}${file} stage3-${arch}-latest.tar.bz2
|
|
rm -f latest-stage3.txt
|