78.0.2 firefox78
authorWolfgang Rosenauer <wr@rosenauer.org>
Thu, 23 Jul 2020 16:00:58 +0200
branchfirefox78
changeset 1138 4ac678bd2a26
parent 1137 909f866430ee
child 1139 4fd43e0d4a8f
78.0.2
MozillaFirefox/MozillaFirefox.changes
MozillaFirefox/MozillaFirefox.desktop
MozillaFirefox/MozillaFirefox.spec
MozillaFirefox/_constraints
MozillaFirefox/create-tar.sh
MozillaFirefox/firefox.js
MozillaFirefox/mozilla-libavcodec58_91.patch
MozillaFirefox/mozilla.sh.in
MozillaFirefox/tar_stamps
mozilla-libavcodec58_91.patch
series
--- a/MozillaFirefox/MozillaFirefox.changes	Sun Jun 28 08:52:27 2020 +0200
+++ b/MozillaFirefox/MozillaFirefox.changes	Thu Jul 23 16:00:58 2020 +0200
@@ -1,18 +1,105 @@
 -------------------------------------------------------------------
-Wed Jun 17 07:51:25 UTC 2020 - Wolfgang Rosenauer <wr@rosenauer.org>
-
-- Mozilla Firefox 78.0b8
+Tue Jul 21 21:31:20 UTC 2020 - Wolfgang Rosenauer <wr@rosenauer.org>
+
+- fixed syntax issue in desktop file (boo#1174360)
+
+-------------------------------------------------------------------
+Fri Jul 17 15:07:45 UTC 2020 - Wolfgang Rosenauer <wr@rosenauer.org>
+
+- Add mozilla-libavcodec58_91.patch to link against updated
+  soversion of libavcodec (58.91) with ffmpeg >= 4.3.
+  (patch provided by Atri Bhattacharya <badshah400@gmail.com>
+- enable MOZ_USE_XINPUT2 for TW (again) (boo#1173320)
+  (Plasma 5.19.3 is now in TW)
+
+-------------------------------------------------------------------
+Sat Jul 11 11:08:06 UTC 2020 - Wolfgang Rosenauer <wr@rosenauer.org>
+
+- Mozilla Firefox 78.0.2
+  * Fixed an accessibility regression in reader mode (bmo#1650922)
+  * Made the address bar more resilient to data corruption in the
+    user profile (bmo#1649981)
+  * Fixed a regression opening certain external applications (bmo#1650162)
+  MFSA 2020-28
+  * CVE pending (bmo#1644076)
+    X-Frame-Options bypass using object or embed tags
+- added desktop file actions
+- do not use XINPUT2 for the moment until Plasma 5.19.3 has landed
+  (boo#1173993)
+- rework langpack integration (boo#1173991)
+  * ship XPIs instead of directories
+  * allow addon sideloading
+  * mark signatures for langpacks non-mandatory
+  * do not autodisable user profile scopes
+- Google API key is not usable for geolocation service
+- fix pipewire support for TW (boo#1172903)
+
+-------------------------------------------------------------------
+Wed Jul  1 07:15:02 UTC 2020 - Wolfgang Rosenauer <wr@rosenauer.org>
+
+- Mozilla Firefox 78.0.1
+  * Fixed an issue which could cause installed search engines to not
+    be visible when upgrading from a previous release.
+- enable MOZ_USE_XINPUT2 for TW (boo#1173320)
+
+-------------------------------------------------------------------
+Sun Jun 28 07:17:13 UTC 2020 - Wolfgang Rosenauer <wr@rosenauer.org>
+
+- Mozilla Firefox 78.0
   * startup notifications now using Gtk instead of libnotify
+  * PDF downloads now show an option to open the PDF directly in Firefox
+  * Protections Dashboard (about:protections)
+  * WebRTC not interrupted by screensaver anymore
+  * disabled TLS 1.0 and 1.1 by default
+  MFSA 2020-24 (bsc#1173576)
+  * CVE-2020-12415 (bmo#1586630)
+    AppCache manifest poisoning due to url encoded character processing
+  * CVE-2020-12416 (bmo#1639734)
+    Use-after-free in WebRTC VideoBroadcaster
+  * CVE-2020-12417 (bmo#1640737)
+    Memory corruption due to missing sign-extension for ValueTags
+    on ARM64
+  * CVE-2020-12418 (bmo#1641303)
+    Information disclosure due to manipulated URL object
+  * CVE-2020-12419 (bmo#1643874)
+    Use-after-free in nsGlobalWindowInner
+  * CVE-2020-12420 (bmo#1643437)
+    Use-After-Free when trying to connect to a STUN server
+  * CVE-2020-12402 (bmo#1631597)
+    RSA Key Generation vulnerable to side-channel attack
+  * CVE-2020-12421 (bmo#1308251)
+    Add-On updates did not respect the same certificate trust
+    rules as software updates
+  * CVE-2020-12422 (bmo#1450353)
+    Integer overflow in nsJPEGEncoder::emptyOutputBuffer
+  * CVE-2020-12423 (bmo#1642400)
+    DLL Hijacking due to searching %PATH% for a library
+  * CVE-2020-12424 (bmo#1562600)
+    WebRTC permission prompt could have been bypassed by a
+    compromised content process
+  * CVE-2020-12425 (bmo#1634738)
+    Out of bound read in Date.parse()
+  * CVE-2020-12426 (bmo#1608068, bmo#1609951, bmo#1631187, bmo#1637682)
+    Memory safety bugs fixed in Firefox 78
 - requires
-  * NSS >= 3.53
+  * NSS >= 3.53.1
   * nodejs >= 10.21
   * Gtk+3 >= 3.14
-- removed obsolete patch
+- removed obsolete patches
   * mozilla-s390-bigendian.patch
+  * mozilla-bmo1634646.patch
 - Add mozilla-pipewire-0-3.patch for openSUSE >= 15.2 to build
   WebRTC with pipewire support to enable screen sharing under
   Wayland; also add BuildRequires: pkgconfig(libpipewire-0.3)
   appropriately (boo#1172903).
+- adding SLE12 compatibility in spec file
+- add patches for s390x
+  * mozilla-bmo1602730.patch (bmo#1602730)
+  * mozilla-bmo1626236.patch (bmo#1626236)
+  * mozilla-bmo998749.patch (bmo#998749)
+  * mozilla-s390x-skia-gradient.patch
+- update create-tar.sh
+- Use same _constraints for ppc64 (BE) as ppc64le to avoid oom build failure
 
 -------------------------------------------------------------------
 Wed Jun 10 07:17:15 UTC 2020 - Guillaume GARDET <guillaume.gardet@opensuse.org>
--- a/MozillaFirefox/MozillaFirefox.desktop	Sun Jun 28 08:52:27 2020 +0200
+++ b/MozillaFirefox/MozillaFirefox.desktop	Thu Jul 23 16:00:58 2020 +0200
@@ -11,8 +11,16 @@
 MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;application/x-xpinstall;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;
 Type=Application
 
-Actions=PrivateBrowsing;
+Actions=new-window;PrivateBrowsing;ProfileManager
+
+[Desktop Action new-window]
+Name=New Window
+Exec=%EXEC --new-window %u
 
 [Desktop Action PrivateBrowsing]
 Name=New Private Browsing Window
 Exec=%EXEC --private-window %u
+
+[Desktop Action ProfileManager]
+Name=Profile Manager
+Exec=%EXEC --ProfileManager
--- a/MozillaFirefox/MozillaFirefox.spec	Sun Jun 28 08:52:27 2020 +0200
+++ b/MozillaFirefox/MozillaFirefox.spec	Thu Jul 23 16:00:58 2020 +0200
@@ -25,18 +25,16 @@
 # orig_suffix b3
 # major 69
 # mainver %major.99
-%define major          77
-%define mainver        %major.99
-%define orig_version   78.0
-%define orig_suffix    b8
-%define update_channel beta
+%define major          78
+%define mainver        %major.0.2
+%define orig_version   78.0.2
+%define orig_suffix    %{nil}
+%define update_channel release
 %define branding       1
 %define devpkg         1
 
-%if 0%{?suse_version} > 1500
 # PGO builds do not work in TW currently (bmo#1642410)
 %define do_profiling   0
-%endif
 
 # upstream default is clang (to use gcc for large parts set to 0)
 %define clang_build 0
@@ -70,11 +68,11 @@
 %else
 %define crashreporter 0
 %endif
-%if 0%{?sle_version} > 150100
+%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150100
 # pipewire is too old on Leap <15.1
+%define with_pipewire0_3 0
+%else
 %define with_pipewire0_3 1
-%else
-%define with_pipewire0_3 0
 %endif
 
 Name:           %{pkgname}
@@ -210,6 +208,7 @@
 Patch25:        mozilla-bmo998749.patch
 Patch26:        mozilla-bmo1626236.patch
 Patch27:        mozilla-s390x-skia-gradient.patch
+Patch28:        mozilla-libavcodec58_91.patch
 # Firefox/browser
 Patch101:       firefox-kde.patch
 Patch102:       firefox-branded-icons.patch
@@ -351,6 +350,7 @@
 %patch25 -p1
 %patch26 -p1
 %patch27 -p1
+%patch28 -p1
 # Firefox
 %patch101 -p1
 %patch102 -p1
@@ -478,9 +478,10 @@
 #ac_add_options --enable-chrome-format=jar
 ac_add_options --enable-update-channel=%{update_channel}
 ac_add_options --with-mozilla-api-keyfile=%{SOURCE18}
-ac_add_options --with-google-location-service-api-keyfile=%{SOURCE19}
+#ac_add_options --with-google-location-service-api-keyfile=%{SOURCE19}
 ac_add_options --with-google-safebrowsing-api-keyfile=%{SOURCE19}
 ac_add_options --with-unsigned-addon-scopes=app
+ac_add_options --allow-addon-sideload
 %if %branding
 ac_add_options --enable-official-branding
 %endif
@@ -535,18 +536,18 @@
     | xargs -n 1 -I {} /bin/sh -c '
         locale=$1
         ./mach build langpack-$locale
-        cp -rL ../obj/dist/xpi-stage/locale-$locale \
-            %{buildroot}%{progdir}/browser/extensions/langpack-$locale@firefox.mozilla.org
+        cp -L ../obj/dist/linux-*/xpi/firefox-%{orig_version}.$locale.langpack.xpi \
+            %{buildroot}%{progdir}/browser/extensions/langpack-$locale@firefox.mozilla.org.xpi
         # remove prefs, profile defaults, and hyphenation from langpack
-        rm -rf %{buildroot}%{progdir}/browser/extensions/langpack-$locale@firefox.mozilla.org/defaults
-        rm -rf %{buildroot}%{progdir}/browser/extensions/langpack-$locale@firefox.mozilla.org/hyphenation
+        #rm -rf %{buildroot}%{progdir}/browser/extensions/langpack-$locale@firefox.mozilla.org/defaults
+        #rm -rf %{buildroot}%{progdir}/browser/extensions/langpack-$locale@firefox.mozilla.org/hyphenation
         # check against the fixed common list and sort into the right filelist
         _matched=0
         for _match in ar ca cs da de el en-GB es-AR es-CL es-ES fi fr hu it ja ko nb-NO nl pl pt-BR pt-PT ru sv-SE zh-CN zh-TW; do
             [ "$_match" = "$locale" ] && _matched=1
         done
         [ $_matched -eq 1 ] && _l10ntarget=common || _l10ntarget=other
-        echo %{progdir}/browser/extensions/langpack-$locale@firefox.mozilla.org \
+        echo %{progdir}/browser/extensions/langpack-$locale@firefox.mozilla.org.xpi \
             >> %{_tmppath}/translations.$_l10ntarget
 ' -- {}
 %endif
@@ -761,12 +762,12 @@
 %files translations-common -f %{_tmppath}/translations.common
 %defattr(-,root,root)
 %dir %{progdir}
-%dir %{progdir}/browser/extensions/
+%dir %{progdir}/browser/extensions
 
 %files translations-other -f %{_tmppath}/translations.other
 %defattr(-,root,root)
 %dir %{progdir}
-%dir %{progdir}/browser/extensions/
+%dir %{progdir}/browser/extensions
 %endif
 
 # this package does not need to provide files but is needed to fulfill
--- a/MozillaFirefox/_constraints	Sun Jun 28 08:52:27 2020 +0200
+++ b/MozillaFirefox/_constraints	Thu Jul 23 16:00:58 2020 +0200
@@ -44,6 +44,7 @@
   </overwrite>
   <overwrite>
     <conditions>
+      <arch>ppc64</arch>
       <arch>ppc64le</arch>
     </conditions>
     <hardware>
--- a/MozillaFirefox/create-tar.sh	Sun Jun 28 08:52:27 2020 +0200
+++ b/MozillaFirefox/create-tar.sh	Thu Jul 23 16:00:58 2020 +0200
@@ -181,10 +181,7 @@
 BUILD_ID=$(get_build_number "$VERSION$VERSION_SUFFIX")
 
 if [ -z ${SKIP_LOCALES+x} ]; then
-  # TODO: Thunderbird has usually "default" as locale entry. 
-  # There we probably need to double-check Firefox-locals
-  # For now, just download every time for Thunderbird
-  if [ "$PRODUCT" = "firefox" ] && [ "$PREV_VERSION" != "" ] && locales_unchanged "$BUILD_ID"; then
+  if [ "$PREV_VERSION" != "" ] && locales_unchanged "$BUILD_ID"; then
     printf "%-40s: Did not change. Skipping.\n" "locales"
     LOCALES_CHANGED=0
   else
--- a/MozillaFirefox/firefox.js	Sun Jun 28 08:52:27 2020 +0200
+++ b/MozillaFirefox/firefox.js	Thu Jul 23 16:00:58 2020 +0200
@@ -2,6 +2,7 @@
 pref("geo.wifi.uri", "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%");
 /* Disable DoH by default */
 pref("network.trr.mode", 5);
-// do not disable system-global or app-global extensions
-pref("extensions.autoDisableScopes", 3);
+// do not disable any scope
+pref("extensions.autoDisableScopes", 0);
 pref("extensions.shownSelectionUI", true);
+pref("extensions.langpacks.signatures.required", false);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MozillaFirefox/mozilla-libavcodec58_91.patch	Thu Jul 23 16:00:58 2020 +0200
@@ -0,0 +1,1 @@
+../mozilla-libavcodec58_91.patch
\ No newline at end of file
--- a/MozillaFirefox/mozilla.sh.in	Sun Jun 28 08:52:27 2020 +0200
+++ b/MozillaFirefox/mozilla.sh.in	Thu Jul 23 16:00:58 2020 +0200
@@ -58,6 +58,8 @@
 MOZ_DIST_LIB="%PROGDIR"
 MOZ_APPNAME="%APPNAME"
 MOZ_PROGRAM="$MOZ_DIST_LIB/$MOZ_APPNAME"
+MOZ_LANGPACKS_DIR="$MOZ_DIST_LIB/langpacks"
+MOZ_EXTENSIONS_PROFILE_DIR="$HOME/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
 
 MOZ_APP_LAUNCHER="$MOZ_DIST_LIB/$MOZ_APPNAME.sh"
 if [ "$0" = "$MOZ_APP_LAUNCHER" ]; then
@@ -87,9 +89,85 @@
   export MOZ_ENABLE_WAYLAND=1
 fi
 
-# enable xinput2 (boo#1032003)
-# breaks too many things right now (boo#1053959)
-#export MOZ_USE_XINPUT2=1
+##
+## Use D-Bus remote exclusively when there's Wayland display.
+##
+if [ "$WAYLAND_DISPLAY" ]; then
+  export MOZ_DBUS_REMOTE=1
+fi
+
+# xinput2 (boo#1173320)
+source /etc/os-release
+if [ "$ID" = "opensuse-tumbleweed" ]; then
+  export MOZ_USE_XINPUT2=1
+fi
+
+##
+## To disable the use of Firefox localization handling for
+## the home profile, set MOZ_DISABLE_LANGPACKS=1
+## in your environment before launching Firefox.
+## currently disabled by default since langpacks
+## are shipped as app sideloading addons
+##
+#
+MOZ_DISABLE_LANGPACKS=1
+export MOZ_DISABLE_LANGPACKS
+#
+
+##
+## Automatically installed langpacks are tracked by .suse-langpack-install
+## config file.
+##
+SUSE_LANGPACK_CONFIG="$MOZ_EXTENSIONS_PROFILE_DIR/.suse-langpack-install"
+
+# MOZ_DISABLE_LANGPACKS disables language packs completely
+MOZILLA_DOWN=0
+if ! [ $MOZ_DISABLE_LANGPACKS ] || [ $MOZ_DISABLE_LANGPACKS -eq 0 ]; then
+    if [ -x $MOZ_PROGRAM ]; then
+        # Is firefox running?
+        /bin/pidof %APPNAME% > /dev/null 2>&1
+        MOZILLA_DOWN=$?
+    fi
+fi
+
+# Modify language pack configuration only when firefox is not running
+# and language packs are not disabled
+if [ $MOZILLA_DOWN -ne 0 ]; then
+    # Clear already installed langpacks
+    mkdir -p $MOZ_EXTENSIONS_PROFILE_DIR
+    if [ -f $SUSE_LANGPACK_CONFIG ]; then
+        rm `cat $SUSE_LANGPACK_CONFIG` > /dev/null 2>&1
+        rm $SUSE_LANGPACK_CONFIG > /dev/null 2>&1
+        # remove all empty langpacks dirs while they block installation of langpacks
+        rmdir $MOZ_EXTENSIONS_PROFILE_DIR/langpack* > /dev/null 2>&1
+    fi
+    # Get locale from system
+    CURRENT_LOCALE=$LC_ALL
+    CURRENT_LOCALE=${CURRENT_LOCALE:-$LC_MESSAGES}
+    CURRENT_LOCALE=${CURRENT_LOCALE:-$LANG}
+    # Try with a local variant first, then without a local variant
+    SHORTMOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*||g" | sed "s|\..*||g"`
+    MOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*|-\1|g" | sed "s|\..*||g"`
+    function create_langpack_link() {
+        local language=$*
+        local langpack=langpack-${language}@firefox.mozilla.org.xpi
+        if [ -f $MOZ_LANGPACKS_DIR/$langpack ]; then
+            rm -rf $MOZ_EXTENSIONS_PROFILE_DIR/$langpack
+            # If the target file is a symlink (the fallback langpack),
+            # install the original file instead of the fallback one
+            if [ -h $MOZ_LANGPACKS_DIR/$langpack ]; then
+                langpack=`readlink $MOZ_LANGPACKS_DIR/$langpack`
+            fi
+            ln -s $MOZ_LANGPACKS_DIR/$langpack \
+                  $MOZ_EXTENSIONS_PROFILE_DIR/$langpack
+            echo $MOZ_EXTENSIONS_PROFILE_DIR/$langpack > $SUSE_LANGPACK_CONFIG
+            return 0
+        fi
+        return 1
+    }
+    create_langpack_link $MOZLOCALE || create_langpack_link $SHORTMOZLOCALE || true
+fi
+
 
 moz_debug=0
 script_args=""
--- a/MozillaFirefox/tar_stamps	Sun Jun 28 08:52:27 2020 +0200
+++ b/MozillaFirefox/tar_stamps	Thu Jul 23 16:00:58 2020 +0200
@@ -1,11 +1,11 @@
 PRODUCT="firefox"
-CHANNEL="beta"
-VERSION="78.0"
-VERSION_SUFFIX="b8"
-PREV_VERSION="78.0b7"
+CHANNEL="release"
+VERSION="78.0.2"
+VERSION_SUFFIX=""
+PREV_VERSION="78.0.1"
 PREV_VERSION_SUFFIX=""
 #SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
 
-RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-beta"
-RELEASE_TAG="7e670bc63fef7995f5ae856b51c34c518e26ea74"
-RELEASE_TIMESTAMP="20200616235426"
+RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-release"
+RELEASE_TAG="e56adbbfe01c2443bae35e3d6f34867e36c3828e"
+RELEASE_TIMESTAMP="20200708170202"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mozilla-libavcodec58_91.patch	Thu Jul 23 16:00:58 2020 +0200
@@ -0,0 +1,20 @@
+Index: firefox-78.0.2/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
+===================================================================
+--- firefox-78.0.2.orig/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
++++ firefox-78.0.2/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
+@@ -30,6 +30,7 @@ static FFmpegLibWrapper sLibAV;
+ static const char* sLibs[] = {
+ // clang-format off
+ #if defined(XP_DARWIN)
++  "libavcodec.58.91.dylib",
+   "libavcodec.58.dylib",
+   "libavcodec.57.dylib",
+   "libavcodec.56.dylib",
+@@ -37,6 +38,7 @@ static const char* sLibs[] = {
+   "libavcodec.54.dylib",
+   "libavcodec.53.dylib",
+ #else
++  "libavcodec.so.58.91",
+   "libavcodec.so.58",
+   "libavcodec-ffmpeg.so.58",
+   "libavcodec-ffmpeg.so.57",
--- a/series	Sun Jun 28 08:52:27 2020 +0200
+++ b/series	Thu Jul 23 16:00:58 2020 +0200
@@ -25,6 +25,7 @@
 mozilla-bmo998749.patch
 mozilla-bmo1626236.patch
 mozilla-s390x-skia-gradient.patch
+mozilla-libavcodec58_91.patch
 
 # Firefox patches
 firefox-kde.patch