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 78a98c683573a1f7983afae54e2f187eeae127c7)

    ---

    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 12a2109c223e261214747d5f98d4b8d7ee9625e3)

MP: https://code.launchpad.net/~utkarsh/livecd-rootfs/+git/livecd-rootfs/+merge/452742
This commit is contained in:
Philip Roche 2023-10-26 15:17:01 +01:00
commit cb9db40176
2 changed files with 14 additions and 6 deletions

7
debian/changelog vendored
View File

@ -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 ]

View File

@ -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'