Merge utkarsh-jammy-sru-1996489 into ubuntu/jammy [a=utkarsh] [r=philroche]

Fix unminimize to correctly list packages (LP: #1996489)

    Prior to dpkg/1.21.0, there was a bug where dpkg -V/--verify
    couldn't list all the correct packages correctly but with
    that being fix and in archive since Jammy, this works perfectly
    but the syntax to report the missing files have changed. It
    just prints 'missing' now. With that new format, we can now
    fix the regex to simply list the packages.

    With this patch, the unminimize script works flawlessly
    on a minimized image.

    (cherry picked from commit 78a98c6835)

    ---

    fix: install LXD snap from stable/ubuntu-<version> channel (LP: #2036725)

    In the past, we'd directly snap install lxd which defaults to
    the latest/stable channel. However, whilst working on enhancing
    unminimize, it was observed that we install this snap from
    the stable/ubuntu-<version> channel instead.

    This was also noted as a failure when running the CTF tests:
    `lxd installed from latest/stable, not stable/ubuntu-23.10`

    (cherry picked from commit 12a2109c22)

MP: https://code.launchpad.net/~utkarsh/livecd-rootfs/+git/livecd-rootfs/+merge/452742
use-lxd-installer-jammy
Philip Roche 1 year ago
commit cb9db40176

7
debian/changelog vendored

@ -1,3 +1,10 @@
livecd-rootfs (2.765.28) jammy; urgency=medium
* Fix unminimize to correctly list packages. (LP: #1996489)
* Install LXD snap from stable/ubuntu-<version> channel. (LP: #2036725)
-- Utkarsh Gupta <utkarsh@ubuntu.com> Wed, 04 Oct 2023 13:48:53 +0530
livecd-rootfs (2.765.27) jammy; urgency=medium
[ Thomas Bechtold ]

@ -241,18 +241,18 @@ if [ -f /etc/dpkg/dpkg.cfg.d/excludes ] || [ -f /etc/dpkg/dpkg.cfg.d/excludes.dp
dpkg -S /usr/share/man/ |sed 's|, |\n|g;s|: [^:]*$||' | DEBIAN_FRONTEND=noninteractive xargs apt-get install --reinstall -y
echo "Reinstalling packages with system documentation in /usr/share/doc/ .."
# This step processes the packages which still have missing documentation
dpkg --verify --verify-format rpm | awk '/..5...... \/usr\/share\/doc/ {print $2}' | sed 's|/[^/]*$||' | sort |uniq \
dpkg --verify --verify-format rpm | awk '$2 ~ /\/usr\/share\/doc/ {print $2}' | sed 's|/[^/]*$||' | sort | uniq \
| xargs dpkg -S | sed 's|, |\n|g;s|: [^:]*$||' | uniq | DEBIAN_FRONTEND=noninteractive xargs apt-get install --reinstall -y
echo "Restoring system translations..."
# This step processes the packages which still have missing translations
dpkg --verify --verify-format rpm | awk '/..5...... \/usr\/share\/locale/ {print $2}' | sed 's|/[^/]*$||' | sort |uniq \
dpkg --verify --verify-format rpm | awk '$2 ~ /\/usr\/share\/locale/ {print $2}' | sed 's|/[^/]*$||' | sort | uniq \
| xargs dpkg -S | sed 's|, |\n|g;s|: [^:]*$||' | uniq | DEBIAN_FRONTEND=noninteractive xargs apt-get install --reinstall -y
if dpkg --verify --verify-format rpm | awk '/..5...... \/usr\/share\/doc/ {exit 1}'; then
if dpkg --verify --verify-format rpm | awk '$2 ~ /\/usr\/share\/doc/ {exit 1}'; then
echo "Documentation has been restored successfully."
rm /etc/dpkg/dpkg.cfg.d/excludes.dpkg-tmp
else
echo "There are still files missing from /usr/share/doc/:"
dpkg --verify --verify-format rpm | awk '/..5...... \/usr\/share\/doc/ {print " " $2}'
dpkg --verify --verify-format rpm | awk '$2 ~ /\/usr\/share\/doc/ {print " " $2}'
echo "You may want to try running this script again or you can remove"
echo "/etc/dpkg/dpkg.cfg.d/excludes.dpkg-tmp and restore the files manually."
fi
@ -288,8 +288,9 @@ fi
echo "Removing lxd installer package..."
apt-get purge -y lxd-installer
echo "Installing lxd from snap..."
snap install lxd
. /etc/os-release
echo "Installing lxd from snap from stable/ubuntu-$VERSION_ID channel"
snap install --channel="stable/ubuntu-$VERSION_ID" lxd
EOF
fi
cat >> chroot/usr/local/sbin/unminimize <<'EOF'

Loading…
Cancel
Save