Files
sousa-gecko/build/docs/flatpak.md
T
Sylvestre Ledru df0583fb15 Bug 2038819 - Convert build/docs RST to Markdown r=firefox-build-system-reviewers,sergesanspaille
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
2026-07-04 10:18:26 +00:00

92 lines
3.8 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
(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.:
```shell
$ 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](https://ftp.mozilla.org/pub/firefox/nightly/latest-mozilla-central-l10n/linux-x86_64/xpi/).
## How to hack on try
Pushing to try is basically just:
```shell
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:
```shell
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):
```shell
$ flatpak remotes
Name Options
firefox-try user
flathub user
```
Then you can install your local build:
```shell
$ 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`.