From d97233a7bbfb4c3610853f7cb4a38894854c44c1 Mon Sep 17 00:00:00 2001 From: Daniel Watkins Date: Mon, 6 Aug 2018 16:23:06 -0400 Subject: [PATCH] * ubuntu-cpc: Reintroduce the -root.tar.xz artifact (LP: #1585233). * ubuntu-cpc: Generate the root image contents once, and use it for both the -root.tar.xz and the .squashfs. * ubuntu-cpc: Generate -root.tar.xz with --xattrs. --- debian/changelog | 7 +++ .../hooks/031-0-create-root-dir.binary | 26 ++++++++++ .../ubuntu-cpc/hooks/031-1-root-xz.binary | 15 ++++++ .../hooks/031-2-root-squashfs.binary | 29 +++++++++++ .../ubuntu-cpc/hooks/032-root-squashfs.binary | 49 ------------------- 5 files changed, 77 insertions(+), 49 deletions(-) create mode 100644 live-build/ubuntu-cpc/hooks/031-0-create-root-dir.binary create mode 100644 live-build/ubuntu-cpc/hooks/031-1-root-xz.binary create mode 100644 live-build/ubuntu-cpc/hooks/031-2-root-squashfs.binary delete mode 100755 live-build/ubuntu-cpc/hooks/032-root-squashfs.binary diff --git a/debian/changelog b/debian/changelog index f000cd92..0c405151 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,7 +1,14 @@ livecd-rootfs (2.525.6) UNRELEASED; urgency=medium + [ Steve Langasek ] * generate all tar files with --xattrs. LP: #1302192. + [ Daniel Watkins ] + * ubuntu-cpc: Reintroduce the -root.tar.xz artifact (LP: #1585233). + * ubuntu-cpc: Generate the root image contents once, and use it for both the + -root.tar.xz and the .squashfs. + * ubuntu-cpc: Generate -root.tar.xz with --xattrs. + -- Steve Langasek Wed, 01 Aug 2018 20:57:14 -0700 livecd-rootfs (2.525.5) bionic; urgency=medium diff --git a/live-build/ubuntu-cpc/hooks/031-0-create-root-dir.binary b/live-build/ubuntu-cpc/hooks/031-0-create-root-dir.binary new file mode 100644 index 00000000..9a916658 --- /dev/null +++ b/live-build/ubuntu-cpc/hooks/031-0-create-root-dir.binary @@ -0,0 +1,26 @@ +#!/bin/bash -ex +# vi: ts=4 expandtab +# +# Generate the root directory/manifest for rootfs.tar.xz and squashfs + +if [ -n "$SUBARCH" ]; then + echo "Skipping rootfs build for subarch flavor build" + exit 0 +fi + +. config/functions + +rootfs_dir=rootfs.dir +mkdir $rootfs_dir +cp -a chroot/* $rootfs_dir + +setup_mountpoint $rootfs_dir + +env DEBIAN_FRONTEND=noninteractive chroot $rootfs_dir apt-get --purge remove --assume-yes '^linux-.*' 'linux-base+' +env DEBIAN_FRONTEND=noninteractive chroot $rootfs_dir apt-get --purge remove --assume-yes '^grub-.*' +env DEBIAN_FRONTEND=noninteractive chroot $rootfs_dir apt-get autoremove --purge --assume-yes +rm -rf $rootfs_dir/boot/grub + +teardown_mountpoint $rootfs_dir + +dpkg-query --admindir=$rootfs_dir/var/lib/dpkg -W > $rootfs_dir.manifest diff --git a/live-build/ubuntu-cpc/hooks/031-1-root-xz.binary b/live-build/ubuntu-cpc/hooks/031-1-root-xz.binary new file mode 100644 index 00000000..5695f96d --- /dev/null +++ b/live-build/ubuntu-cpc/hooks/031-1-root-xz.binary @@ -0,0 +1,15 @@ +#!/bin/bash -ex +# vi: ts=4 expandtab +# +# Generate the rootfs.tar.xz and manifest + +if [ -n "$SUBARCH" ]; then + echo "Skipping rootfs build for subarch flavor build" + exit 0 +fi + +# This is the directory created by 031-0-create-root-dir.binary +rootfs_dir=rootfs.dir + +cp $rootfs_dir.manifest livecd.ubuntu-cpc.rootfs.manifest +(cd $rootfs_dir/ && tar -c --xattrs *) | xz > livecd.ubuntu-cpc.rootfs.tar.xz diff --git a/live-build/ubuntu-cpc/hooks/031-2-root-squashfs.binary b/live-build/ubuntu-cpc/hooks/031-2-root-squashfs.binary new file mode 100644 index 00000000..f4c2ac3d --- /dev/null +++ b/live-build/ubuntu-cpc/hooks/031-2-root-squashfs.binary @@ -0,0 +1,29 @@ +#!/bin/bash -ex +# vi: ts=4 noexpandtab +# +# Generate a squashfs root and manifest + +case $IMAGE_TARGETS in + ""|*squashfs*) + ;; + *) + echo "Skipping squashfs build" + exit 0 + ;; +esac + +if [ -n "$SUBARCH" ]; then + echo "Skipping rootfs build for subarch flavor build" + exit 0 +fi + +# This is the directory created by 031-0-create-root-dir.binary +rootfs_dir=rootfs.dir + +squashfs_f="$PWD/livecd.ubuntu-cpc.squashfs" + +cp $rootfs_dir.manifest $squashfs_f.manifest + +(cd $rootfs_dir && + mksquashfs . $squashfs_f \ + -no-progress -xattrs -comp xz ) diff --git a/live-build/ubuntu-cpc/hooks/032-root-squashfs.binary b/live-build/ubuntu-cpc/hooks/032-root-squashfs.binary deleted file mode 100755 index ec6c1b05..00000000 --- a/live-build/ubuntu-cpc/hooks/032-root-squashfs.binary +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash -ex -# vi: ts=4 noexpandtab -# -# Generate a squashfs root and manifest - -case $IMAGE_TARGETS in - ""|*squashfs*) - ;; - *) - echo "Skipping squashfs build" - exit 0 - ;; -esac - -if [ -n "$SUBARCH" ]; then - echo "Skipping rootfs build for subarch flavor build" - exit 0 -fi - -. config/functions - -mkdir binary/boot/squashfs.dir -cp -a chroot/* binary/boot/squashfs.dir - -setup_mountpoint binary/boot/squashfs.dir - -chroot binary/boot/squashfs.dir dpkg-divert --local --rename /usr/sbin/grub-probe -chroot binary/boot/squashfs.dir touch /usr/sbin/grub-probe -chroot binary/boot/squashfs.dir chmod +x /usr/sbin/grub-probe - -env DEBIAN_FRONTEND=noninteractive chroot binary/boot/squashfs.dir apt-get --purge remove --assume-yes '^linux-.*' 'linux-base+' -env DEBIAN_FRONTEND=noninteractive chroot binary/boot/squashfs.dir apt-get --purge remove --assume-yes '^grub-.*' -env DEBIAN_FRONTEND=noninteractive chroot binary/boot/squashfs.dir apt-get autoremove --purge --assume-yes -rm -rf binary/boot/squashfs.dir/boot/grub -chroot binary/boot/squashfs.dir mkdir -p /lib/modules - -chroot binary/boot/squashfs.dir rm /usr/sbin/grub-probe -chroot binary/boot/squashfs.dir dpkg-divert --remove --local --rename /usr/sbin/grub-probe - -teardown_mountpoint binary/boot/squashfs.dir - -squashfs_f="${PWD}/livecd.ubuntu-cpc.squashfs" -squashfs_f_manifest="${squashfs_f}.manifest" - -dpkg-query --admindir=binary/boot/squashfs.dir/var/lib/dpkg -W > ${squashfs_f_manifest} - -(cd "binary/boot/squashfs.dir/" && - mksquashfs . ${squashfs_f} \ - -no-progress -xattrs -comp xz )