Convert build/docs/*.rst (top-level and mozbuild/) to MyST-flavored
Markdown.
- Keep build/docs/mozbuild-symbols.rst as RST. The mozbuildsymbols
custom directive emits nodes that confuse autosectionlabel when
wrapped in a MyST eval-rst block.
- Keep build/docs/supported-configurations.rst as RST so that
docs/contributing/build/supported.md can continue to use the MyST
{include} directive on the original source.
- Refresh allowed-warnings globs to match the .md filenames for
code-quality, contributing, crash-reporting, gtest, jsloader, js,
overview, setup, and js/build.
Differential Revision: https://phabricator.services.mozilla.com/D304226
3.8 KiB
(flatpak)=
Firefox Flatpak Packaging
This page explains interactions between Firefox and Flatpak packaging format.
Where is the upstream
The code reference itself is mozilla-central and the repackaging is under {searchfox}the mach repackage flatpak command <python/mozbuild/mozbuild/repackaging/flatpak.py>.
Where to report bugs
All bugs should be reported to Bugzilla in the appropriate component depending on the bug and marked as blocking the flatpak meta-bug.
Build process
Perform a build and then run mach repackage flatpak, e.g.:
$ mach repackage flatpak \
--input target.tar.xz \
--name org.mozilla.firefox \
--arch aarch64 \
--version 137.0a1 \
--product firefox \
--release-type nightly \
--flatpak-branch nightly \
--template-dir browser/installer/linux/app/flatpak \
--langpack-pattern $PWD/langpacks/*.xpi \
--output test.flatpak.tar.xz,
Where target.tar.xz can be a downloaded artifact from try build or built from a local build. You will also want to download some langpack.
How to hack on try
Pushing to try is basically just:
mach try fuzzy --full -q "'repackage 'flatpak !shippable"`
This will produce a repackage flatpak task at the end that generates a target.flatpak.tar.xz.
Installing the try build
Download and extract the previously generated target.flatpak.tar.xz and it will produce a ./repo directory that you can directly use with flatpak:
flatpak --user --no-gpg-verify remote-add firefox-try ./repo/
This should add you a user-level firefox-try flatpak remote, you can verify with (flathub remote may be a user or a system level remote):
$ flatpak remotes
Name Options
firefox-try user
flathub user
Then you can install your local build:
$ flatpak install firefox-try firefox
Looking for matches…
Found ref ‘app/org.mozilla.firefox/x86_64/nightly’ in remote ‘firefox-try’ (user).
Use this ref? [Y/n]: y
org.mozilla.firefox permissions:
ipc network cups fallback-x11 pcsc pulseaudio wayland x11 devices
devel file access [1] dbus access [2] bus ownership [3] system dbus access [4]
[1] /run/.heim_org.h5l.kcm-socket, xdg-download, xdg-run/speech-dispatcher:ro
[2] org.a11y.Bus, org.freedesktop.FileManager1, org.gtk.vfs.*
[3] org.mozilla.firefox.*, org.mozilla.firefox_beta.*, org.mpris.MediaPlayer2.firefox.*
[4] org.freedesktop.NetworkManager
ID Branch Op Remote Download
1. [✓] org.freedesktop.Platform.GL.default 24.08 u flathub 67,3 Mo / 156,6 Mo
2. [✓] org.freedesktop.Platform.GL.default 24.08extra u flathub 3,9 Mo / 156,6 Mo
3. [✓] org.freedesktop.Platform.Locale 24.08 u flathub 282,1 Ko / 380,3 Mo
4. [✓] org.freedesktop.Platform 24.08 u flathub 25,4 Mo / 264,4 Mo
5. [✓] org.mozilla.firefox.Locale nightly i firefox-try 1,0 Ko / 1,6 Mo
6. [✓] org.mozilla.firefox nightly i firefox-try 1,0 Ko / 111,5 Mo
Changes complete.
And after that you can just run flatpak run org.mozilla.firefox//nightly.