diff -Nru livecd-rootfs-2.664.52/debian/changelog livecd-rootfs-2.664.53/debian/changelog --- livecd-rootfs-2.664.52/debian/changelog 2024-01-22 11:38:05.000000000 +0000 +++ livecd-rootfs-2.664.53/debian/changelog 2024-02-09 09:41:18.000000000 +0000 @@ -1,3 +1,13 @@ +livecd-rootfs (2.664.53) focal; urgency=medium + + [Catherine Redfield] + * add 5.15 apparmor directory for snap preseeding with 5.15 kernel + (LP: #2052789) + * bind correct apparmor feature for validating snap seed + (LP: #2059730) + + -- Phil Roche Fri, 09 Feb 2024 09:41:18 +0000 + livecd-rootfs (2.664.52) focal; urgency=medium * fix: use correct sshd_config.d/ ordering. (LP: #2049860) diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/capability livecd-rootfs-2.664.53/live-build/apparmor/5.15/capability --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/capability 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/capability 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +0xffffff diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/caps/mask livecd-rootfs-2.664.53/live-build/apparmor/5.15/caps/mask --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/caps/mask 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/caps/mask 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap mac_override mac_admin syslog wake_alarm block_suspend audit_read diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/dbus/mask livecd-rootfs-2.664.53/live-build/apparmor/5.15/dbus/mask --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/dbus/mask 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/dbus/mask 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +acquire send receive diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/domain/attach_conditions/xattr livecd-rootfs-2.664.53/live-build/apparmor/5.15/domain/attach_conditions/xattr --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/domain/attach_conditions/xattr 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/domain/attach_conditions/xattr 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +yes diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/domain/change_hat livecd-rootfs-2.664.53/live-build/apparmor/5.15/domain/change_hat --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/domain/change_hat 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/domain/change_hat 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +yes diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/domain/change_hatv livecd-rootfs-2.664.53/live-build/apparmor/5.15/domain/change_hatv --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/domain/change_hatv 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/domain/change_hatv 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +yes diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/domain/change_onexec livecd-rootfs-2.664.53/live-build/apparmor/5.15/domain/change_onexec --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/domain/change_onexec 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/domain/change_onexec 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +yes diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/domain/change_profile livecd-rootfs-2.664.53/live-build/apparmor/5.15/domain/change_profile --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/domain/change_profile 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/domain/change_profile 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +yes diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/domain/computed_longest_left livecd-rootfs-2.664.53/live-build/apparmor/5.15/domain/computed_longest_left --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/domain/computed_longest_left 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/domain/computed_longest_left 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +yes diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/domain/fix_binfmt_elf_mmap livecd-rootfs-2.664.53/live-build/apparmor/5.15/domain/fix_binfmt_elf_mmap --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/domain/fix_binfmt_elf_mmap 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/domain/fix_binfmt_elf_mmap 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +yes diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/domain/post_nnp_subset livecd-rootfs-2.664.53/live-build/apparmor/5.15/domain/post_nnp_subset --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/domain/post_nnp_subset 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/domain/post_nnp_subset 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +yes diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/domain/stack livecd-rootfs-2.664.53/live-build/apparmor/5.15/domain/stack --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/domain/stack 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/domain/stack 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +yes diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/domain/version livecd-rootfs-2.664.53/live-build/apparmor/5.15/domain/version --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/domain/version 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/domain/version 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +1.2 diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/file/mask livecd-rootfs-2.664.53/live-build/apparmor/5.15/file/mask --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/file/mask 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/file/mask 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +create read write exec append mmap_exec link lock diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/ipc/posix_mqueue livecd-rootfs-2.664.53/live-build/apparmor/5.15/ipc/posix_mqueue --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/ipc/posix_mqueue 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/ipc/posix_mqueue 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +create read write open delete setattr getattr diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/mount/mask livecd-rootfs-2.664.53/live-build/apparmor/5.15/mount/mask --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/mount/mask 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/mount/mask 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +mount umount pivot_root diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/namespaces/pivot_root livecd-rootfs-2.664.53/live-build/apparmor/5.15/namespaces/pivot_root --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/namespaces/pivot_root 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/namespaces/pivot_root 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +no diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/namespaces/profile livecd-rootfs-2.664.53/live-build/apparmor/5.15/namespaces/profile --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/namespaces/profile 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/namespaces/profile 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +yes diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/network/af_mask livecd-rootfs-2.664.53/live-build/apparmor/5.15/network/af_mask --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/network/af_mask 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/network/af_mask 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +unspec unix inet ax25 ipx appletalk netrom bridge atmpvc x25 inet6 rose netbeui security key netlink packet ash econet atmsvc rds sna irda pppox wanpipe llc ib mpls can tipc bluetooth iucv rxrpc isdn phonet ieee802154 caif alg nfc vsock kcm qipcrtr smc xdp diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/network/af_unix livecd-rootfs-2.664.53/live-build/apparmor/5.15/network/af_unix --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/network/af_unix 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/network/af_unix 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +yes diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/network_v8/af_mask livecd-rootfs-2.664.53/live-build/apparmor/5.15/network_v8/af_mask --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/network_v8/af_mask 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/network_v8/af_mask 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +unspec unix inet ax25 ipx appletalk netrom bridge atmpvc x25 inet6 rose netbeui security key netlink packet ash econet atmsvc rds sna irda pppox wanpipe llc ib mpls can tipc bluetooth iucv rxrpc isdn phonet ieee802154 caif alg nfc vsock kcm qipcrtr smc xdp diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/policy/set_load livecd-rootfs-2.664.53/live-build/apparmor/5.15/policy/set_load --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/policy/set_load 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/policy/set_load 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +yes diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/policy/versions/v5 livecd-rootfs-2.664.53/live-build/apparmor/5.15/policy/versions/v5 --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/policy/versions/v5 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/policy/versions/v5 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +yes diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/policy/versions/v6 livecd-rootfs-2.664.53/live-build/apparmor/5.15/policy/versions/v6 --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/policy/versions/v6 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/policy/versions/v6 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +yes diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/policy/versions/v7 livecd-rootfs-2.664.53/live-build/apparmor/5.15/policy/versions/v7 --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/policy/versions/v7 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/policy/versions/v7 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +yes diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/policy/versions/v8 livecd-rootfs-2.664.53/live-build/apparmor/5.15/policy/versions/v8 --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/policy/versions/v8 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/policy/versions/v8 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +yes diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/ptrace/mask livecd-rootfs-2.664.53/live-build/apparmor/5.15/ptrace/mask --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/ptrace/mask 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/ptrace/mask 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +read trace diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/query/label/data livecd-rootfs-2.664.53/live-build/apparmor/5.15/query/label/data --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/query/label/data 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/query/label/data 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +yes diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/query/label/multi_transaction livecd-rootfs-2.664.53/live-build/apparmor/5.15/query/label/multi_transaction --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/query/label/multi_transaction 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/query/label/multi_transaction 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +yes diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/query/label/perms livecd-rootfs-2.664.53/live-build/apparmor/5.15/query/label/perms --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/query/label/perms 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/query/label/perms 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +allow deny audit quiet diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/rlimit/mask livecd-rootfs-2.664.53/live-build/apparmor/5.15/rlimit/mask --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/rlimit/mask 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/rlimit/mask 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +cpu fsize data stack core rss nproc nofile memlock as locks sigpending msgqueue nice rtprio rttime diff -Nru livecd-rootfs-2.664.52/live-build/apparmor/5.15/signal/mask livecd-rootfs-2.664.53/live-build/apparmor/5.15/signal/mask --- livecd-rootfs-2.664.52/live-build/apparmor/5.15/signal/mask 1970-01-01 00:00:00.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/apparmor/5.15/signal/mask 2024-02-09 09:41:18.000000000 +0000 @@ -0,0 +1 @@ +hup int quit ill trap abrt bus fpe kill usr1 segv usr2 pipe alrm term stkflt chld cont stop stp ttin ttou urg xcpu xfsz vtalrm prof winch io pwr sys emt lost diff -Nru livecd-rootfs-2.664.52/live-build/functions livecd-rootfs-2.664.53/live-build/functions --- livecd-rootfs-2.664.52/live-build/functions 2024-01-22 11:38:05.000000000 +0000 +++ livecd-rootfs-2.664.53/live-build/functions 2024-02-09 09:41:18.000000000 +0000 @@ -726,13 +726,44 @@ snap_validate_seed() { local CHROOT_ROOT=$1 + local kern_major_min=undefined + local boot_filename=undefined + # ppc64el still uses /boot/vmlinux so we need to determine the boot file name as non ppc64el use /boot/vmlinuz + # We don't need to query the arch as we can use existence of the file to determine the boot file name. Both + # will never be present at the same time. + if [ -e ${CHROOT_ROOT}/boot/vmlinuz ]; then + boot_filename=vmlinuz + elif [ -e ${CHROOT_ROOT}/boot/vmlinux ]; then + boot_filename=vmlinux + fi + if [ ${boot_filename} != undefined ]; then # we have a known boot file so we can proceed with checking for features to mount + kern_major_min=$(readlink --canonicalize --no-newline ${CHROOT_ROOT}/boot/${boot_filename} | grep --extended-regexp --only-matching --max-count 1 '[0-9]+\.[0-9]+') + if [ -d /usr/share/livecd-rootfs/live-build/apparmor/${kern_major_min} ]; then + # if an Ubuntu version has different kernel apparmor features between LTS and HWE kernels + # a snap pre-seeding issue can occur, where the incorrect apparmor features are reported + # basic copy of a directory structure overriding the "generic" feature set + # which is tied to the LTS kernel + + # Bind kernel apparmor directory to feature directory for snap preseeding + umount "${CHROOT_ROOT}/sys/kernel/security/apparmor/features/" + mount --bind /usr/share/livecd-rootfs/live-build/apparmor/${kern_major_min} "${CHROOT_ROOT}/sys/kernel/security/apparmor/features/" + fi + fi + if [ -e "${CHROOT_ROOT}/var/lib/snapd/seed/seed.yaml" ]; then snap debug validate-seed "${CHROOT_ROOT}/var/lib/snapd/seed/seed.yaml" /usr/lib/snapd/snap-preseed --reset $(realpath "${CHROOT_ROOT}") /usr/lib/snapd/snap-preseed $(realpath "${CHROOT_ROOT}") chroot "${CHROOT_ROOT}" apparmor_parser --skip-read-cache --write-cache --skip-kernel-load --verbose -j `nproc` /etc/apparmor.d fi + + # Unmount kernel specific apparmor feature + # mount generic apparmor feature again (cleanup) + if [ -d /build/config/hooks.d/extra/apparmor/${kern_major_min} ]; then + umount "${CHROOT_ROOT}/sys/kernel/security/apparmor/features/" + mount -o bind /usr/share/livecd-rootfs/live-build/apparmor/generic "${CHROOT_ROOT}/sys/kernel/security/apparmor/features/" + fi } snap_from_seed() {