In terms of risk, touching apt is always going to be high risk because users need apt to revert or upgrade away from any regression. QA is therefore essential. Normally I'd like this to "bake" in the development release first, but given the nature of the bug, that's probably not going to give us any practical benefit over testing this in jammy- proposed. In terms of the details of testing, I can't think of anything that we could do better over relying on the test suite, and I'm happy to see that these bugfixes come with corresponding tests.
Since Kinetic is in beta freeze but this bugfix is urgent, I think it makes sense to accept this into jammy-proposed immediately to maximise testing opportunity. ** Changed in: apt (Ubuntu Jammy) Status: Triaged => Fix Committed ** Tags added: verification-needed verification-needed-jammy -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to apt in Ubuntu. https://bugs.launchpad.net/bugs/1990684 Title: grub-efi-arm64-signed : Depends: grub-efi-arm64 (= 2.06-2ubuntu7) but 2.06-2ubuntu10 is to be installed Status in apt package in Ubuntu: In Progress Status in grub2-signed package in Ubuntu: Fix Released Status in apt source package in Jammy: Fix Committed Bug description: [Impact] Phased updates with interdependencies can become uninstallable, breaking the upgrade command (and presumably dist-upgrade), so it cannot upgrade anything anymore, for example, see the original bug report below. [Test plan] We cannot reproduce the exact failure here, but we have included a minimal test case that triggers the same error in the integration test test-phased-updates-upgrade. The test suite is exhaustive and covers more than a human reasonably can, especially since we also cannot publish broken updates again to get people to test the fix. [Where problems could occur] This is a one word fix in the solver. When deciding whether a depends could be kept back, we accidentally looked at the package declaring the dependency instead of the package we depend upon. Of course this might unearth other fancy solver bugs. There is one limitation in that this only applies to "Protected" packages (not in the Protected field sense, but if you "Protect" the change in the solver), which is *mostly* triggered only if you have held packages or phased updates, so workarounds should always be easy. [Original bug report] # apt clean # apt update Hit:1 http://ca-central-1.ec2.ports.ubuntu.com/ubuntu-ports jammy InRelease Hit:2 http://ca-central-1.ec2.ports.ubuntu.com/ubuntu-ports jammy-updates InRelease Hit:3 http://ca-central-1.ec2.ports.ubuntu.com/ubuntu-ports jammy-backports InRelease Hit:4 http://ports.ubuntu.com/ubuntu-ports jammy-security InRelease Reading package lists... Done Building dependency tree... Done Reading state information... Done 24 packages can be upgraded. Run 'apt list --upgradable' to see them. # apt upgrade Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: grub-efi-arm64-signed : Depends: grub-efi-arm64 (= 2.06-2ubuntu7) but 2.06-2ubuntu10 is to be installed E: Broken packages # apt show -a grub-efi-arm64 2>/dev/null | grep -P "Version:|APT-Sources:" Version: 2.06-2ubuntu10 APT-Sources: http://ca-central-1.ec2.ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 Packages Version: 2.06-2ubuntu7 APT-Sources: http://ca-central-1.ec2.ports.ubuntu.com/ubuntu-ports jammy/main arm64 Packages # curl -s "http://ports.ubuntu.com/ubuntu-ports/dists/jammy/main/binary-arm64/Packages.gz" | zgrep -B 13 "Depends: grub-efi-arm64" | grep -P "Package:|Depends:" Package: grub-efi-arm64-dbg Depends: grub-efi-arm64-bin (= 2.06-2ubuntu7) Package: grub-efi-arm64-signed Depends: grub-efi-arm64 (= 2.06-2ubuntu7) # curl -s "http://ports.ubuntu.com/ubuntu-ports/dists/jammy-updates/main/binary-arm64/Packages.gz" | zgrep -B 13 "Depends: grub-efi-arm64" | grep -P "Package:|Depends:" Package: grub-efi-arm64-dbg Depends: grub-efi-arm64-bin (= 2.06-2ubuntu10) Package: grub-efi-arm64-signed Depends: grub-efi-arm64 (= 2.06-2ubuntu10) [[Workaround]] echo "APT::Get::Never-Include-Phased-Updates: 1;" > /etc/apt/apt.conf.d/99phased-updates ProblemType: Bug DistroRelease: Ubuntu 22.04 Package: grub-efi-arm64-signed 1.180+2.06-2ubuntu7 ProcVersionSignature: Ubuntu 5.15.0-1020.24-aws 5.15.53 Uname: Linux 5.15.0-1020-aws aarch64 ApportVersion: 2.20.11-0ubuntu82.1 Architecture: arm64 CasperMD5CheckResult: unknown Date: Fri Sep 23 13:12:07 2022 Ec2AMI: ami-092d30890417a55e5 Ec2AMIManifest: (unknown) Ec2AvailabilityZone: ca-central-1d Ec2InstanceType: t4g.medium Ec2Kernel: unavailable Ec2Ramdisk: unavailable ProcEnviron: SHELL=/bin/bash LANG=C.UTF-8 TERM=xterm-256color XDG_RUNTIME_DIR=<set> PATH=(custom, no user) SourcePackage: grub2-signed UpgradeStatus: No upgrade log present (probably fresh install) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1990684/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp