Bug 1949464 - remove release-flatpak-repackage job and firefox-flatpak docker image r=releng-reviewers,bhearsum DONTBUILD

Differential Revision: https://phabricator.services.mozilla.com/D238956
This commit is contained in:
Julien Cristau
2025-04-02 11:21:00 +00:00
parent 9ed0f0b3f3
commit c444f31a9e
10 changed files with 0 additions and 363 deletions

View File

@@ -1,19 +0,0 @@
FROM freedesktopsdk/flatpak:22.08-x86_64
MAINTAINER release@mozilla.com
RUN mkdir /scripts/
WORKDIR /scripts/
# Copy everything in the docker/firefox-flatpak folder but the Dockerfile
#
# XXX The following pattern is neither a regex nor a glob one. It's
# documented at https://golang.org/pkg/path/filepath/#Match. There's no
# way of explicitly filtering out "Dockerfile". If one day, someone needs
# to add a file starting with "D", then we must revisit the pattern below.
COPY [^D]* /scripts/
RUN ["gcc", "-Wall", "-shared", "-o", "/scripts/close_range.so", "/scripts/close_range.c"]
ENV LD_PRELOAD /scripts/close_range.so
# Set a default command useful for debugging
CMD ["/bin/bash", "--login"]

View File

@@ -1,12 +0,0 @@
/*
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#include <errno.h>
int close_range(unsigned int first, unsigned int last, unsigned int flags) {
errno = ENOSYS;
return -1;
}

View File

@@ -1,18 +0,0 @@
#!/usr/bin/env python3
"""
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"""
import json
import sys
l10n_changesets_json_path = sys.argv[1]
with open(l10n_changesets_json_path) as f:
locales = json.load(f).keys()
linux_locales = [l for l in locales if l != "ja-JP-mac"]
print("\n".join(sorted(linux_locales)))

View File

@@ -1,6 +0,0 @@
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<svg id="Assets" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
<path d="M190.368 150.591c0.157 0.009 0.079 0.003 0 0zm-57.874-28.933c0.158 0.008 0.079 0.003 0 0zm346.228 44.674c-10.445-25.123-31.6-52.248-48.211-60.82 13.52 26.5 21.345 53.093 24.335 72.935 0 0.04 0.015 0.136 0.047 0.4-27.175-67.732-73.254-95.047-110.886-154.512-1.9-3.008-3.805-6.022-5.661-9.2a73.237 73.237 0 0 1-2.646-4.972 43.757 43.757 0 0 1-3.585-9.5 0.625 0.625 0 0 0-0.546-0.644 0.8 0.8 0 0 0-0.451 0c-0.033 0.011-0.084 0.051-0.119 0.065-0.053 0.02-0.12 0.069-0.176 0.095 0.026-0.036 0.083-0.117 0.1-0.135-53.437 31.3-75.587 86.093-81.282 120.97a128.057 128.057 0 0 0-47.624 12.153 6.144 6.144 0 0 0-3.041 7.63 6.034 6.034 0 0 0 8.192 3.525 116.175 116.175 0 0 1 41.481-10.826c0.468-0.033 0.937-0.062 1.405-0.1a117.624 117.624 0 0 1 5.932-0.211 120.831 120.831 0 0 1 34.491 4.777c0.654 0.192 1.295 0.414 1.946 0.616a120.15 120.15 0 0 1 5.539 1.842 121.852 121.852 0 0 1 3.992 1.564c1.074 0.434 2.148 0.868 3.206 1.331a118.453 118.453 0 0 1 4.9 2.307c0.743 0.368 1.485 0.735 2.217 1.117a120.535 120.535 0 0 1 4.675 2.587 107.785 107.785 0 0 1 2.952 1.776 123.018 123.018 0 0 1 42.028 43.477c-12.833-9.015-35.81-17.918-57.947-14.068 86.441 43.214 63.234 192.027-56.545 186.408a106.7 106.7 0 0 1-31.271-6.031 132.461 132.461 0 0 1-7.059-2.886c-1.356-0.618-2.711-1.243-4.051-1.935-29.349-15.168-53.583-43.833-56.611-78.643 0 0 11.093-41.335 79.433-41.335 7.388 0 28.508-20.614 28.9-26.593-0.09-1.953-41.917-18.59-58.223-34.656-8.714-8.585-12.851-12.723-16.514-15.829a71.7 71.7 0 0 0-6.225-4.7 111.335 111.335 0 0 1-0.675-58.733c-24.687 11.242-43.89 29.011-57.849 44.7h-0.111c-9.528-12.067-8.855-51.873-8.312-60.184-0.114-0.516-7.107 3.63-8.024 4.254a175.21 175.21 0 0 0-23.486 20.12 210.5 210.5 0 0 0-22.443 26.913c0 0.012-0.007 0.025-0.011 0.037 0-0.012 0.007-0.025 0.011-0.038a202.837 202.837 0 0 0-32.244 72.81c-0.058 0.265-2.29 10.054-3.92 22.147a265.794 265.794 0 0 0-0.769 5.651c-0.558 3.636-0.992 7.6-1.42 13.767-0.019 0.239-0.031 0.474-0.048 0.712a591.152 591.152 0 0 0-0.481 7.995c0 0.411-0.025 0.816-0.025 1.227 0 132.709 107.6 240.29 240.324 240.29 118.865 0 217.559-86.288 236.882-199.63 0.407-3.075 0.732-6.168 1.092-9.27 4.777-41.21-0.53-84.525-15.588-120.747zm-164.068 72.1z" fill="#fff"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -1,3 +0,0 @@
#!/bin/bash
export TMPDIR=$XDG_CACHE_HOME/tmp
exec /app/lib/firefox/firefox --name org.mozilla.firefox "$@"

View File

@@ -1,45 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>org.mozilla.firefox</id>
<launchable type="desktop-id">org.mozilla.firefox.desktop</launchable>
<name>Firefox</name>
<developer_name>Mozilla</developer_name>
<summary>Fast, Private &amp; Safe Web Browser</summary>
<metadata_license>CC0-1.0</metadata_license>
<project_license>MPL-2.0</project_license>
<description>
<p>When it comes to your life online, you have a choice: accept the factory settings or put your privacy first. When you choose Firefox as your default browser, youre choosing to protect your data while supporting an independent tech company. Firefox is also the only major browser backed by a non-profit fighting to give you more openness, transparency and control of your life online. Join hundreds of millions of people who choose to protect what's important by choosing Firefox - a web browser designed to be fast, easy to use, customizable and private.</p>
</description>
<releases>
<release version="$VERSION" date="$DATE"/>
</releases>
<keywords>
<keyword>mozilla</keyword>
<keyword>internet</keyword>
<keyword>web</keyword>
</keywords>
<content_rating type="oars-1.1" />
<url type="homepage">https://www.mozilla.org/firefox/</url>
<url type="donation">https://donate.mozilla.org/</url>
<url type="bugtracker">https://bugzilla.mozilla.org/</url>
<url type="help">https://support.mozilla.org/</url>
<url type="translate">https://wiki.mozilla.org/L10n:Starting_a_localization</url>
<screenshots>
<screenshot type="default">
<image type="source">https://raw.githubusercontent.com/mozilla-releng/scriptworker-scripts/master/pushflatpakscript/media/screenshots/image1.png</image>
<caption>The “New Tab” page</caption>
</screenshot>
<screenshot>
<image type="source">https://raw.githubusercontent.com/mozilla-releng/scriptworker-scripts/master/pushflatpakscript/media/screenshots/image2.png</image>
<caption>A Wikipedia article displayed in Firefox</caption>
</screenshot>
<screenshot>
<image type="source">https://raw.githubusercontent.com/mozilla-releng/scriptworker-scripts/master/pushflatpakscript/media/screenshots/image3.png</image>
<caption>The “Welcome to Firefox” page: “Open up an amazing internet”</caption>
</screenshot>
</screenshots>
<custom>
<value key="flathub::manifest">https://hg.mozilla.org/mozilla-central/file/tip/taskcluster/docker/firefox-flatpak/runme.sh</value>
</custom>
</component>

View File

@@ -1,187 +0,0 @@
#!/bin/bash
set -xe
# Future products supporting Flatpaks will set this accordingly
: PRODUCT "${PRODUCT:=firefox}"
# Required env variables
test "$VERSION"
test "$BUILD_NUMBER"
test "$CANDIDATES_DIR"
test "$L10N_CHANGESETS"
test "$FLATPAK_BRANCH"
test "$DESKTOP_FILE_URL"
# Optional env variables
: WORKSPACE "${WORKSPACE:=/home/worker/workspace}"
: ARTIFACTS_DIR "${ARTIFACTS_DIR:=/home/worker/artifacts}"
pwd
# XXX: this is used to populate the datetime in org.mozilla.firefox.appdata.xml
DATE=$(date +%Y-%m-%d)
export DATE
SCRIPT_DIRECTORY="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
TARGET_TAR_XZ_FULL_PATH="$ARTIFACTS_DIR/target.flatpak.tar.xz"
SOURCE_DEST="${WORKSPACE}/source"
# When updating this, please make sure to keep in sync the script for symbol
# scraping at
# https://github.com/mozilla/symbol-scrapers/blob/master/firefox-flatpak/script.sh
FREEDESKTOP_VERSION="23.08"
FIREFOX_BASEAPP_CHANNEL="23.08"
# XXX: these commands are temporarily, there's an upcoming fix in the upstream Docker image
# that we work on top of, from `freedesktopsdk`, that will make these two lines go away eventually
mkdir -p /root /tmp /var/tmp
mkdir -p "$ARTIFACTS_DIR"
rm -rf "$SOURCE_DEST" && mkdir -p "$SOURCE_DEST"
# XXX ensure we have a clean slate in the local flatpak repo
rm -rf ~/.local/share/flatpak/
CURL="curl --location --retry 10 --retry-delay 10"
# Download en-US linux64 binary
$CURL -o "${WORKSPACE}/firefox.tar.xz" \
"${CANDIDATES_DIR}/${VERSION}-candidates/build${BUILD_NUMBER}/linux-x86_64/en-US/firefox-${VERSION}.tar.xz"
# Use list of locales to fetch L10N XPIs
$CURL -o "${WORKSPACE}/l10n_changesets.json" "$L10N_CHANGESETS"
locales=$(python3 "$SCRIPT_DIRECTORY/extract_locales_from_l10n_json.py" "${WORKSPACE}/l10n_changesets.json")
DISTRIBUTION_DIR="$SOURCE_DEST/distribution"
if [[ "$PRODUCT" == "firefox" ]]; then
# Get Flatpak configuration
PARTNER_CONFIG_DIR="$WORKSPACE/partner_config"
git clone https://github.com/mozilla-partners/flatpak.git "$PARTNER_CONFIG_DIR"
mv "$PARTNER_CONFIG_DIR/desktop/flatpak/distribution" "$DISTRIBUTION_DIR"
else
mkdir -p "$DISTRIBUTION_DIR"
fi
mkdir -p "$DISTRIBUTION_DIR/extensions"
for locale in $locales; do
$CURL -o "$DISTRIBUTION_DIR/extensions/langpack-${locale}@firefox.mozilla.org.xpi" \
"$CANDIDATES_DIR/${VERSION}-candidates/build${BUILD_NUMBER}/linux-x86_64/xpi/${locale}.xpi"
done
envsubst < "$SCRIPT_DIRECTORY/org.mozilla.firefox.appdata.xml.in" > "${WORKSPACE}/org.mozilla.firefox.appdata.xml"
$CURL -o "$WORKSPACE/org.mozilla.firefox.desktop" "$DESKTOP_FILE_URL"
cp -v "$SCRIPT_DIRECTORY/launch-script.sh" "$WORKSPACE"
cp -v "$SCRIPT_DIRECTORY/firefox-symbolic.svg" "$WORKSPACE"
cd "${WORKSPACE}"
flatpak remote-add --user --if-not-exists --from flathub https://dl.flathub.org/repo/flathub.flatpakrepo
# XXX: added --user to `flatpak install` to avoid ambiguity
flatpak install --user -y flathub org.mozilla.firefox.BaseApp//${FIREFOX_BASEAPP_CHANNEL} --no-deps
# XXX: this command is temporarily, there's an upcoming fix in the upstream Docker image
# that we work on top of, from `freedesktopsdk`, that will make these two lines go away eventually
mkdir -p build
cp -r ~/.local/share/flatpak/app/org.mozilla.firefox.BaseApp/current/active/files build/files
ARCH=$(flatpak --default-arch)
cat <<EOF > build/metadata
[Application]
name=org.mozilla.firefox
runtime=org.freedesktop.Platform/${ARCH}/${FREEDESKTOP_VERSION}
sdk=org.freedesktop.Sdk/${ARCH}/${FREEDESKTOP_VERSION}
base=app/org.mozilla.firefox.BaseApp/${ARCH}/${FIREFOX_BASEAPP_CHANNEL}
[Extension org.mozilla.firefox.Locale]
directory=share/runtime/langpack
autodelete=true
locale-subset=true
[Extension org.freedesktop.Platform.ffmpeg-full]
directory=lib/ffmpeg
add-ld-path=.
no-autodownload=true
version=${FREEDESKTOP_VERSION}
[Extension org.mozilla.firefox.systemconfig]
directory=etc/firefox
no-autodownload=true
EOF
cat <<EOF > build/metadata.locale
[Runtime]
name=org.mozilla.firefox.Locale
[ExtensionOf]
ref=app/org.mozilla.firefox/${ARCH}/${FLATPAK_BRANCH}
EOF
appdir=build/files
install -d "${appdir}/lib/"
(cd "${appdir}/lib/" && tar xfJ "${WORKSPACE}/firefox.tar.xz")
install -D -m644 -t "${appdir}/share/appdata" org.mozilla.firefox.appdata.xml
install -D -m644 -t "${appdir}/share/applications" org.mozilla.firefox.desktop
for size in 16 32 48 64 128; do
install -D -m644 "${appdir}/lib/firefox/browser/chrome/icons/default/default${size}.png" "${appdir}/share/icons/hicolor/${size}x${size}/apps/org.mozilla.firefox.png"
done
install -D -m644 firefox-symbolic.svg "${appdir}/share/icons/hicolor/symbolic/apps/org.mozilla.firefox-symbolic.svg"
mkdir -p "${appdir}/lib/ffmpeg"
mkdir -p "${appdir}/etc/firefox"
appstream-compose --prefix="${appdir}" --origin=flatpak --basename=org.mozilla.firefox org.mozilla.firefox
appstream-util mirror-screenshots "${appdir}"/share/app-info/xmls/org.mozilla.firefox.xml.gz "https://dl.flathub.org/repo/screenshots/org.mozilla.firefox-${FLATPAK_BRANCH}" build/screenshots "build/screenshots/org.mozilla.firefox-${FLATPAK_BRANCH}"
# XXX: we used to `install -D` before which automatically created the components
# of target, now we need to manually do this since we're symlinking
mkdir -p "${appdir}/lib/firefox/distribution/extensions"
# XXX: we put the langpacks in /app/share/locale/$LANG_CODE and symlink that
# directory to where Firefox looks them up; this way only subset configured
# on user system is downloaded vs all locales
for locale in $locales; do
install -D -m644 -t "${appdir}/share/runtime/langpack/${locale%%-*}/" "${DISTRIBUTION_DIR}/extensions/langpack-${locale}@firefox.mozilla.org.xpi"
ln -sf "/app/share/runtime/langpack/${locale%%-*}/langpack-${locale}@firefox.mozilla.org.xpi" "${appdir}/lib/firefox/distribution/extensions/langpack-${locale}@firefox.mozilla.org.xpi"
done
install -D -m644 -t "${appdir}/lib/firefox/distribution" "$DISTRIBUTION_DIR/distribution.ini"
install -D -m755 launch-script.sh "${appdir}/bin/firefox"
# We use features=devel to enable ptrace, which we need for the crash
# reporter. The application is still confined in a pid namespace, so
# that won't let us escape the flatpak sandbox. See bug 1653852.
flatpak build-finish build \
--allow=devel \
--share=ipc \
--share=network \
--socket=pulseaudio \
--socket=wayland \
--socket=fallback-x11 \
--socket=pcsc \
--socket=cups \
--require-version=0.11.1 \
--persist=.mozilla \
--env=DICPATH=/usr/share/hunspell \
--filesystem=xdg-download:rw \
--filesystem=/run/.heim_org.h5l.kcm-socket \
--filesystem=xdg-run/speech-dispatcher:ro \
--device=all \
--talk-name=org.freedesktop.FileManager1 \
--system-talk-name=org.freedesktop.NetworkManager \
--talk-name=org.a11y.Bus \
--talk-name="org.gtk.vfs.*" \
--own-name="org.mpris.MediaPlayer2.firefox.*" \
--own-name="org.mozilla.firefox.*" \
--own-name="org.mozilla.firefox_beta.*" \
--command=firefox
flatpak build-export --disable-sandbox --no-update-summary --exclude='/share/runtime/langpack/*/*' repo build "$FLATPAK_BRANCH"
flatpak build-export --disable-sandbox --no-update-summary --metadata=metadata.locale --files=files/share/runtime/langpack repo build "$FLATPAK_BRANCH"
ostree commit --repo=repo --canonical-permissions --branch=screenshots/x86_64 build/screenshots
flatpak build-update-repo --generate-static-deltas repo
XZ_OPT='-e9' tar cvfJ flatpak.tar.xz repo
mv -- flatpak.tar.xz "$TARGET_TAR_XZ_FULL_PATH"
# XXX: if we ever wanted to go back to building flatpak bundles, we can revert this command; useful for testing individual artifacts, not publishable
# flatpak build-bundle "$WORKSPACE"/repo org.mozilla.firefox.flatpak org.mozilla.firefox
# TARGET_FULL_PATH="$ARTIFACTS_DIR/target.flatpak"
# mv -- *.flatpak "$TARGET_FULL_PATH"

View File

@@ -305,10 +305,6 @@ release-binary-transparency
Binary transparency creates a publicly verifiable log of binary shas for downstream
release auditing. https://wiki.mozilla.org/Security/Binary_Transparency
release-flatpak-repackage
-------------------------
Generate an installer using Flathub's Flatpak format.
release-flatpak-push
--------------------
Pushes Flatpak repackage on Flathub

View File

@@ -274,8 +274,6 @@ tasks:
periodic-updates:
symbol: I(file)
parent: debian12-base
firefox-flatpak:
symbol: I(flatpak)
webrender:
symbol: I(webrender)
parent: debian12-base

View File

@@ -1,67 +0,0 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
---
loader: taskgraph.loader.transform:loader
transforms:
- gecko_taskgraph.transforms.release:run_on_releases
- gecko_taskgraph.transforms.release_deps:transforms
- gecko_taskgraph.transforms.release_flatpak_repackage:transforms
- gecko_taskgraph.transforms.task:transforms
kind-dependencies:
- post-beetmover-dummy
- post-langpack-dummy
- repackage
task-defaults:
description: Generates flatpak by repackaging the existing tar.xz
run-on-projects: [] # to make sure this never runs as part of CI
run-on-releases: [beta, release, release-rc]
shipping-phase: promote
scopes: []
treeherder:
platform: linux64-shippable/opt
kind: build
tier: 2
worker-type: b-linux-gcp
worker:
implementation: docker-worker
os: linux
max-run-time: 7200
docker-image: {in-tree: firefox-flatpak}
artifacts:
- name: public/build
type: directory
path: /home/worker/artifacts/
command:
- /bin/bash
- -cx
- ./runme.sh
env:
VERSION: "{release_config[version]}"
BUILD_NUMBER: "{release_config[build_number]}"
CANDIDATES_DIR:
by-release-level:
staging:
https://ftp.stage.mozaws.net/pub/{task[shipping-product]}/candidates
production:
https://archive.mozilla.org/pub/{task[shipping-product]}/candidates
LC_ALL: C.UTF-8
LANG: C.UTF-8
L10N_CHANGESETS: "{config_params[head_repository]}/raw-file/{config_params[head_rev]}/browser/locales/l10n-changesets.json"
FLATPAK_BRANCH:
by-project:
mozilla-release: stable
default: beta
chain-of-trust: true
tasks:
firefox:
shipping-product: firefox
attributes:
build_platform: linux64-shippable
build_type: opt
treeherder:
symbol: Flatpak(r)