This bug was fixed in the package apt - 2.4.8 --------------- apt (2.4.8) jammy; urgency=medium
* edsp: Add support for phased updates (test in LP#1990586) * Check state of dependency, not dependee in dependency keep back (LP: #1990684) * full-upgrade: Mark phased upgrades for keep before anything else (LP: #1990586) -- Julian Andres Klode <juli...@ubuntu.com> Wed, 28 Sep 2022 17:37:51 +0200 ** Changed in: apt (Ubuntu Jammy) Status: Fix Committed => Fix Released -- 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: Fix Released Status in grub2-signed package in Ubuntu: Fix Released Status in apt source package in Jammy: Fix Released 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