Merge bugfix/unminimize-no-lxd-installer-package-jammy into ubuntu/jammy [a=philroche] [r=utkarsh,vorlon]

fix: Fix calls to `unminimize` if lxd-installer package not present (LP: #2049723)

The unminimize script will try to install the lxd snap using the shim script
`/usr/sbin/lxd` from the lxd-installer package.

Previously `unminimize` was using `snap`
to install `lxd` directly which was being diverted by diverting the `snap` command.

This is no longer the case so we can remove `/usr/sbin/lxd` from the lxd-installer package
if it exists and then redirect any calls to `/usr/sbin/lxd` to `/bin/true`

MP: https://code.launchpad.net/~philroche/livecd-rootfs/+git/livecd-rootfs/+merge/458910
allwinner-kernel-jammy
Philip Roche 11 months ago
commit 8b83212372

6
debian/changelog vendored

@ -1,3 +1,9 @@
livecd-rootfs (2.765.37) jammy; urgency=medium
* fix: Fix for calling unminimize if lxd-installer package not installed. (LP: #2049723)
-- Philip Roche <phil.roche@canonical.com> Mon, 22 Jan 2024 13:26:43 +0000
livecd-rootfs (2.765.36) jammy; urgency=medium
* Use correct /etc/ssh/sshd_config.d/ filename so cloud-init overrides

@ -10,11 +10,27 @@ case ${PASS} in
;;
esac
# The unminimize script will try to install the lxd snap. We can't
# do that at this stage so just neuter the snap command (the snap
# The unminimize script will try to install the lxd snap using the shim script
# /usr/sbin/lxd from the lxd-installer package.
# We can't do that at this stage so just neuter the lxd command (the snap
# will get properly seeded by generic machinery).
dpkg-divert --add --divert /usr/bin/snap.REAL --rename /usr/bin/snap
ln -s /bin/true /usr/bin/snap
if [ -f "/usr/sbin/lxd" ]; then
dpkg-divert --add --divert /usr/sbin/lxd.REAL --rename /usr/sbin/lxd
ln -s /bin/true /usr/sbin/lxd
yes | /usr/local/sbin/unminimize
rm /usr/bin/snap
dpkg-divert --remove --rename /usr/bin/snap
# unminimize also uninstalls lxd-installer package
# and also removed `/usr/sbin/lxd` as a result, so we don't need to restore, but
# we do need to remove the mock we used as part of dpkg-divert
# first we need to remove the diversion
dpkg-divert --remove --no-rename /usr/sbin/lxd
# now remove the renamed file that we originally diverted to
rm -v /usr/sbin/lxd.REAL
else
# if /usr/sbin/lxd doesn't exist then lxd-installer package isn't installed.
# Instead, we can mock the command to avoid the unminimize script failing
ln -s /bin/true /usr/sbin/lxd
yes | /usr/local/sbin/unminimize
# as the lxd-installer package was not installed and thus not removed by `unminimize`
# the mock /usr/sbin/lxd will still be present, so we need to remove it
rm -v /usr/sbin/lxd
fi
Loading…
Cancel
Save