[neon/neon/livecd-rootfs/Neon/release] /: fix: Fix calls to `unminimize` if lxd-installer package not present (LP: #2049723)

Philip Roche null at kde.org
Mon Feb 5 10:40:28 GMT 2024


Git commit 34dea62ef02c5763635aa981f5a028e9e3ae2cd3 by Philip Roche.
Committed on 22/01/2024 at 13:27.
Pushed by jriddell into branch 'Neon/release'.

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`.

M  +6    -0    debian/changelog
M  +18   -7    live-build/ubuntu-server/hooks/01-unminimize.chroot_early

https://invent.kde.org/neon/neon/livecd-rootfs/-/commit/34dea62ef02c5763635aa981f5a028e9e3ae2cd3

diff --git a/debian/changelog b/debian/changelog
index 1655a3db..b137231b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -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 at 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
diff --git a/live-build/ubuntu-server/hooks/01-unminimize.chroot_early b/live-build/ubuntu-server/hooks/01-unminimize.chroot_early
index f70b59b4..69fbbccb 100755
--- a/live-build/ubuntu-server/hooks/01-unminimize.chroot_early
+++ b/live-build/ubuntu-server/hooks/01-unminimize.chroot_early
@@ -10,11 +10,22 @@ 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
-yes | /usr/local/sbin/unminimize
-rm /usr/bin/snap
-dpkg-divert --remove --rename /usr/bin/snap
+if [[ -f "/usr/sbin/lxd" ]]; then
+    rm --verbose --force /usr/sbin/lxd
+    ln -s /bin/true /usr/sbin/lxd
+    yes | /usr/local/sbin/unminimize
+    # unminimize also uninstalls lxd-installer package
+    # and also removed `/usr/sbin/lxd` as a result so we don't need to restore
+else
+    # if /usr/sbin/lxd doesn't exist when lxd-installer package isn't installed so 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 the mock
+    # /usr/sbin/lxd will still be present so we need to remove it
+    rm --verbose --force /usr/sbin/lxd
+fi
\ No newline at end of file



More information about the Neon-commits mailing list