From 098f18a504d97fec24bbe619370cdd2ca0d5b500 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 23 Jul 2017 10:28:46 +0200 Subject: Merging upstream version 20170722. Signed-off-by: Daniel Baumann --- share/doc/examples/container-images.sh | 55 ++++++++++++++++++++++++++-------- 1 file changed, 42 insertions(+), 13 deletions(-) (limited to 'share/doc/examples/container-images.sh') diff --git a/share/doc/examples/container-images.sh b/share/doc/examples/container-images.sh index b743f57..07f3451 100755 --- a/share/doc/examples/container-images.sh +++ b/share/doc/examples/container-images.sh @@ -3,7 +3,7 @@ # container-tools - Manage systemd-nspawn containers # # Description: example for automated Debian base system container image creation -# Requires: debootstrap xz-utils +# Requires: debootstrap plzip xz-utils # Usage: sudo ./container-images.sh set -e @@ -13,25 +13,54 @@ DISTRIBUTIONS="stretch sid" MIRROR="https://deb.debian.org/debian" INCLUDE="dbus" -DATE="$(date +%Y%m%d)" +COMPRESSIONS="gz lz xz" + +VERSION="$(date +%Y%m%d)" for DISTRIBUTION in ${DISTRIBUTIONS} do for ARCHITECTURE in ${ARCHITECTURES} do - SOURCE="debian-${DISTRIBUTION}-${ARCHITECTURE}_${DATE}" - TARGET="debian-${DISTRIBUTION}-${ARCHITECTURE}" + SYSTEM="debian-${DISTRIBUTION}-${VERSION}_${ARCHITECTURE}" + + debootstrap --arch=${ARCHITECTURE} --include=${INCLUDE} ${DISTRIBUTION} ${SYSTEM} ${MIRROR} + chroot "${SYSTEM}" apt-get clean + + rm -f "${SYSTEM}/etc/apt/apt.conf.d/01autoremove-kernels" + rm -f "${SYSTEM}/etc/hostname" + echo "" > "${SYSTEM}/etc/machine-id" + rm -f "${SYSTEM}/etc/resolv.conf" + rm -f "${SYSTEM}/var/lib/systemd/catalog/database" + + for COMPRESSION in ${COMPRESSIONS} + do + case "${COMPRESSION}" in + gz) + TAR_OPTIONS="--gzip" + ;; + + lz) + TAR_OPTIONS="--lzip" + ;; + + xz) + TAR_OPTIONS="--xz" + ;; + esac + + echo "Creating ${SYSTEM}.system.tar.${COMPRESSION}" + tar ${TAR_OPTIONS} -cf "${SYSTEM}.system.tar.${COMPRESSION}" "${SYSTEM}" + + echo "Creating ${SYSTEM}.system.tar.${COMPRESSION}.sha512" + sha512sum "${SYSTEM}.system.tar.${COMPRESSION}" > "${SYSTEM}.system.tar.${COMPRESSION}.sha512" - debootstrap --arch=${ARCHITECTURE} --include=${INCLUDE} ${DISTRIBUTION} ${SOURCE} ${MIRROR} - chroot "${SOURCE}" apt-get clean + echo "Creating ${SYSTEM}.system.tar.${COMPRESSION} symlink" + ln -sf "${SYSTEM}.system.tar.${COMPRESSION}" "$(echo ${SYSTEM}.system.tar.${COMPRESSION} | sed -e "s|${VERSION}|current|")" - rm -f "${SOURCE}/etc/apt/apt.conf.d/01autoremove-kernels" - rm -f "${SOURCE}/etc/hostname" - echo "" > "${SOURCE}/etc/machine-id" - rm -f "${SOURCE}/etc/resolv.conf" - rm -f "${SOURCE}/var/lib/systemd/catalog/database" + echo "Creating ${SYSTEM}.system.tar.${COMPRESSION}.sha512 copy" + sed -e "s|${VERSION}|current|" "${SYSTEM}.system.tar.${COMPRESSION}.sha512" > "$(echo ${SYSTEM}.system.tar.${COMPRESSION}.sha512 | sed -e "s|${VERSION}|current|")" + done - echo "Creating ${TARGET}.tar.xz" - tar cfJ "${TARGET}.tar.xz" "${SOURCE}" + rm -rf "${SYSTEM}" done done -- cgit v1.2.3