Package: firefox-esr
Version: 115.9.0esr-2
Severity: wishlist
X-Debbugs-Cc: wes...@schwengle.net

Dear Maintainer,

I went digging for how firefox works on Debian because I want to make a partial
switch from Google Chrome to firefox. There are some things that could be
improved I think. Mainly by starting to make use of update-alternatives.

I want to start of with by saying this bug is more or less a combination of
bugs #1001724 and #1033594. They both address why I have this wish, for
different reasons.

/usr/bin/firefox is a wrapper script to which looks for $FIREFOX.real, where
$FIREFOX is assuming, firefox. It looks for command firefox, which may be
something else if the user has a wrapper script itself in their PATH and this
than misses its target, #1001724 in short.

The easy way to solve this is IMO a update-alternatives group for firefox like
Google Chrome does (via the Google repo). They have an update-alternatives
group, aptly named `google-chrome', which provides `/usr/bin/google-chrome' and
as a user you can change this to have google-chrome-{unstable,beta,stable} as
your google-chrome. Instead of the wrapper script, firefox-esr should provide
firefox-esr. The firefox package should provide firefox-stable (or similar) and
install itself at a higher level than firefox-esr. This way the firefox binary
"overrides" the ESR. At least, that is my take on it, feel free to swap the
priorities around.

It would be nice if the upstream firefox packages, also adhere to this, eg,
firefox-nightly is already installed as firefox-nightly, but doesn't add an
update-alternatives.

Another reason, besides the wrapper script, is that firefox doesn't really put
profiles in a different path, eg, `~/.config/firefox-nightly',
`~/.config/firefox', etc etc. They however in their compatibility.ini, eg in
`~/.mozilla/firefox/rqowq6li.default-esr/compatibility.ini', you can see a
LastPlatformDIr, which is for the nightly version:

  LastPlatformDir=/usr/lib/firefox-esr

Now, when I run `readlink -m /usr/bin/firefox-nightly' it returns
`/usr/lib/firefox-nightly/firefox'. The LastPlatformDir is the dirname of the
binary. Now, with a propper update-alternative I can also do this on the binary
`/usr/bin/firefox', as this will point to `/etc/alternatives/firefox', which in
turn links to `/usr/bin/firefox-nightly', which is
`/usr/lib/firefox-nightly/firefox'. I can do a little bit of magic with some
shell scripts to startup firefox profiles for different versions.

The wrapper script blocks this from working:

  $ readlink -m /usr/bin/firefox
  /usr/bin/firefox

I hope to see this wish become reality :)


Cheers,
Wesley





-- Package-specific info:

-- Extensions information
Name: Add-ons Search Detection
Location: /usr/lib/firefox-esr/browser/omni.ja
Package: firefox-esr
Status: enabled

Name: Bing
Location: /usr/lib/firefox-esr/browser/omni.ja
Package: firefox-esr
Status: enabled

Name: Dark theme
Location: /usr/lib/firefox-esr/browser/omni.ja
Package: firefox-esr
Status: user-disabled

Name: DuckDuckGo
Location: /usr/lib/firefox-esr/browser/omni.ja
Package: firefox-esr
Status: enabled

Name: Firefox Alpenglow theme
Location: /usr/lib/firefox-esr/browser/omni.ja
Package: firefox-esr
Status: user-disabled

Name: Firefox Screenshots
Location: /usr/lib/firefox-esr/browser/features/screensh...@mozilla.org.xpi
Package: firefox-esr
Status: enabled

Name: Form Autofill
Location: /usr/lib/firefox-esr/browser/features/formautof...@mozilla.org.xpi
Package: firefox-esr
Status: enabled

Name: Google
Location: /usr/lib/firefox-esr/browser/omni.ja
Package: firefox-esr
Status: enabled

Name: Light theme
Location: /usr/lib/firefox-esr/browser/omni.ja
Package: firefox-esr
Status: user-disabled

Name: Picture-In-Picture
Location: /usr/lib/firefox-esr/browser/features/pictureinpict...@mozilla.org.xpi
Package: firefox-esr
Status: enabled

Name: System theme — auto theme
Location: /usr/lib/firefox-esr/omni.ja
Package: firefox-esr
Status: enabled

Name: Web Compatibility Interventions
Location: /usr/lib/firefox-esr/browser/features/webcom...@mozilla.org.xpi
Package: firefox-esr
Status: enabled

Name: WebCompat Reporter
Location: 
/usr/lib/firefox-esr/browser/features/webcompat-repor...@mozilla.org.xpi
Package: firefox-esr
Status: user-disabled

Name: Wikipedia (en)
Location: /usr/lib/firefox-esr/browser/omni.ja
Package: firefox-esr
Status: enabled


-- Addons package information
ii  firefox-esr    115.9.0esr-2 amd64        Mozilla Firefox web browser - 
Extended Support Release (ESR)

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (900, 'unstable'), (500, 'testing'), (100, 'experimental'), (10, 
'stable-updates'), (10, 'stable-security'), (10, 'oldstable-security'), (10, 
'oldoldstable'), (10, 'stable'), (10, 'oldstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.7.7-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_WARN, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages firefox-esr depends on:
ii  debianutils          5.17
ii  fontconfig           2.15.0-1.1
ii  libasound2t64        1.2.11-1+b1
ii  libatk1.0-0t64       2.51.90-4
ii  libc6                2.37-15.1
ii  libcairo-gobject2    1.18.0-2
ii  libcairo2            1.18.0-2
ii  libdbus-1-3          1.14.10-4+b1
ii  libdbus-glib-1-2     0.112-3+b2
ii  libevent-2.1-7t64    2.1.12-stable-8.1+b1
ii  libffi8              3.4.6-1
ii  libfontconfig1       2.15.0-1.1
ii  libfreetype6         2.13.2+dfsg-1+b2
ii  libgcc-s1            14-20240315-1
ii  libgdk-pixbuf-2.0-0  2.42.10+dfsg-3+b2
ii  libglib2.0-0t64      2.78.4-5
ii  libgtk-3-0t64        3.24.41-3
ii  libnspr4             2:4.35-1.1+b1
ii  libnss3              2:3.99-1
ii  libpango-1.0-0       1.52.1+ds-1
ii  libstdc++6           14-20240315-1
ii  libvpx8              1.13.1-2
ii  libx11-6             2:1.8.7-1
ii  libx11-xcb1          2:1.8.7-1
ii  libxcb-shm0          1.15-1
ii  libxcb1              1.15-1
ii  libxcomposite1       1:0.4.5-1
ii  libxdamage1          1:1.1.6-1
ii  libxext6             2:1.3.4-1+b1
ii  libxfixes3           1:6.0.0-2
ii  libxrandr2           2:1.5.4-1
ii  libxtst6             2:1.2.3-1.1
ii  procps               2:4.0.4-4
ii  zlib1g               1:1.3.dfsg-3.1

Versions of packages firefox-esr recommends:
ii  libavcodec-extra60 [libavcodec60]  7:6.1.1-2

Versions of packages firefox-esr suggests:
ii  fonts-lmodern                   2.005-1
ii  fonts-stix [otf-stix]           1.1.1-5
ii  libcanberra0t64 [libcanberra0]  0.30-12.2
ii  libgssapi-krb5-2                1.20.1-6
pn  pulseaudio                      <none>

-- debconf-show failed

Reply via email to