Open Bug 1799516 (firefox-deb-repackage) Opened 2 years ago Updated 5 days ago

[meta] Ship Firefox Linux releases in deb packages

Categories

(Release Engineering :: Release Automation, enhancement)

Desktop
Linux
enhancement

Tracking

(Not tracked)

REOPENED

People

(Reporter: gabriel, Assigned: gabriel)

References

(Depends on 13 open bugs, Blocks 2 open bugs)

Details

(Keywords: meta)

Attachments

(1 file)

There is no Mozilla repository (or deb packages) for people to update and install Firefox via APT on Debian, Ubuntu, and derivatives.

Depends on: 1799763
Depends on: 1799769
Depends on: 1799770

I guess two questions here: Should we host our debian repository out of archive.mozilla.org, or another sub-domain? And should we manage it ourselves, or use a managed service like Artifact Registry?

My understanding is that Artifact Registry doesn't support custom domains, so that might force our decision for us? Or we'd need to put something in front of Artifact Registry. Probably also good to look at bandwidth costs for Artifact Registry vs our own load balancers.

For future reference: jbuck found https://cloud.google.com/blog/topics/developers-practitioners/hack-your-own-custom-domains-container-registry which implies we can just put a reverse proxy (and CDN) in front of artifact registry and serve it the same way we do the rest of productdelivery

The layout on archive.m.o has an impact on other processes and standing practices. The official version should be stored in the normal release build hierarchy.

Reminder: A user accessible package repository is a new service, and an RRA needs to be done prior to any go-live. That can also address the domain question.

Depends on: 1811104
Depends on: 1811114
Alias: firefox-debian-repackage → firefox-deb-repackage
Summary: [meta] Ship Firefox Linux releases in Debian Packages → [meta] Ship Firefox Linux releases in deb packages
Depends on: 1816076
Assignee: nobody → gabriel
Attachment #9317951 - Attachment description: WIP: Bug 1799516 - Update firefox bin link to match the name of the .deb package → Bug 1799516 - Update firefox bin link to match the name of the .deb package r?#releng-reviewers
Status: NEW → ASSIGNED
Attachment #9317951 - Attachment description: Bug 1799516 - Update firefox bin link to match the name of the .deb package r?#releng-reviewers → Bug 1799516 - Update firefox bin link to match the name of the .deb package r?jlorenzo,#releng-reviewers
Depends on: 1817943
Depends on: 1818168
Depends on: 1818275
Pushed by gbustamante@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/2678385eb9b2 Update firefox bin link to match the name of the .deb package r=releng-reviewers,jlorenzo
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED

Reopening bug for being a meta one.

Status: RESOLVED → REOPENED
Keywords: meta
Resolution: FIXED → ---
Depends on: 1822869
No longer depends on: 1816076
See Also: → 1816076
Depends on: 1824089
Depends on: 1824327
Depends on: 1825582
No longer depends on: 1825582

That's my bad, I cloned one of the beetmover bugs here to file a different one and forgot to delete the "blocks" section 🤦‍♂️

Depends on: 1825834
Depends on: 1825847
Depends on: 1825886
See Also: → 1772219

I linked Bug 1772219 because this might impact users of the Firefox .deb packages when they run apt-get upgrade

Depends on: 1826540
Depends on: 1826748
Depends on: 1826792
Depends on: 1827849
See Also: → 1705217
See Also: → 1724360

What does Chrome differently or does it also suffer from bug 1705217, etc?

(In reply to Darkspirit from comment #10)

  1. What does Chrome differently or does it also suffer from bug 1705217, etc?

They use a fork server that they call the zygote process to launch new processes from in-memory data rather than relying on the files on disk. See this page for more details.

See Also: → forkserver
Depends on: 1828775

(In reply to Robin Steuber (they/them) [:bytesized] from comment #11)

(In reply to Darkspirit from comment #10)

  1. What does Chrome differently or does it also suffer from bug 1705217, etc?

They use a fork server that they call the zygote process to launch new processes from in-memory data rather than relying on the files on disk. See this page for more details.

I am getting the feeling that the Nightly .deb builds might not be viable without fixing this.

Depends on: 1830165
No longer depends on: 1830516
See Also: 1772219
Depends on: 1835051
Depends on: 1835141
Depends on: 1835711
Severity: -- → N/A
Depends on: 1836348
Depends on: 1839244
Depends on: 1832206
See Also: → 1832206
No longer depends on: 1832206
Depends on: 1842885

Johan, can you please clarify what's needed from a relnote perspective here?

Flags: needinfo?(jlorenzo)

I'm no expert in release notes. I was thinking of something like:

New: Mozilla's new .deb package for Debian, Ubuntu, and Linux Mint users. See these instructions[add link].

Would an entry like this make sense?

Flags: needinfo?(jlorenzo)
Depends on: 1845367
Depends on: 1853803
Depends on: 1853807
Depends on: 1860752
Depends on: 1861929
Depends on: 1862456
Depends on: 1863757
Regressions: 1868466
Depends on: 1876701
Depends on: 1876829
Depends on: 1879893
Depends on: 1882556
Depends on: 1884980
See Also: → 1887210
Depends on: 1892034
Blocks: 1894192
Component: General → Release Automation: Packaging
Depends on: 1897733
Depends on: 1900605
Duplicate of this bug: 1766854

I performed an other test on an actual host :

cpu Intel Core i5-2520M
os Xubuntu 21.10 (impish)
hard disk model ST9250320AS (5400 r/mn choosen because less noise)
desktop : XFCE
preload isn't installed

I installed one of the following flavours of Firefox at a time (I ensured the other flavour was desinstalled) :

either the snap package for version 101.0-2
or the deb package (from ubuntu repository) for version 100.0.2.

Before starting the test of a flavour, I started it for the first time and I made the new page empty (no web search, no shortcut or recent activity).

Below is the test :

The host is up to date from the day (snap refresh, apt update), I restart the computer.
I login into the guest desktop environment.
I wait for roughly 60 s (stopwatch in hand).
I launch Firefox by the desktop menu entry and measure the start-up duration until the window appears.
I close Firefox and wait roughly 30s (stopwatch in hand).
I launch Firefox again and measure.
I close Firefox and wait roughly 30s (stopwatch in hand).
I launch Firefox again and measure.

In case of the deb package application :
4. gives 21 s
6. gives 3 s
8. gives 3 s

In the case of the snap package application :
4. gives 27 s
6. gives 4 s
8. gives 4 s

As a conclusion for this specific hardware and those software versions, the snap flavour is roughly 30% slower than deb package in both cold or warm start-up.

There is a last reason for providing a deb package. On Ubuntu 22.04 I don't need the snap except for Firefox . However, the snap system slows down the startup of Ubuntu 22.04.

I'm describing below an other test with the same physical host and virtual guest.
I installed the xfce desktop environment (via tasksel) and I uninstalled all lxqt packages. I disabled the snap user service start (from the xfce session configuration panel).
Then, the cold start of the deb package application is down in less than 2 seconds (better). Maybe de xfce desktop environment already loaded a few libraries (libgtk-3-0, ...).
In addition, I measured the used memory (free -k) by comparing the "used" memory field before launch and a few seconds after the window appeared.
With deb package application : 266 MB.
With snap package application : 397 MB (+49%).
It seems the deb package application saves memory because it is sharing the libraries with the other applications of the desktop.
Note that I didn't count the used memory by the snap machinery (in case you wouldn't install snapd with a deb package application).

(In reply to Jérôme from comment #19)

I'm describing below an other test with the same physical host and virtual guest.
Host : a Debian host.
Guest : Debian bookworm x86_64, LXQT, deinstalled preload and firefox-esr for light desktop.
On the guest I installed 2 flavours of the same 100.0 version of Firefox on :

  • the snap : 100.0-2 (snap revision 1300) with the other required snaps (gnome-3-38-2004 0+git.1f9014a rev 99, gtk-common-themes 0.1-59-g7bca6ae rev 1519, core20 20220329 rev 1434)
  • the deb package by hand from sid repository : 100.0-1.
See Also: → tb-deb
Depends on: 1904564
Depends on: 1905073
Depends on: 1905149
No longer depends on: 1909593
Depends on: 1921960
Depends on: 1926556
Depends on: 1884336
Depends on: 1933427
See Also: → 1934634
QA Contact: jlorenzo
Component: Release Automation: Packaging → Release Automation
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: