From 93c96af2163e6010d63dd50d8f33fabaa0c57f71 Mon Sep 17 00:00:00 2001 From: "michael.hudson@canonical.com" Date: Thu, 2 Apr 2026 13:55:18 +1300 Subject: [PATCH] still publish manifest for ISO builds --- live-build/auto/build | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/live-build/auto/build b/live-build/auto/build index 8e5de08d..885b1b15 100755 --- a/live-build/auto/build +++ b/live-build/auto/build @@ -424,11 +424,12 @@ case $LB_INITRAMFS in ;; esac -# For MAKE_ISO=yes builds, artifacts (squashfs, kernel, initrd, manifests) are +# For MAKE_ISO=yes builds, most artifacts (squashfs, kernel, initrd) are # placed directly into the ISO tree by lb_binary_layered and binary hooks. -# Only create livecd.* intermediate artifacts for non-ISO builds. +# Only create livecd.* intermediate artifacts for non-ISO builds; the manifest +# is created unconditionally below. if [ "${MAKE_ISO}" != "yes" ]; then - for OUTPUT in ext2 ext3 ext4 manifest manifest-remove size squashfs; do + for OUTPUT in ext2 ext3 ext4 manifest-remove size squashfs; do [ -e "binary/$INITFS/filesystem.$OUTPUT" ] || continue ln "binary/$INITFS/filesystem.$OUTPUT" "$PREFIX.$OUTPUT" chmod 644 "$PREFIX.$OUTPUT" @@ -455,12 +456,6 @@ if [ "${MAKE_ISO}" != "yes" ]; then cp -a binary-tar.tar.gz "$PREFIX.rootfs.tar.gz" fi - # '--initramfs none' produces different manifest names. - if [ -e "binary/$INITFS/filesystem.packages" ]; then - ln "binary/$INITFS/filesystem.packages" "$PREFIX.manifest" - chmod 644 "$PREFIX.manifest" - fi - # If a .filelist is present, use it as the filelist for the image by # symlinking with expected name and updating permissions if [ -e "binary/$INITFS/filesystem.filelist" ]; then @@ -476,13 +471,6 @@ if [ "${MAKE_ISO}" != "yes" ]; then fi fi - # Since snaps are now Ubuntu first-class citizen, so always try fetching the - # list of seeded snaps into the manifest. In case of layered images we skip - # this step, as we assume they're doing it on their own at some earlier stage. - if [ -z "$PASSES" ] && [ -e "$PREFIX.manifest" ]; then - ./config/snap-seed-parse "chroot/" "$PREFIX.manifest" - fi - for FLAVOUR in $LB_LINUX_FLAVOURS; do if [ -z "$LB_LINUX_FLAVOURS" ] || [ "$LB_LINUX_FLAVOURS" = "none" ]; then continue @@ -568,6 +556,23 @@ if [ "${MAKE_ISO}" != "yes" ]; then esac fi +# Create manifest unconditionally (needed for both ISO and non-ISO builds). +if [ -e "binary/$INITFS/filesystem.manifest" ]; then + ln "binary/$INITFS/filesystem.manifest" "$PREFIX.manifest" + chmod 644 "$PREFIX.manifest" +fi +# '--initramfs none' produces different manifest names. +if [ -e "binary/$INITFS/filesystem.packages" ]; then + ln "binary/$INITFS/filesystem.packages" "$PREFIX.manifest" + chmod 644 "$PREFIX.manifest" +fi +# Since snaps are now Ubuntu first-class citizen, so always try fetching the +# list of seeded snaps into the manifest. In case of layered images we skip +# this step, as we assume they're doing it on their own at some earlier stage. +if [ -z "$PASSES" ] && [ -e "$PREFIX.manifest" ]; then + ./config/snap-seed-parse "chroot/" "$PREFIX.manifest" +fi + case $PROJECT in ubuntu-cpc) config/hooks.d/remove-implicit-artifacts