Public bug reported:

Upgrading 26.04 to 26.10 installs the firefox snap on a system where
Firefox is installed as a deb from Mozilla's APT repository and no
firefox snap is installed. After the upgrade the system has both.

Version: ubuntu-release-upgrader 26.10.11, do-release-upgrade -d from
26.04.1 with ubuntu-desktop-minimal installed.

Steps to reproduce
1. On 26.04, remove the firefox snap and install Firefox from 
packages.mozilla.org as described at 
https://support.mozilla.org/kb/install-firefox-linux (the repository plus the 
Pin-Priority 1000 preferences file).
2. Upgrade to 26.10 with do-release-upgrade -d.

Expected: no firefox snap is installed, and Firefox stays the Mozilla
deb.

Actual: Quirks.PostUpgrade installs the snap (main.log, timestamps
trimmed):

    DEBUG running Quirks.PostUpgrade
    DEBUG install of snap firefox succeeded

and "snap changes" lists: Install "firefox" snap from
"stable/ubuntu-26.10" channel

Cause
The firefox entry in DistUpgrade/deb2snap.json is gated on 
ubuntu-desktop-minimal and names no deb. For a snap that is not installed, 
_prepare_snap_replacement_data() skips the install only when the entry names a 
deb that is not installed:

    # Do not replace packages not installed
    cache = self.controller.cache
    if (deb and (deb not in cache or not cache[deb].is_installed)):

With no deb named, that check never applies, so every system with
ubuntu-desktop-minimal gets the firefox snap, however Firefox is
installed, and even when it is not installed at all.

1:22.10.8 removed firefox from deb2snap.json (bug 1964036) so that the firefox 
transitional deb, not the upgrader, would handle the move to the snap. 
1:24.10.11 added the entry back for bug 2083311, which lists firefox under 
channel changes (stable to stable/ubuntu-24.10). An entry cannot ask for a 
channel switch only, so the install came back with it. ubuntu/main at 
d09d661750e4 has the same entry and check:
https://git.launchpad.net/ubuntu-release-upgrader/tree/DistUpgrade/DistUpgradeQuirks.py?id=d09d661750e42d2cb6da3c9ada3d772f22e2bbb3#n773

Thunderbird has the same kind of entry. It was not installed here only
because it is gated on ubuntu-desktop (bug 2083616), which this system
does not have.

Suggested fix: for firefox and thunderbird, switch the channel of an
installed snap but never install one, and leave installation to the
transitional debs.

Related, on the apt side of the same upgrade: the upgrader disables
third-party sources, so the packages.mozilla.org pin matches nothing
during the upgrade, and the transitional firefox 1:1snap1-0ubuntu11 and
thunderbird 2:1snap1-0ubuntu5 are planned as upgrades over the Mozilla
debs (158.0~build2 and 1:158.0~build1). That also removes
firefox-l10n-en-gb and thunderbird-l10n-en-gb. A preferences file with
"Package: firefox* thunderbird*", "Pin: release o=Ubuntu", and "Pin-
Priority: -1" keeps the Mozilla debs. Bug 1683415 covers the upgrader
disabling sources that are not release-specific, as packages.mozilla.org
is, and bug 2153409 is the same swap caused by unattended-upgrades.

_Drafted by Claude (Anthropic AI assistant)._

** Affects: ubuntu-release-upgrader (Ubuntu)
     Importance: Undecided
         Status: New

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

Title:
  Release upgrade installs the Firefox snap when Firefox is installed as
  a deb from packages.mozilla.org

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/2171067/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to