[Bug 2154822] Re: [SRU] Upgrades to resolute with armhf foreign arch fail

Launchpad Bug Tracker 2154822 at bugs.launchpad.net
Wed Sep 9 14:06:14 UTC 2026


This bug was fixed in the package ubuntu-release-upgrader - 1:26.10.7

---------------
ubuntu-release-upgrader (1:26.10.7) stonking; urgency=medium

  * tests: test against recent releases
  * Use `sqv` instead of `gpgv` (LP: #2166785)
  * Run pre-build.sh to update templates and version

ubuntu-release-upgrader (1:26.10.6) stonking; urgency=medium

  * Fixes for LP: #2154822:
    - DistUpgradeController: Fix rewriteMirrorUri to strip the country mirror
      on archs served by ports.u.c
    - test_sources_list: Disable test_apt_cacher_and_apt_bittorent on archs
      served by ports.u.c (rewriteMirrorUri now correctly causes changes that
      differ by architecture, and the test will only pass on archs served by
      archive.u.c)

ubuntu-release-upgrader (1:26.10.5) stonking; urgency=medium

  * DistUpgradeController: Split entries when the architecture(s) of the
    entry now reside on a different host, e.g. 26.04 where arm64 migrated
    from ports.u.c to archive.u.c (LP: #2154822)
  * DistUpgradeQuirks: minor changes to fix autopkgtest errors

ubuntu-release-upgrader (1:26.10.4) stonking; urgency=medium

  [ Florent 'Skia' Jacquet ]
  * test_pycodestyle: give a more verbose output upon failure
  * Add .launchpad.yaml to run at least some basic checks directly from git
  * Fix Stonking version number in announcements

  [ kkuo ]
  * Remove unnecessary Ubuntu Insights consent migration logic

  [ Oliver Reiche ]
  * DistUpgrade: fix release announcements for stonking

  [ Alessandro Astone ]
  * Add quirk for installing dbus-broker

 -- Julian Andres Klode <juliank at ubuntu.com>  Tue, 08 Sep 2026 17:18:05
+0200

** Changed in: ubuntu-release-upgrader (Ubuntu)
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to dpkg in Ubuntu.
https://bugs.launchpad.net/bugs/2154822

Title:
  [SRU] Upgrades to resolute with armhf foreign arch fail

Status in dpkg package in Ubuntu:
  Confirmed
Status in ubuntu-release-upgrader package in Ubuntu:
  Fix Released
Status in dpkg source package in Resolute:
  Confirmed
Status in ubuntu-release-upgrader source package in Resolute:
  In Progress

Bug description:
  [ 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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dpkg/+bug/2154822/+subscriptions




More information about the foundations-bugs mailing list