summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO32
-rw-r--r--0001-Use-remoting-name-for-GDK-application-names.patch57
-rw-r--r--PKGBUILD225
-rw-r--r--firefox-beta.desktop347
-rw-r--r--firefox-beta.install13
-rw-r--r--firefox-symbolic.svg30
-rw-r--r--firefox.sh2
-rw-r--r--upload-symbol-archive25
8 files changed, 606 insertions, 125 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 9f63cc381511..355abaa83b70 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = firefox-beta
pkgdesc = Standalone web browser from mozilla.org - Beta
- pkgver = 70.0b13
+ pkgver = 95.0b2
pkgrel = 1
url = https://www.mozilla.org/en-US/firefox/channel/#beta
arch = i686
@@ -11,7 +11,6 @@ pkgbase = firefox-beta
makedepends = unzip
makedepends = zip
makedepends = diffutils
- makedepends = python2-setuptools
makedepends = yasm
makedepends = mesa
makedepends = imake
@@ -22,16 +21,16 @@ pkgbase = firefox-beta
makedepends = clang
makedepends = llvm
makedepends = jack
- makedepends = gtk2
- makedepends = python
makedepends = nodejs
- makedepends = python2-psutil
makedepends = cbindgen
makedepends = nasm
+ makedepends = python-setuptools
+ makedepends = python-psutil
+ makedepends = python-zstandard
+ makedepends = lld
+ makedepends = dump_syms
depends = gtk3
- depends = mozilla-common
depends = libxt
- depends = startup-notification
depends = mime-types
depends = dbus-glib
depends = ffmpeg
@@ -43,19 +42,20 @@ pkgbase = firefox-beta
optdepends = pulseaudio: Audio support
optdepends = speech-dispatcher: Text-to-Speech
optdepends = hunspell-en_US: Spell checking, American English
- provides = firefox=70.0b13
+ optdepends = xdg-desktop-portal: Screensharing with Wayland
+ provides = firefox=95.0b2
conflicts = firefox-beta-bin
options = !emptydirs
options = !makeflags
options = !strip
- source = http://ftp.mozilla.org/pub/firefox/releases/70.0b13/source/firefox-70.0b13.source.tar.xz
- source = firefox.sh
+ source = http://archive.mozilla.org/pub/firefox/releases/95.0b2/source/firefox-95.0b2.source.tar.xz
+ source = http://archive.mozilla.org/pub/firefox/releases/95.0b2/source/firefox-95.0b2.source.tar.xz.asc
+ source = 0001-Use-remoting-name-for-GDK-application-names.patch
source = firefox-beta.desktop
- source = firefox-symbolic.svg
- sha256sums = b53e893c0584f2f890f1675cd76001cfb68a03648fe21d430a7195a14270427b
- sha256sums = 367100e5f66523a90c3792e2e0d0e2fe8a3c28748b905ce9f5f6b121343d7842
- sha256sums = d6b4c91a7fe77f9a335b44b943e120ce44511e46bbb16ae305cc82b4c3db66cd
- sha256sums = a2474b32b9b2d7e0fb53a4c89715507ad1c194bef77713d798fa39d507def9e9
+ validpgpkeys = 14F26682D0916CDD81E37B6D61B7B526D98F0353
+ sha256sums = 9eb978f7573077e8c3682050ef19dbd4517d6afc4ea91d423331a7a460765914
+ sha256sums = SKIP
+ sha256sums = bb9769a8fe720abea2bba5b895c70c4fba0d44bb553399d83350268edf85cdeb
+ sha256sums = 54d93249fedc9c4cdc5eb82da498b08f08bcb089f85a138b457f3251a0913ad1
pkgname = firefox-beta
-
diff --git a/0001-Use-remoting-name-for-GDK-application-names.patch b/0001-Use-remoting-name-for-GDK-application-names.patch
new file mode 100644
index 000000000000..c1feb3fc8081
--- /dev/null
+++ b/0001-Use-remoting-name-for-GDK-application-names.patch
@@ -0,0 +1,57 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
+Date: Mon, 25 Mar 2019 20:30:11 +0100
+Subject: [PATCH] Use remoting name for GDK application names
+
+---
+ toolkit/xre/nsAppRunner.cpp | 6 +-----
+ widget/gtk/nsAppShell.cpp | 12 +++++-------
+ 2 files changed, 6 insertions(+), 12 deletions(-)
+
+diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
+index bb14d84338334..f5c0222987fb0 100644
+--- a/toolkit/xre/nsAppRunner.cpp
++++ b/toolkit/xre/nsAppRunner.cpp
+@@ -4299,11 +4299,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) {
+ // consistently.
+
+ // Set program name to the one defined in application.ini.
+- {
+- nsAutoCString program(gAppData->name);
+- ToLowerCase(program);
+- g_set_prgname(program.get());
+- }
++ g_set_prgname(gAppData->remotingName);
+
+ // Initialize GTK here for splash.
+
+diff --git a/widget/gtk/nsAppShell.cpp b/widget/gtk/nsAppShell.cpp
+index 60de473de07ab..004c066575c17 100644
+--- a/widget/gtk/nsAppShell.cpp
++++ b/widget/gtk/nsAppShell.cpp
+@@ -24,6 +24,8 @@
+ # include "WakeLockListener.h"
+ #endif
+ #include "gfxPlatform.h"
++#include "nsAppRunner.h"
++#include "mozilla/XREAppData.h"
+ #include "ScreenHelperGTK.h"
+ #include "HeadlessScreenHelper.h"
+ #include "mozilla/widget/ScreenManager.h"
+@@ -152,13 +154,9 @@ nsresult nsAppShell::Init() {
+ // See https://bugzilla.gnome.org/show_bug.cgi?id=747634
+ //
+ // Only bother doing this for the parent process, since it's the one
+- // creating top-level windows. (At this point, a child process hasn't
+- // received the list of registered chrome packages, so the
+- // GetBrandShortName call would fail anyway.)
+- nsAutoString brandName;
+- mozilla::widget::WidgetUtils::GetBrandShortName(brandName);
+- if (!brandName.IsEmpty()) {
+- gdk_set_program_class(NS_ConvertUTF16toUTF8(brandName).get());
++ // creating top-level windows.
++ if (gAppData) {
++ gdk_set_program_class(gAppData->remotingName);
+ }
+ }
+ }
diff --git a/PKGBUILD b/PKGBUILD
index 5b9896fe17d9..714d9881ac35 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,68 +1,141 @@
# $Id$
# Maintainer: Frederic Bezies <fredbezies at gmail dot com>
-# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Felix Golatofski <contact@xdfr.de>
+# Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Jakub Schmidtke <sjakub@gmail.com>
+# Contributor: Luna Jernberg <droidbittin@gmail.com>
+
+##
+## The following variables can be customized at build time. Use env or export to change at your wish
+##
+## Example: env enable_pgo=y makepkg -sc
+##
+## Optimized build: env enable_pgo=y enable_lto=y makepkg -sc
+## Optimized build, less RAM required: env enable_pgo=y enable_lto=y enable_no_keep_memory=y makepkg -sc
+## Less optimization enabled, faster compilation: env enable_pgo=n enable_lto=n makepkg -sc
+##
+## Enable PGO, increasing performances but makes the compilation slower.
+## It builds Firefox a first time without LTO, runs the test suite to generate
+## a PGO profile, then builds Firefox again (with optional LTO) using this
+## profile.
+## Set variable "enable_pgo" to: y to enable (increase performance, default in official firefox-beta)
+## n to disable (less optimized, but faster compilation, as it will skip the profile generation)
+if [ -z ${enable_pgo+x} ]; then
+ enable_pgo=y
+fi
+
+## Enable LTO, increasing performances but makes the compilation slower and
+## requires more RAM to build. Only affects clang, rust has LTO enabled by
+## default.
+## Disable it if the compilation runs out-of-memory.
+## Set variable "enable_lto" to: y to enable (increase performance, default in official firefox-beta, but slower to compile)
+## n to disable (less optimized, but faster to compile)
+if [ -z ${enable_lto+x} ]; then
+ enable_lto=y
+fi
+
+## Enable --no-keep-memory in LD when compiling with LTO enabled. Useful when
+## running OOM during the compilation, as LD will consume less memory when ##
+## linking. Doesn't impact the performance of the generated binary, but makes
+## the compilation a bit slower.
+## Set variable "enable_no_keep_memory" to: n to disable (default)
+## y to enable (slower compilation, but compilation requires less memory)
+if [ -z ${enable_no_keep_memory+x} ]; then
+ enable_no_keep_memory=n
+fi
+
+### IMPORTANT: Do no edit below this line unless you know what you're doing
pkgname=firefox-beta
_pkgname=firefox
-name=firefox-beta
-pkgver=70.0b13
-_pkgver=70.0
+pkgver=95.0b2
+_major=${pkgver/rc*}
+_build=${pkgver/*rc}
+_pkgver=95.0
pkgrel=1
pkgdesc="Standalone web browser from mozilla.org - Beta"
arch=(i686 x86_64)
license=(MPL GPL LGPL)
url="https://www.mozilla.org/en-US/firefox/channel/#beta"
-depends=(gtk3 mozilla-common libxt startup-notification mime-types dbus-glib
- ffmpeg nss ttf-font libpulse)
-makedepends=(unzip zip diffutils python2-setuptools yasm mesa imake inetutils
- xorg-server-xvfb autoconf2.13 rust clang llvm jack gtk2
- python nodejs python2-psutil cbindgen nasm)
+depends=(gtk3 libxt mime-types dbus-glib ffmpeg nss ttf-font libpulse)
+makedepends=(unzip zip diffutils yasm mesa imake inetutils xorg-server-xvfb
+ autoconf2.13 rust clang llvm jack nodejs cbindgen nasm
+ python-setuptools python-psutil python-zstandard lld dump_syms)
optdepends=('networkmanager: Location detection via available WiFi networks'
'libnotify: Notification integration'
'pulseaudio: Audio support'
'speech-dispatcher: Text-to-Speech'
- 'hunspell-en_US: Spell checking, American English')
+ 'hunspell-en_US: Spell checking, American English'
+ 'xdg-desktop-portal: Screensharing with Wayland')
provides=("firefox=$pkgver")
conflicts=('firefox-beta-bin')
options=(!emptydirs !makeflags !strip)
-source=("http://ftp.mozilla.org/pub/firefox/releases/$pkgver/source/$_pkgname-$pkgver.source.tar.xz"
- "$_pkgname.sh"
- "$pkgname.desktop"
- "$_pkgname-symbolic.svg")
-sha256sums=('b53e893c0584f2f890f1675cd76001cfb68a03648fe21d430a7195a14270427b'
- '367100e5f66523a90c3792e2e0d0e2fe8a3c28748b905ce9f5f6b121343d7842'
- 'd6b4c91a7fe77f9a335b44b943e120ce44511e46bbb16ae305cc82b4c3db66cd'
- 'a2474b32b9b2d7e0fb53a4c89715507ad1c194bef77713d798fa39d507def9e9')
+source=(http://archive.mozilla.org/pub/firefox/releases/${pkgver}/source/$_pkgname-$pkgver.source.tar.xz{,.asc}
+ 0001-Use-remoting-name-for-GDK-application-names.patch
+ $pkgname.desktop)
+sha256sums=('9eb978f7573077e8c3682050ef19dbd4517d6afc4ea91d423331a7a460765914'
+ 'SKIP'
+ 'bb9769a8fe720abea2bba5b895c70c4fba0d44bb553399d83350268edf85cdeb'
+ '54d93249fedc9c4cdc5eb82da498b08f08bcb089f85a138b457f3251a0913ad1')
+validpgpkeys=('14F26682D0916CDD81E37B6D61B7B526D98F0353') # Mozilla Software Releases <release@mozilla.com>
+
+# RC
+if [[ $_build = ? ]]; then
+ source[0]="firefox-$pkgver.source.tar.xz::https://ftp.mozilla.org/pub/firefox/candidates/$_major-candidates/build$_build/source/firefox-$_major.source.tar.xz"
+ source[1]="firefox-$pkgver.source.tar.xz.asc::https://ftp.mozilla.org/pub/firefox/candidates/$_major-candidates/build$_build/source/firefox-$_major.source.tar.xz.asc"
+fi
+
+# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+# Note: These are for Arch Linux use ONLY. For your own distribution, please
+# get your own set of keys. Feel free to contact foutrelis@archlinux.org for
+# more information.
+_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM
+
+# Mozilla API keys (see https://location.services.mozilla.com/api)
+# Note: These are for Arch Linux use ONLY. For your own distribution, please
+# get your own set of keys. Feel free to contact heftig@archlinux.org for
+# more information.
+_mozilla_api_key=e05d56db0a694edc8b5aaebda3f2db6a
+
prepare() {
mkdir mozbuild
cd firefox-$_pkgver
- cat >.mozconfig <<END
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1530052
+ patch -Np1 -i ../0001-Use-remoting-name-for-GDK-application-names.patch
+
+ echo -n "$_google_api_key" >google-api-key
+ echo -n "$_mozilla_api_key" >mozilla-api-key
+
+ cat >../mozconfig <<END
ac_add_options --enable-application=browser
+mk_add_options MOZ_OBJDIR=${PWD@Q}/obj
ac_add_options --prefix=/usr
ac_add_options --enable-release
ac_add_options --enable-hardening
ac_add_options --enable-optimize
ac_add_options --enable-rust-simd
-
-export CC=clang
-export CXX=clang++
-export AR=llvm-ar
-export NM=llvm-nm
-export RANLIB=llvm-ranlib
+ac_add_options --enable-linker=lld
+ac_add_options --disable-elf-hack
+ac_add_options --disable-bootstrap
# Branding
-ac_add_options --with-branding=browser/branding/aurora
-#ac_add_options --enable-update-channel=beta
+ac_add_options --enable-official-branding
+ac_add_options --enable-update-channel=beta
ac_add_options --with-distribution-id=org.archlinux
+ac_add_options --with-unsigned-addon-scopes=app,system
+ac_add_options --allow-addon-sideload
export MOZILLA_OFFICIAL=1
-#export MOZ_TELEMETRY_REPORTING=0
-export MOZ_ADDON_SIGNING=1
-export MOZ_REQUIRE_SIGNING=0
+export MOZ_APP_REMOTINGNAME=${pkgname//-/}
+export MOZ_TELEMETRY_REPORTING=1
+
+# Keys
+ac_add_options --with-google-location-service-api-keyfile=${PWD@Q}/google-api-key
+ac_add_options --with-google-safebrowsing-api-keyfile=${PWD@Q}/google-api-key
+ac_add_options --with-mozilla-api-keyfile=${PWD@Q}/mozilla-api-key
# System libraries
ac_add_options --with-system-nspr
@@ -71,12 +144,9 @@ ac_add_options --with-system-nss
# Features
ac_add_options --enable-alsa
ac_add_options --enable-jack
-ac_add_options --enable-startup-notification
ac_add_options --enable-crashreporter
-ac_add_options --disable-gconf
ac_add_options --disable-updater
ac_add_options --disable-tests
-
END
}
@@ -85,18 +155,66 @@ build() {
export MOZ_NOSPAM=1
export MOZBUILD_STATE_PATH="$srcdir/mozbuild"
+ export MOZ_ENABLE_FULL_SYMBOLS=1
+ export MACH_USE_SYSTEM_PYTHON=1
- ./mach configure
+ # LTO needs more open files
+ ulimit -n 4096
+
+ if [ "$enable_pgo" = "y" ]; then
+ # Do 3-tier PGO
+ echo "Building instrumented browser..."
+ cat >.mozconfig ../mozconfig - <<END
+ac_add_options --enable-profile-generate=cross
+END
+ ./mach build
+
+ echo "Profiling instrumented browser..."
+ ./mach package
+ LLVM_PROFDATA=llvm-profdata \
+ JARLOG_FILE="$PWD/jarlog" \
+ xvfb-run -s "-screen 0 1920x1080x24 -nolisten local" \
+ ./mach python build/pgo/profileserver.py
+
+ stat -c "Profile data found (%s bytes)" merged.profdata
+ test -s merged.profdata
+
+ stat -c "Jar log found (%s bytes)" jarlog
+ test -s jarlog
+
+ echo "Removing instrumented browser..."
+ ./mach clobber
+
+ echo "Building optimized browser..."
+ cat >.mozconfig ../mozconfig - <<END
+ac_add_options --enable-profile-use=cross
+ac_add_options --with-pgo-profile-path=${PWD@Q}/merged.profdata
+ac_add_options --with-pgo-jarlog=${PWD@Q}/jarlog
+END
+ else
+ cat >.mozconfig ../mozconfig
+ fi
+
+ if [ "$enable_lto" = "y" ]; then
+ echo "ac_add_options --enable-lto=cross" >> .mozconfig
+ if [ "$enable_no_keep_memory" = "y" ]; then
+ LDFLAGS="$LDFLAGS,--no-keep-memory"
+ fi
+ fi
./mach build
+ echo "Building symbol archive..."
+ ./mach buildsymbols
}
package() {
cd firefox-$_pkgver
DESTDIR="$pkgdir" ./mach install
+ mv "$pkgdir"/usr/lib/{firefox,$pkgname}
+ rm "$pkgdir"/usr/bin/firefox
- _vendorjs="$pkgdir/usr/lib/$pkgname/browser/defaults/preferences/vendor.js"
- install -Dm644 /dev/stdin "$_vendorjs" <<END
+ local vendorjs="$pkgdir/usr/lib/$pkgname/browser/defaults/preferences/vendor.js"
+ install -Dvm644 /dev/stdin "$vendorjs" <<END
// Use LANG environment variable to choose locale
pref("intl.locale.requested", "");
@@ -108,11 +226,10 @@ pref("browser.shell.checkDefaultBrowser", false);
// Don't disable our bundled extensions in the application directory
pref("extensions.autoDisableScopes", 11);
-pref("extensions.shownSelectionUI", true);
END
- _distini="$pkgdir/usr/lib/$pkgname/distribution/distribution.ini"
- install -Dm644 /dev/stdin "$_distini" <<END
+ local distini="$pkgdir/usr/lib/$pkgname/distribution/distribution.ini"
+ install -Dm644 /dev/stdin "$distini" <<END
[Global]
id=archlinux
version=1.0
@@ -124,29 +241,41 @@ app.distributor.channel=$pkgname
app.partner.archlinux=archlinux
END
+local i theme=official
for i in 16 22 24 32 48 64 128 256; do
- install -Dm644 browser/branding/official/default$i.png \
+ install -Dvm644 browser/branding/$theme/default$i.png \
"$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$pkgname.png"
done
- install -Dm644 browser/branding/official/content/about-logo.png \
+ install -Dvm644 browser/branding/$theme/content/about-logo.png \
"$pkgdir/usr/share/icons/hicolor/192x192/apps/$pkgname.png"
- install -Dm644 browser/branding/official/content/about-logo@2x.png \
+ install -Dvm644 browser/branding/$theme/content/about-logo@2x.png \
"$pkgdir/usr/share/icons/hicolor/384x384/apps/$pkgname.png"
- install -Dm644 ../firefox-symbolic.svg \
+ install -Dvm644 browser/branding/$theme/content/identity-icons-brand.svg \
"$pkgdir/usr/share/icons/hicolor/symbolic/apps/$pkgname-symbolic.svg"
- install -Dm644 ../$pkgname.desktop \
+ install -Dvm644 ../$pkgname.desktop \
"$pkgdir/usr/share/applications/$pkgname.desktop"
# Install a wrapper to avoid confusion about binary path
- install -Dm755 /dev/stdin "$pkgdir/usr/bin/$pkgname" <<END
+ install -Dvm755 /dev/stdin "$pkgdir/usr/bin/$pkgname" <<END
#!/bin/sh
exec /usr/lib/$pkgname/firefox "\$@"
END
# Replace duplicate binary with wrapper
# https://bugzilla.mozilla.org/show_bug.cgi?id=658850
- ln -srf "$pkgdir/usr/bin/$pkgname" \
- "$pkgdir/usr/lib/$pkgname/firefox-bin"
-}
+ ln -srfv "$pkgdir/usr/bin/$pkgname" "$pkgdir/usr/lib/$pkgname/firefox-bin"
+
+ # Use system certificates
+ local nssckbi="$pkgdir/usr/lib/$pkgname/libnssckbi.so"
+ if [[ -e $nssckbi ]]; then
+ ln -srfv "$pkgdir/usr/lib/libnssckbi.so" "$nssckbi"
+ fi
+ export SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE="$startdir/.crash-stats-api.token"
+ if [[ -f $SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE ]]; then
+ make -C obj uploadsymbols
+ else
+ cp -fvt "$startdir" obj/dist/*crashreporter-symbols-full.tar.zst
+ fi
+}
diff --git a/firefox-beta.desktop b/firefox-beta.desktop
index ac5f289e8c14..ead701b9fd32 100644
--- a/firefox-beta.desktop
+++ b/firefox-beta.desktop
@@ -1,25 +1,340 @@
[Desktop Entry]
+Version=1.0
Name=Firefox Beta
GenericName=Web Browser
+GenericName[ar]=متصفح ويب
+GenericName[ast]=Restolador Web
+GenericName[bn]=ওযব বরউজর
+GenericName[ca]=Navegador web
+GenericName[cs]=Webový prohlížeč
+GenericName[da]=Webbrowser
+GenericName[de]=Webbrowser
+GenericName[el]=Περιηγητής διαδικτύου
+GenericName[es]=Navegador web
+GenericName[et]=Veebibrauser
+GenericName[fa]=مرورگر اینترنتی
+GenericName[fi]=WWW-selain
+GenericName[fr]=Navigateur Web
+GenericName[gl]=Navegador Web
+GenericName[he]=דפדפן אינטרנט
+GenericName[hr]=Web preglednik
+GenericName[hu]=Webböngésző
+GenericName[it]=Browser web
+GenericName[ja]=ウェブブラウザ
+GenericName[ko]=웹 브라우저
+GenericName[ku]=Geroka torê
+GenericName[lt]=Interneto naršyklė
+GenericName[nb]=Nettleser
+GenericName[nl]=Webbrowser
+GenericName[nn]=Nettlesar
+GenericName[no]=Nettleser
+GenericName[pl]=Przeglądarka WWW
+GenericName[pt]=Navegador Web
+GenericName[pt_BR]=Navegador Web
+GenericName[ro]=Navigator Internet
+GenericName[ru]=Веб-браузер
+GenericName[sk]=Internetový prehliadač
+GenericName[sl]=Spletni brskalnik
+GenericName[sv]=Webbläsare
+GenericName[tr]=Web Tarayıcı
+GenericName[ug]=توركۆرگۈ
+GenericName[uk]=Веб-браузер
+GenericName[vi]=Trình duyệt Web
+GenericName[zh_CN]=网络浏览器
+GenericName[zh_TW]=網路瀏覽器
Comment=Browse the World Wide Web
-Exec=firefox-beta %u
+Comment[ar]=تصفح الشبكة العنكبوتية العالمية
+Comment[ast]=Restola pela Rede
+Comment[bn]=ইনটরনট বরউজ করন
+Comment[ca]=Navegueu per el web
+Comment[cs]=Prohlížení stránek World Wide Webu
+Comment[da]=Surf på internettet
+Comment[de]=Im Internet surfen
+Comment[el]=Μπορείτε να περιηγηθείτε στο διαδίκτυο (Web)
+Comment[es]=Navegue por la web
+Comment[et]=Lehitse veebi
+Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید
+Comment[fi]=Selaa Internetin WWW-sivuja
+Comment[fr]=Naviguer sur le Web
+Comment[gl]=Navegar pola rede
+Comment[he]=גלישה ברחבי האינטרנט
+Comment[hr]=Pretražite web
+Comment[hu]=A világháló böngészése
+Comment[it]=Esplora il web
+Comment[ja]=ウェブを閲覧します
+Comment[ko]=웹을 돌아 다닙니다
+Comment[ku]=Li torê bigere
+Comment[lt]=Naršykite internete
+Comment[nb]=Surf på nettet
+Comment[nl]=Verken het internet
+Comment[nn]=Surf på nettet
+Comment[no]=Surf på nettet
+Comment[pl]=Przeglądanie stron WWW
+Comment[pt]=Navegue na Internet
+Comment[pt_BR]=Navegue na Internet
+Comment[ro]=Navigați pe Internet
+Comment[ru]=Доступ в Интернет
+Comment[sk]=Prehliadanie internetu
+Comment[sl]=Brskajte po spletu
+Comment[sv]=Surfa på webben
+Comment[tr]=İnternet'te Gezinin
+Comment[ug]=دۇنيادىكى توربەتلەرنى كۆرگىلى بولىدۇ
+Comment[uk]=Перегляд сторінок Інтернету
+Comment[vi]=Để duyệt các trang web
+Comment[zh_CN]=浏览互联网
+Comment[zh_TW]=瀏覽網際網路
+Keywords=Internet;WWW;Browser;Web;Explorer
+Keywords[ar]=انترنت;إنترنت;متصفح;ويب;وب
+Keywords[ast]=Internet;WWW;Restolador;Web;Esplorador
+Keywords[ca]=Internet;WWW;Navegador;Web;Explorador;Explorer
+Keywords[cs]=Internet;WWW;Prohlížeč;Web;Explorer
+Keywords[da]=Internet;Internettet;WWW;Browser;Browse;Web;Surf;Nettet
+Keywords[de]=Internet;WWW;Browser;Web;Explorer;Webseite;Site;surfen;online;browsen
+Keywords[el]=Internet;WWW;Browser;Web;Explorer;Διαδίκτυο;Περιηγητής;Firefox;Φιρεφοχ;Ιντερνετ
+Keywords[es]=Explorador;Internet;WWW
+Keywords[fi]=Internet;WWW;Browser;Web;Explorer;selain;Internet-selain;internetselain;verkkoselain;netti;surffaa
+Keywords[fr]=Internet;WWW;Browser;Web;Explorer;Fureteur;Surfer;Navigateur
+Keywords[he]=דפדפן;אינטרנט;רשת;אתרים;אתר;פיירפוקס;מוזילה;
+Keywords[hr]=Internet;WWW;preglednik;Web
+Keywords[hu]=Internet;WWW;Böngésző;Web;Háló;Net;Explorer
+Keywords[it]=Internet;WWW;Browser;Web;Navigatore
+Keywords[is]=Internet;WWW;Vafri;Vefur;Netvafri;Flakk
+Keywords[ja]=Internet;WWW;Web;インターネット;ブラウザ;ウェブ;エクスプローラ
+Keywords[nb]=Internett;WWW;Nettleser;Explorer;Web;Browser;Nettside
+Keywords[nl]=Internet;WWW;Browser;Web;Explorer;Verkenner;Website;Surfen;Online
+Keywords[pt]=Internet;WWW;Browser;Web;Explorador;Navegador
+Keywords[pt_BR]=Internet;WWW;Browser;Web;Explorador;Navegador
+Keywords[ru]=Internet;WWW;Browser;Web;Explorer;интернет;браузер;веб;файрфокс;огнелис
+Keywords[sk]=Internet;WWW;Prehliadač;Web;Explorer
+Keywords[sl]=Internet;WWW;Browser;Web;Explorer;Brskalnik;Splet
+Keywords[tr]=İnternet;WWW;Tarayıcı;Web;Gezgin;Web sitesi;Site;sörf;çevrimiçi;tara
+Keywords[uk]=Internet;WWW;Browser;Web;Explorer;Інтернет;мережа;переглядач;оглядач;браузер;веб;файрфокс;вогнелис;перегляд
+Keywords[vi]=Internet;WWW;Browser;Web;Explorer;Trình duyệt;Trang web
+Keywords[zh_CN]=Internet;WWW;Browser;Web;Explorer;网页;浏览;上网;火狐;Firefox;ff;互联网;网站;
+Keywords[zh_TW]=Internet;WWW;Browser;Web;Explorer;網際網路;網路;瀏覽器;上網;網頁;火狐
+Exec=/usr/lib/firefox/firefox-beta %u
+Icon=firefox-beta
Terminal=false
+X-MultipleArgs=false
Type=Application
-Icon=firefox-beta
-Categories=Network;WebBrowser;
-MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;
+MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;application/x-xpinstall;application/pdf;application/json;
StartupNotify=true
-StartupWMClass=Firefox
-Actions=NewTab;NewWindow;NewPrivateWindow;
-
-[Desktop Action NewTab]
-Name=Open new tab
-Exec=firefox-beta -new-tab about:newtab
+StartupWMClass=firefox
+Categories=Network;WebBrowser;
+Actions=new-window;new-private-window;
-[Desktop Action NewWindow]
-Name=Open new window
-Exec=firefox-beta -new-window
+[Desktop Action new-window]
+Name=New Window
+Name[ach]=Dirica manyen
+Name[af]=Nuwe venster
+Name[an]=Nueva finestra
+Name[ar]=نافذة جديدة
+Name[as]=নতন উইনড
+Name[ast]=Ventana nueva
+Name[az]=Yeni Pəncərə
+Name[be]=Новае акно
+Name[bg]=Нов прозорец
+Name[bn_BD]=নতন উইনড (N)
+Name[bn_IN]=নতন উইনড
+Name[br]=Prenestr nevez
+Name[brx]=गदन उइनड'(N)
+Name[bs]=Novi prozor
+Name[ca]=Finestra nova
+Name[cak]=K'ak'a' tzuwäch
+Name[cs]=Nové okno
+Name[cy]=Ffenestr Newydd
+Name[da]=Nyt vindue
+Name[de]=Neues Fenster
+Name[dsb]=Nowe wokno
+Name[el]=Νέο παράθυρο
+Name[en_GB]=New Window
+Name[en_US]=New Window
+Name[en_ZA]=New Window
+Name[eo]=Nova fenestro
+Name[es_AR]=Nueva ventana
+Name[es_CL]=Nueva ventana
+Name[es_ES]=Nueva ventana
+Name[es_MX]=Nueva ventana
+Name[et]=Uus aken
+Name[eu]=Leiho berria
+Name[fa]=پنجره جدید
+Name[ff]=Henorde Hesere
+Name[fi]=Uusi ikkuna
+Name[fr]=Nouvelle fenêtre
+Name[fy_NL]=Nij finster
+Name[ga_IE]=Fuinneog Nua
+Name[gd]=Uinneag ùr
+Name[gl]=Nova xanela
+Name[gn]=Ovetã pyahu
+Name[gu_IN]=નવ વનડ
+Name[he]=חלון חדש
+Name[hi_IN]=नय वड
+Name[hr]=Novi prozor
+Name[hsb]=Nowe wokno
+Name[hu]=Új ablak
+Name[hy_AM]=Նոր Պատուհան
+Name[id]=Jendela Baru
+Name[is]=Nýr gluggi
+Name[it]=Nuova finestra
+Name[ja]=新しいウィンドウ
+Name[ja_JP-mac]=新規ウインドウ
+Name[ka]=ახალი ფანჯარა
+Name[kk]=Жаңа терезе
+Name[km]=បងអចថម
+Name[kn]=ಹಸ ಕಟಕ
+Name[ko]=새 창
+Name[kok]=नव जनल
+Name[ks]=نئئ ونڈو
+Name[lij]=Neuvo barcon
+Name[lo]=ຫນາຕາງໃຫມ
+Name[lt]=Naujas langas
+Name[ltg]=Jauns lūgs
+Name[lv]=Jauns logs
+Name[mai]=नव वड
+Name[mk]=Нов прозорец
+Name[ml]=പതയ ജലക
+Name[mr]=नवन पटल
+Name[ms]=Tetingkap Baru
+Name[my]=ဝငဒအသစ
+Name[nb_NO]=Nytt vindu
+Name[ne_NP]=नय सञझयल
+Name[nl]=Nieuw venster
+Name[nn_NO]=Nytt vindauge
+Name[or]=ନତନ ୱଣଡ
+Name[pa_IN]=ਨਵ ਵਡ
+Name[pl]=Nowe okno
+Name[pt_BR]=Nova janela
+Name[pt_PT]=Nova janela
+Name[rm]=Nova fanestra
+Name[ro]=Fereastră nouă
+Name[ru]=Новое окно
+Name[sat]=नव वड (N)
+Name[si]=නව කවළවක
+Name[sk]=Nové okno
+Name[sl]=Novo okno
+Name[son]=Zanfun taaga
+Name[sq]=Dritare e Re
+Name[sr]=Нови прозор
+Name[sv_SE]=Nytt fönster
+Name[ta]=பதய சளரம
+Name[te]=కతత వడ
+Name[th]=หนาตางใหม
+Name[tr]=Yeni pencere
+Name[tsz]=Eraatarakua jimpani
+Name[uk]=Нове вікно
+Name[ur]=نیا دریچہ
+Name[uz]=Yangi oyna
+Name[vi]=Cửa sổ mới
+Name[wo]=Palanteer bu bees
+Name[xh]=Ifestile entsha
+Name[zh_CN]=新建窗口
+Name[zh_TW]=開新視窗
+Exec=/usr/lib/firefox/firefox --new-window %u
-[Desktop Action NewPrivateWindow]
-Name=New private window
-Exec=firefox-beta -private-window
+[Desktop Action new-private-window]
+Name=New Private Window
+Name[ach]=Dirica manyen me mung
+Name[af]=Nuwe privaatvenster
+Name[an]=Nueva finestra privada
+Name[ar]=نافذة خاصة جديدة
+Name[as]=নতন বযকতগত উইনড
+Name[ast]=Ventana privada nueva
+Name[az]=Yeni Məxfi Pəncərə
+Name[be]=Новае акно адасаблення
+Name[bg]=Нов прозорец за поверително сърфиране
+Name[bn_BD]=নতন বযকতগত উইনড
+Name[bn_IN]=নতন বযকতগত উইনড
+Name[br]=Prenestr merdeiñ prevez nevez
+Name[brx]=गदन परइभट उइनड'
+Name[bs]=Novi privatni prozor
+Name[ca]=Finestra privada nova
+Name[cak]=K'ak'a' ichinan tzuwäch
+Name[cs]=Nové anonymní okno
+Name[cy]=Ffenestr Breifat Newydd
+Name[da]=Nyt privat vindue
+Name[de]=Neues privates Fenster
+Name[dsb]=Nowe priwatne wokno
+Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης
+Name[en_GB]=New Private Window
+Name[en_US]=New Private Window
+Name[en_ZA]=New Private Window
+Name[eo]=Nova privata fenestro
+Name[es_AR]=Nueva ventana privada
+Name[es_CL]=Nueva ventana privada
+Name[es_ES]=Nueva ventana privada
+Name[es_MX]=Nueva ventana privada
+Name[et]=Uus privaatne aken
+Name[eu]=Leiho pribatu berria
+Name[fa]=پنجره ناشناس جدید
+Name[ff]=Henorde Suturo Hesere
+Name[fi]=Uusi yksityinen ikkuna
+Name[fr]=Nouvelle fenêtre de navigation privée
+Name[fy_NL]=Nij priveefinster
+Name[ga_IE]=Fuinneog Nua Phríobháideach
+Name[gd]=Uinneag phrìobhaideach ùr
+Name[gl]=Nova xanela privada
+Name[gn]=Ovetã ñemi pyahu
+Name[gu_IN]=નવ ખનગ વનડ
+Name[he]=חלון פרטי חדש
+Name[hi_IN]=नय नज वड
+Name[hr]=Novi privatni prozor
+Name[hsb]=Nowe priwatne wokno
+Name[hu]=Új privát ablak
+Name[hy_AM]=Սկսել Գաղտնի դիտարկում
+Name[id]=Jendela Mode Pribadi Baru
+Name[is]=Nýr huliðsgluggi
+Name[it]=Nuova finestra anonima
+Name[ja]=新しいプライベートウィンドウ
+Name[ja_JP-mac]=新規プライベートウインドウ
+Name[ka]=ახალი პირადი ფანჯარა
+Name[kk]=Жаңа жекелік терезе
+Name[km]=បងអចឯកជនថម
+Name[kn]=ಹಸ ಖಸಗ ಕಟಕ
+Name[ko]=새 사생활 보호 모드
+Name[kok]=नव खजग वड
+Name[ks]=نو پرایوٹ وینڈو
+Name[lij]=Nêuvo barcón privòu
+Name[lo]=ເປດຫນາຕາງສວນຕວຂນມາໃຫມ
+Name[lt]=Naujas privataus naršymo langas
+Name[ltg]=Jauns privatais lūgs
+Name[lv]=Jauns privātais logs
+Name[mai]=नय नज वड (W)
+Name[mk]=Нов приватен прозорец
+Name[ml]=പതയ സവകരയ ജലക
+Name[mr]=नवन वयकतक पटल
+Name[ms]=Tetingkap Persendirian Baharu
+Name[my]=New Private Window
+Name[nb_NO]=Nytt privat vindu
+Name[ne_NP]=नय नज सञझयल
+Name[nl]=Nieuw privévenster
+Name[nn_NO]=Nytt privat vindauge
+Name[or]=ନତନ ବୟକତଗତ ୱଣଡ
+Name[pa_IN]=ਨਵ ਪਰਈਵਟ ਵਡ
+Name[pl]=Nowe okno prywatne
+Name[pt_BR]=Nova janela privativa
+Name[pt_PT]=Nova janela privada
+Name[rm]=Nova fanestra privata
+Name[ro]=Fereastră privată nouă
+Name[ru]=Новое приватное окно
+Name[sat]=नव नजरक वड (W )
+Name[si]=නව පදගලක කවළව (W)
+Name[sk]=Nové okno v režime Súkromné prehliadanie
+Name[sl]=Novo zasebno okno
+Name[son]=Sutura zanfun taaga
+Name[sq]=Dritare e Re Private
+Name[sr]=Нови приватан прозор
+Name[sv_SE]=Nytt privat fönster
+Name[ta]=பதய தனபபடட சளரம
+Name[te]=కతత ఆతరగక వడ
+Name[th]=หนาตางสวนตวใหม
+Name[tr]=Yeni gizli pencere
+Name[tsz]=Juchiiti eraatarakua jimpani
+Name[uk]=Приватне вікно
+Name[ur]=نیا نجی دریچہ
+Name[uz]=Yangi maxfiy oyna
+Name[vi]=Cửa sổ riêng tư mới
+Name[wo]=Panlanteeru biir bu bees
+Name[xh]=Ifestile yangasese entsha
+Name[zh_CN]=新建隐私浏览窗口
+Name[zh_TW]=新增隱私視窗
+Exec=/usr/lib/firefox/firefox --private-window %u
diff --git a/firefox-beta.install b/firefox-beta.install
deleted file mode 100644
index 1a1f4b16b5d2..000000000000
--- a/firefox-beta.install
+++ /dev/null
@@ -1,13 +0,0 @@
-post_install() {
- update-desktop-database -q
- gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
-
diff --git a/firefox-symbolic.svg b/firefox-symbolic.svg
deleted file mode 100644
index 7a2c73e455d4..000000000000
--- a/firefox-symbolic.svg
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg xmlns:cc='http://creativecommons.org/ns#' xmlns:dc='http://purl.org/dc/elements/1.1/' sodipodi:docname='firefox-symbolic.svg' height='16' id='svg7384' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' xmlns:osb='http://www.openswatchbook.org/uri/2009/osb' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns:svg='http://www.w3.org/2000/svg' version='1.1' inkscape:version='0.91 r13725' width='16' xmlns='http://www.w3.org/2000/svg'>
- <metadata id='metadata90'>
- <rdf:RDF>
- <cc:Work rdf:about=''>
- <dc:format>image/svg+xml</dc:format>
- <dc:type rdf:resource='http://purl.org/dc/dcmitype/StillImage'/>
- <dc:title>Gnome Symbolic Icon Theme</dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <sodipodi:namedview inkscape:bbox-paths='true' bordercolor='#666666' borderopacity='1' inkscape:current-layer='layer9' inkscape:cx='-10.975734' inkscape:cy='233.73843' gridtolerance='10' inkscape:guide-bbox='true' guidetolerance='10' id='namedview88' inkscape:object-nodes='false' inkscape:object-paths='false' objecttolerance='10' pagecolor='#555753' inkscape:pageopacity='1' inkscape:pageshadow='2' showborder='false' showgrid='false' showguides='true' inkscape:snap-bbox='true' inkscape:snap-bbox-midpoints='false' inkscape:snap-global='true' inkscape:snap-grids='true' inkscape:snap-nodes='true' inkscape:snap-others='false' inkscape:snap-to-guides='true' inkscape:window-height='1403' inkscape:window-maximized='1' inkscape:window-width='2560' inkscape:window-x='2560' inkscape:window-y='0' inkscape:zoom='1'>
- <inkscape:grid empspacing='2' enabled='true' id='grid4866' originx='-222.00001' originy='-381.99852' snapvisiblegridlinesonly='true' spacingx='1px' spacingy='1px' type='xygrid' visible='true'/>
- </sodipodi:namedview>
- <title id='title9167'>Gnome Symbolic Icon Theme</title>
- <defs id='defs7386'>
- <linearGradient id='linearGradient7212' osb:paint='solid'>
- <stop id='stop7214' offset='0' style='stop-color:#000000;stop-opacity:1;'/>
- </linearGradient>
- </defs>
- <g inkscape:groupmode='layer' id='layer9' inkscape:label='apps' style='display:inline' transform='translate(-463.00021,164.99852)'>
-
- <path inkscape:connector-curvature='0' d='M 469.05437,-154.9679 Z' id='path17747' style='fill:none;stroke:#000000;stroke-width:0.99851286px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1'/>
- <path inkscape:connector-curvature='0' d='M 469.08553,-154.9054 Z' id='path17749' style='fill:none;stroke:#000000;stroke-width:0.99851286px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1'/>
- <path inkscape:connector-curvature='0' d='m 473.0627,-162.9375 c -0.41568,-0.0182 -0.62813,0.0274 -0.625,0.0312 0.006,0.008 1.72988,0.32697 2.03125,0.75 0,0 -0.71915,0.007 -1.4375,0.21875 -0.0325,0.01 2.64053,0.33122 3.1875,3.0625 0,0 -0.29354,-0.64386 -0.65625,-0.75 0.23852,0.74134 0.16466,2.17583 -0.0625,2.875 -0.0292,0.0899 -0.0525,-0.38762 -0.5,-0.59375 0.14332,1.04923 -0.006,2.6978 -0.71875,3.15625 -0.0555,0.0357 0.43942,-1.64894 0.0937,-1 -2.06368,3.2325 -4.50486,1.31102 -5.5,0.625 0.79871,0.19996 1.80035,0.0704 2.125,-0.15625 0.49572,-0.34615 0.79916,-0.59107 1.0625,-0.53125 0.26322,0.0601 0.42318,-0.22934 0.21875,-0.46875 -0.20466,-0.23989 -0.70268,-0.55471 -1.375,-0.375 -0.47415,0.12687 -1.04057,0.54268 -1.9375,0 -0.7652,-0.46319 -0.67076,-0.69942 -0.67076,-0.93907 0,-0.23977 0.21387,-0.59107 0.59375,-0.53125 0.0851,0.0134 0.15074,0.009 0.1875,0 0.18483,0.0422 0.35743,0.0964 0.53125,0.1875 0.008,-0.2241 -0.0292,-0.87345 -0.15625,-1.23012 0.0106,0.004 0.0289,0.011 0.0312,0 0.0384,-0.17687 1.05477,-0.18386 1.37388,-0.59643 0.20404,-0.26362 0.14073,-0.79683 0.14073,-0.79683 l -1,0 c -0.52354,0.002 -0.97244,-0.75086 -1.01451,-0.85669 0.11444,-0.62597 0.48612,-0.83952 1.01451,-1.14331 -0.39748,-0.003 -0.18871,0 -1,0 -0.52875,0 -0.84718,0.36158 -1.01451,0.54956 -0.70058,-0.16587 -1.38144,-0.25227 -1.86049,-0.0609 -0.22125,-0.22941 -0.39604,-0.80055 -0.42188,-1.48863 0,0 -1.20486,0.73864 -1.07812,2.55113 -0.002,0.14904 -0.0499,0.21348 -0.0625,0.3125 -0.13061,0.22845 -0.1553,0.40492 -0.125,0.375 -0.0656,0.13627 -0.15391,0.28402 -0.21875,0.46875 -0.0149,0.0362 -0.0495,0.0463 -0.0625,0.0937 -0.009,0.0322 0.002,0.0638 0,0.0937 -0.11512,0.36099 -0.21516,0.98244 -0.3125,1.54262 0,0 0.12424,-0.51425 0.3125,-0.88637 -0.15639,0.54353 -0.26211,1.54974 -0.1875,2.73012 0,0 0.015,-0.20429 0.0625,-0.5 0.0465,0.80102 0.25925,1.72737 0.84375,2.75 1.46152,2.5575 3.89248,3.68885 6.4375,3.46875 0.44516,-0.0296 0.89639,-0.10834 1.34375,-0.21875 5.92923,-1.46449 5.28125,-8.78118 5.28125,-8.78118 l -0.15625,1.09375 c 0,0 -0.24147,-1.99977 -0.53125,-2.75 -0.44412,-1.14957 -0.62372,-1.15791 -0.625,-1.15625 0.29743,0.77226 0.21875,1.1875 0.21875,1.1875 0,0 -0.51279,-1.43939 -1.90625,-1.90625 -0.82515,-0.27632 -1.45932,-0.38807 -1.875,-0.40625 z' id='path159-6' sodipodi:nodetypes='sccccccccccsccccscccccscccccccccccccccccccccccccccs' style='fill:#bebebe;fill-opacity:1;stroke:none'/>
- <path inkscape:connector-curvature='0' d='m 470.87695,-164.01953 c -0.83043,0.0139 -1.67042,0.17659 -2.48047,0.5 l -0.46289,0.18359 c 0.66083,0.79767 1.84339,0.43951 1.84339,0.43951 2.50802,-0.52344 5.12427,0.6034 6.44177,2.89252 1.49591,2.59908 0.85463,5.89258 -1.50586,7.74219 -2.36049,1.84961 -5.71108,1.68349 -7.87695,-0.39062 -2.16588,-2.07412 -2.47623,-5.41522 -0.73047,-7.85352 l 0.29101,-0.40625 -0.81445,-0.58203 -0.29101,0.40625 c -2.03104,2.83673 -1.66628,6.74516 0.85351,9.1582 2.5198,2.41305 6.43934,2.60693 9.18555,0.45508 2.74621,-2.15185 3.49621,-6.00355 1.75586,-9.02734 -1.30527,-2.26785 -3.7177,-3.55935 -6.20899,-3.51758 z' id='path22109' sodipodi:nodetypes='ccccsssccccsssc' style='color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#bebebe;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate'/>
- </g>
-</svg>
diff --git a/firefox.sh b/firefox.sh
deleted file mode 100644
index 4323c996bf27..000000000000
--- a/firefox.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-exec /opt/firefox-beta/firefox --class "Firefox Beta" "$@"
diff --git a/upload-symbol-archive b/upload-symbol-archive
new file mode 100644
index 000000000000..059a399c429f
--- /dev/null
+++ b/upload-symbol-archive
@@ -0,0 +1,25 @@
+#!/bin/bash -e
+
+die() {
+ echo >&2 "$@"
+ exit 1
+}
+
+(( $# >= 2 )) || die "Usage: $0 TOKEN-FILE SYMBOL-ARCHIVE..."
+token="$1"
+shift
+
+[[ -f $token && -s $token ]] || die "Invalid TOKEN-FILE ${token@Q}"
+
+for zip; do
+ [[ $(file -SEbi "$zip") == application/zip* ]] || die "Invalid SYMBOL-ARCHIVE ${zip@Q}"
+done
+
+for zip; do
+ echo >&2 "Uploading ${zip@Q} ..."
+ curl -X POST -H "Auth-Token: $(<"$token")" -F "${zip##*/}=@$zip" \
+ --retry 4 --retry-connrefused --connect-timeout 120 \
+ https://symbols.mozilla.org/upload/
+ echo
+ mv -v "$zip" "$zip.uploaded"
+done