From 7910a2fb640b378c48be1dc3a58a07f051a70998 Mon Sep 17 00:00:00 2001 From: Brett Parker Date: Sat, 18 Aug 2018 16:37:07 +0100 Subject: [PATCH] Add support for archive'd releases, remove some profanity --- templates/lxc-debian-unprivileged | 39 +++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/templates/lxc-debian-unprivileged b/templates/lxc-debian-unprivileged index dd7bdaf..87559bd 100755 --- a/templates/lxc-debian-unprivileged +++ b/templates/lxc-debian-unprivileged @@ -96,7 +96,8 @@ fi eval set -- "$options" -DEBIAN_MIRROR="http://mirror.mythic-beasts.com/debian/" +DEBIAN_MIRROR_DEFAULT="http://mirror.mythic-beasts.com/debian/" +DEBIAN_MIRROR=$DEBIAN_MIRROR_DEFAULT DEBIAN_RELEASE="jessie" NETWORK_CONFIG="" @@ -130,6 +131,12 @@ while :; do esac done +if [ "$DEBIAN_RELEASE" == "squeeze" ] || [ "$DEBIAN_RELEASE" == "lenny" ] || [ "$DEBIAN_RELEASE" == "etch" ]; then + if [ "$DEBIAN_MIRROR" == "$DEBIAN_MIRROR_DEFAULT" ]; then + DEBIAN_MIRROR="http://archive.debian.org/debian/" + fi +fi + INTERFACE_DEFAULTS="auto eth0 iface eth0 inet dhcp" @@ -300,7 +307,18 @@ chmod 755 "${LXC_PATH}/bin/mknod" export PATH="${LXC_PATH}/bin:$PATH" -debootstrap --foreign --include debian-archive-keyring,ifupdown,isc-dhcp-client,locales,openssh-server $DEBIAN_RELEASE "${LXC_ROOTFS}" $DEBIAN_MIRROR +DEBOOTSTRAPOPTIONS="" +STANDARDPACKAGES="debian-archive-keyring,ifupdown,isc-dhcp-client,locales,openssh-server" + +if [ "$DEBIAN_RELEASE" == "squeeze" ] || [ "$DEBIAN_RELEASE" == "lenny" ] || [ "$DEBIAN_RELEASE" == "etch" ]; then + DEBOOTSTRAPOPTIONS="--no-check-gpg" +fi + +if [ "$DEBIAN_RELEASE" == "lenny" ] || [ "$DEBIAN_RELEASE" == "etch" ]; then + STANDARDPACKAGES="debian-archive-keyring,ifupdown,locales,openssh-server" +fi + +debootstrap $DEBOOTSTRAPOPTIONS --foreign --include "${STANDARDPACKAGES}" $DEBIAN_RELEASE "${LXC_ROOTFS}" $DEBIAN_MIRROR echo "DEBOOTSTRAP STAGE 1 COMPLETE" @@ -319,7 +337,12 @@ if [ -e "$LXC_ROOTFS/debootstrap/devices.tar.gz" ]; then (cd "$LXC_ROOTFS/debootstrap" && rm devices.tar.gz && tar czvf devices.tar.gz --files-from=/dev/null) fi -# and mount a shitload of things for fun and profit... +# if squeeze, which is totally out of date, then ignore release file expired +if [ "$DEBIAN_RELEASE" == "squeeze" ]; then + echo 'Acquire::Check-Valid-Until "0";' > ${LXC_ROOTFS}/etc/apt/apt.conf.d/squeeze.conf +fi + +# and mount a shedload of things for fun and profit... for file in /var/lib/lxcfs/proc/*; do fname="$(basename $file)" touch "${LXC_ROOTFS}/proc/$fname" @@ -384,6 +407,14 @@ if [ "$DEBIAN_RELEASE" != "sid" ] && [ "$DEBIAN_RELEASE" != "unstable" ]; then SECURITY="deb http://security.debian.org/ $DEBIAN_RELEASE/updates main" fi +if [ "$DEBIAN_RELEASE" == "squeeze" ]; then + SECURITY="deb http://archive.debian.org/debian/ squeeze-lts main" +fi + +if [ "$DEBIAN_RELEASE" == "lenny" ] || [ "$DEBIAN_RELEASE" == "etch" ]; then + SECURITY="" +fi + # setup sources.list cat < "${LXC_ROOTFS}/etc/apt/sources.list" deb $DEBIAN_MIRROR $DEBIAN_RELEASE main @@ -401,7 +432,7 @@ if [ -e "${LXC_ROOTFS}/etc/systemd/system/" ]; then touch "${LXC_ROOTFS}/etc/systemd/system/dev-hugepages.mount" touch "${LXC_ROOTFS}/etc/systemd/system/udev.service" touch "${LXC_ROOTFS}/etc/systemd/system/systemd-udevd.service" - chroot "${LXC_ROOTFS}" systemctl set-default multi-user.target + chroot "${LXC_ROOTFS}" systemctl set-default multi-user.target || true chroot "${LXC_ROOTFS}" ln -s /lib/systemd/system/halt.target /etc/systemd/system/sigpwr.target fi -- 2.30.2