** Description changed: + [ Impact ] + + Users on a system with armhf configured as a foreign architecture cannot + use u-r-u to upgrade. + + [ Test plan ] + + * Flash ubuntu-25.10-preinstalled-server-arm64+raspi.img.xz to spare SD card + * Boot Pi and login + * sudo dpkg --add-architecture armhf + * sudo apt upgrade + * sudo do-release-upgrade + * Observe failure + + * sudo do-release-upgrade --proposed + * Observe the upgrade proceeds + * Check /etc/apt/sources.list.d/ubuntu.sources after upgrade -- ensure there are now separate entries for archive.ubuntu.com (arm64) and ports.ubuntu.com (armhf) + + Repeat the above steps but do *not* add armhf as a foreign architecture + (cover the single architecture migration from ports.u.c -> archive.u.c + case) + + To cover the non-migration case, on an amd64 box: + + * lxc launch ubuntu:noble test-upgrade + * lxc shell test-upgrade + * apt update && apt full-upgrade + * do-release-upgrade --proposed + * Ensure upgrade succeeds and /etc/sources.list.d/ubuntu.sources looks sane + + Repeat the above test adding i386 as a foreign architecture + + [ Where things could go wrong ] + + The patch wound up being *way* more complicated than I'd hoped as there + are an absolute ton of edge cases and complexity to consider. For + example, ports.u.c covers the archive *and* security, while archive.u.c + is only the archive, so a system may be configured for arm64+armhf with + a single deb822 configuration (because the .sources style can include + multiple suites, unlike the old .list configuration), in which case one + entry winds up becoming *three* entries (arm64 archive, arm64 security, + armhf ports for archive+security). + + The patch is relatively complex, but is mostly tests. The actual logic + changes are confined to the re-writing of the apt sources so, in theory, + the scope for regression is confined to that. However, there's no + substitute for real-world testing so the test plan above covers several + cases (arch split, no arch split with migration, and no migration at all + for one or multiple archs). + + [ Original description ] + On a Pi running Ubuntu questing, with armhf added as a foreign architecture, upgrades to resolute fail immediately after updating the sources because the updated ubuntu.sources file now points at archive.u.c which only supports arm64, but the source applies to *both* arm64 and armhf. To reproduce: * Flash ubuntu-25.10-preinstalled-server-arm64+raspi.img.xz to spare SD card * Boot Pi and login * sudo dpkg --add-architecture armhf * sudo apt upgrade * sudo do-release-upgrade After confirming "y" to proceed, upgrade fails when attempting to refresh apt sources for resolute.
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2154822 Title: [SRU] Upgrades to resolute with armhf foreign arch fail To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/dpkg/+bug/2154822/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
