tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

flatpak.rst (4264B)


      1 .. _flatpak:
      2 
      3 =========================
      4 Firefox Flatpak Packaging
      5 =========================
      6 
      7 This page explains interactions between Firefox and Flatpak packaging format.
      8 
      9 Where is the upstream
     10 =====================
     11 
     12 The code reference itself is mozilla-central and the repackaging is under `the mach repackage flatpak command <https://searchfox.org/mozilla-central/source/python/mozbuild/mozbuild/repackaging/flatpak.py>`_.
     13 
     14 Where to report bugs
     15 ====================
     16 
     17 All bugs should be reported to Bugzilla in the appropriate component depending on the bug and marked as blocking the ``flatpak`` meta-bug.
     18 
     19 Build process
     20 =============
     21 
     22 Perform a build and then run ``mach repackage flatpak``, e.g.:
     23 
     24 .. code-block:: shell
     25 
     26   $ mach repackage flatpak \
     27                    --input target.tar.xz \
     28                    --name org.mozilla.firefox \
     29                    --arch aarch64 \
     30                    --version 137.0a1 \
     31                    --product firefox \
     32                    --release-type nightly \
     33                    --flatpak-branch nightly \
     34                    --template-dir browser/installer/linux/app/flatpak \
     35                    --langpack-pattern $PWD/langpacks/*.xpi \
     36                    --output test.flatpak.tar.xz,
     37 
     38 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/>`_.
     39 
     40 How to hack on try
     41 ==================
     42 
     43 Pushing to try is basically just:
     44 
     45 .. code-block:: shell
     46 
     47    $ mach try fuzzy --full -q "'repackage 'flatpak !shippable"`
     48 
     49 This will produce a repackage flatpak task at the end that generates a ``target.flatpak.tar.xz``.
     50 
     51 Installing the try build
     52 ========================
     53 
     54 Download and extract the previously generated ``target.flatpak.tar.xz`` and it will produce a ``./repo`` directory that you can directly use with flatpak:
     55 
     56 .. code-block:: shell
     57 
     58    $ flatpak --user --no-gpg-verify remote-add firefox-try ./repo/
     59 
     60 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):
     61 
     62 .. code-block:: shell
     63 
     64    $ flatpak remotes
     65    Name        Options
     66    firefox-try user
     67    flathub     user
     68 
     69 Then you can install your local build:
     70 
     71 .. code-block:: shell
     72 
     73    $ flatpak install firefox-try firefox
     74    Looking for matches…
     75    Found ref ‘app/org.mozilla.firefox/x86_64/nightly’ in remote ‘firefox-try’ (user).
     76    Use this ref? [Y/n]: y
     77 
     78    org.mozilla.firefox permissions:
     79        ipc          network                cups                  fallback-x11            pcsc                         pulseaudio       wayland       x11       devices
     80        devel        file access [1]        dbus access [2]       bus ownership [3]       system dbus access [4]
     81 
     82        [1] /run/.heim_org.h5l.kcm-socket, xdg-download, xdg-run/speech-dispatcher:ro
     83        [2] org.a11y.Bus, org.freedesktop.FileManager1, org.gtk.vfs.*
     84        [3] org.mozilla.firefox.*, org.mozilla.firefox_beta.*, org.mpris.MediaPlayer2.firefox.*
     85        [4] org.freedesktop.NetworkManager
     86 
     87 
     88            ID                                              Branch                 Op            Remote                 Download
     89     1. [] org.freedesktop.Platform.GL.default             24.08                  u             flathub                 67,3 Mo / 156,6 Mo
     90     2. [] org.freedesktop.Platform.GL.default             24.08extra             u             flathub                  3,9 Mo / 156,6 Mo
     91     3. [] org.freedesktop.Platform.Locale                 24.08                  u             flathub                282,1 Ko / 380,3 Mo
     92     4. [] org.freedesktop.Platform                        24.08                  u             flathub                 25,4 Mo / 264,4 Mo
     93     5. [] org.mozilla.firefox.Locale                      nightly                i             firefox-try              1,0 Ko / 1,6 Mo
     94     6. [] org.mozilla.firefox                             nightly                i             firefox-try              1,0 Ko / 111,5 Mo
     95 
     96    Changes complete.
     97 
     98 And after that you can just run ``flatpak run org.mozilla.firefox//nightly``.