From 6b78971621e8108fc0f7ebb3500a635bf72c1f3f73256d8147ed7f8f84cf8634 Mon Sep 17 00:00:00 2001 From: Wolfgang Rosenauer Date: Sat, 26 May 2018 21:36:30 +0000 Subject: [PATCH 1/8] OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=668 --- MozillaFirefox.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/MozillaFirefox.spec b/MozillaFirefox.spec index 23b67e6..df95588 100644 --- a/MozillaFirefox.spec +++ b/MozillaFirefox.spec @@ -58,6 +58,7 @@ BuildRequires: alsa-devel BuildRequires: autoconf213 BuildRequires: dbus-1-glib-devel BuildRequires: fdupes +BuildRequires: memory-constraints %if 0%{?suse_version} <= 1320 BuildRequires: gcc7-c++ %else @@ -306,7 +307,6 @@ export CFLAGS="%{optflags} -fno-strict-aliasing" export CFLAGS="$CFLAGS -fno-delete-null-pointer-checks" %endif %ifarch aarch64 -# Workaround crash on startup. boo#1093059 export CFLAGS="$CFLAGS -ffixed-x28" %endif %ifarch %arm @@ -329,6 +329,7 @@ export CXXFLAGS="$CFLAGS" export RUSTFLAGS="-Cdebuginfo=0" %endif export MOZCONFIG=$RPM_BUILD_DIR/mozconfig +%limit_build -m 1500 cat << EOF > $MOZCONFIG mk_add_options MOZILLA_OFFICIAL=1 mk_add_options BUILD_OFFICIAL=1 From 4a2d8988d36c013aa80297f509c38e287c440882f1b8ad4fc928a27b20d3db9a Mon Sep 17 00:00:00 2001 From: Wolfgang Rosenauer Date: Thu, 7 Jun 2018 11:56:20 +0000 Subject: [PATCH 2/8] Accepting request 614877 from home:Guillaume_G:branches:mozilla:Factory - Add upstream patch to fix boo#1093059 instead of '-ffixed-x28' workaround: * mozilla-bmo1375074.patch OBS-URL: https://build.opensuse.org/request/show/614877 OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=670 --- MozillaFirefox.changes | 9 +++- MozillaFirefox.spec | 5 +-- mozilla-bmo1375074.patch | 95 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 105 insertions(+), 4 deletions(-) create mode 100644 mozilla-bmo1375074.patch diff --git a/MozillaFirefox.changes b/MozillaFirefox.changes index e420e8a..395fb10 100644 --- a/MozillaFirefox.changes +++ b/MozillaFirefox.changes @@ -1,9 +1,16 @@ +------------------------------------------------------------------- +Wed Jun 6 18:57:52 UTC 2018 - guillaume.gardet@opensuse.org + +- Add upstream patch to fix boo#1093059 instead of '-ffixed-x28' + workaround: + * mozilla-bmo1375074.patch + ------------------------------------------------------------------- Sat May 26 15:53:25 UTC 2018 - wr@rosenauer.org - fixed "open with" option under KDE (boo#1094747) - workaround crash on startup on aarch64 (boo#1093059) - (contributed by guillaume@Arm.com) + (contributed by guillaume.gardet@arm.com) ------------------------------------------------------------------- Wed May 23 08:49:09 UTC 2018 - guillaume.gardet@opensuse.org diff --git a/MozillaFirefox.spec b/MozillaFirefox.spec index df95588..bdbd2b9 100644 --- a/MozillaFirefox.spec +++ b/MozillaFirefox.spec @@ -158,6 +158,7 @@ Patch9: mozilla-i586-DecoderDoctorLogger.patch Patch10: mozilla-i586-domPrefs.patch Patch11: mozilla-enable-csd.patch Patch12: mozilla-fix-skia-aarch64.patch +Patch13: mozilla-bmo1375074.patch # Firefox/browser Patch101: firefox-kde.patch Patch102: firefox-branded-icons.patch @@ -273,6 +274,7 @@ cd $RPM_BUILD_DIR/%{source_prefix} %endif %patch11 -p1 %patch12 -p1 +%patch13 -p1 # Firefox %patch101 -p1 %patch102 -p1 @@ -306,9 +308,6 @@ export CFLAGS="%{optflags} -fno-strict-aliasing" %if 0%{?suse_version} > 1320 export CFLAGS="$CFLAGS -fno-delete-null-pointer-checks" %endif -%ifarch aarch64 -export CFLAGS="$CFLAGS -ffixed-x28" -%endif %ifarch %arm export CFLAGS="${CFLAGS/-g / }" %endif diff --git a/mozilla-bmo1375074.patch b/mozilla-bmo1375074.patch new file mode 100644 index 0000000..26bb381 --- /dev/null +++ b/mozilla-bmo1375074.patch @@ -0,0 +1,95 @@ + +# HG changeset patch +# User Lars T Hansen +# Date 1519822672 -3600 +# Node ID 800abe66894d6b07b24bccecbf6a65e2261076f6 +# Parent 223c97459e96183eb616aed39147207bdb953ba8 +Bug 1375074 - Save and restore non-volatile x28 on ARM64 for generated unboxed object constructor. r=sstangl + +diff --git a/js/src/jit-test/tests/bug1375074.js b/js/src/jit-test/tests/bug1375074.js +new file mode 100644 +--- /dev/null ++++ b/js/src/jit-test/tests/bug1375074.js +@@ -0,0 +1,18 @@ ++// This forces the VM to start creating unboxed objects and thus stresses a ++// particular path into generated code for a specialized unboxed object ++// constructor. ++ ++var K = 2000; // 2000 should be plenty ++var s = "["; ++var i; ++for ( i=0; i < K-1; i++ ) ++ s = s + `{"i":${i}},`; ++s += `{"i":${i}}]`; ++var v = JSON.parse(s); ++ ++assertEq(v.length == K, true); ++ ++for ( i=0; i < K; i++) { ++ assertEq(v[i] instanceof Object, true); ++ assertEq(v[i].i, i); ++} +diff --git a/js/src/vm/UnboxedObject.cpp b/js/src/vm/UnboxedObject.cpp +--- a/js/src/vm/UnboxedObject.cpp ++++ b/js/src/vm/UnboxedObject.cpp +@@ -90,17 +90,25 @@ UnboxedLayout::makeConstructorCode(JSCon + masm.loadPtr(Address(masm.getStackPointer(), sizeof(void*)), propertiesReg); + masm.loadPtr(Address(masm.getStackPointer(), 2 * sizeof(void*)), newKindReg); + #else + propertiesReg = IntArgReg0; + newKindReg = IntArgReg1; + #endif + + #ifdef JS_CODEGEN_ARM64 +- // ARM64 communicates stack address via sp, but uses a pseudo-sp for addressing. ++ // ARM64 communicates stack address via sp, but uses a pseudo-sp (PSP) for ++ // addressing. The register we use for PSP may however also be used by ++ // calling code, and it is nonvolatile, so save it. Do this as a special ++ // case first because the generic save/restore code needs the PSP to be ++ // initialized already. ++ MOZ_ASSERT(PseudoStackPointer64.Is(masm.GetStackPointer64())); ++ masm.Str(PseudoStackPointer64, vixl::MemOperand(sp, -16, vixl::PreIndex)); ++ ++ // Initialize the PSP from the SP. + masm.initStackPtr(); + #endif + + MOZ_ASSERT(propertiesReg.volatile_()); + MOZ_ASSERT(newKindReg.volatile_()); + + AllocatableGeneralRegisterSet regs(GeneralRegisterSet::All()); + regs.take(propertiesReg); +@@ -228,17 +236,32 @@ UnboxedLayout::makeConstructorCode(JSCon + if (object != ReturnReg) + masm.movePtr(object, ReturnReg); + + // Restore non-volatile registers which were saved on entry. + if (ScratchDoubleReg.volatile_()) + masm.pop(ScratchDoubleReg); + masm.PopRegsInMask(savedNonVolatileRegisters); + ++#ifdef JS_CODEGEN_ARM64 ++ // Now restore the value that was in the PSP register on entry, and return. ++ ++ // Obtain the correct SP from the PSP. ++ masm.Mov(sp, PseudoStackPointer64); ++ ++ // Restore the saved value of the PSP register, this value is whatever the ++ // caller had saved in it, not any actual SP value, and it must not be ++ // overwritten subsequently. ++ masm.Ldr(PseudoStackPointer64, vixl::MemOperand(sp, 16, vixl::PostIndex)); ++ ++ // Perform a plain Ret(), as abiret() will move SP <- PSP and that is wrong. ++ masm.Ret(vixl::lr); ++#else + masm.abiret(); ++#endif + + masm.bind(&failureStoreOther); + + // There was a failure while storing a value which cannot be stored at all + // in the unboxed object. Initialize the object so it is safe for GC and + // return null. + masm.initUnboxedObjectContents(object, templateObject); + + From ea8e2a80bd1d0a68b27dcc299c303b640ee58a04474e430bf630830da86beaf2 Mon Sep 17 00:00:00 2001 From: Wolfgang Rosenauer Date: Thu, 7 Jun 2018 14:08:54 +0000 Subject: [PATCH 3/8] - update to Firefox 60.0.2 * requires NSS 3.36.4 MFSA 2018-14 (bsc#1096449) * CVE-2018-6126 (bmo#1462682) Heap buffer overflow rasterizing paths in SVG with Skia OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=671 --- MozillaFirefox.changes | 10 ++++++++++ MozillaFirefox.spec | 6 +++--- create-tar.sh | 4 ++-- firefox-60.0.1.source.tar.xz | 3 --- firefox-60.0.1.source.tar.xz.asc | 17 ----------------- firefox-60.0.2.source.tar.xz | 3 +++ firefox-60.0.2.source.tar.xz.asc | 17 +++++++++++++++++ l10n-60.0.1.tar.xz => l10n-60.0.2.tar.xz | 0 source-stamp.txt | 2 +- 9 files changed, 36 insertions(+), 26 deletions(-) delete mode 100644 firefox-60.0.1.source.tar.xz delete mode 100644 firefox-60.0.1.source.tar.xz.asc create mode 100644 firefox-60.0.2.source.tar.xz create mode 100644 firefox-60.0.2.source.tar.xz.asc rename l10n-60.0.1.tar.xz => l10n-60.0.2.tar.xz (100%) diff --git a/MozillaFirefox.changes b/MozillaFirefox.changes index 395fb10..444a71f 100644 --- a/MozillaFirefox.changes +++ b/MozillaFirefox.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Thu Jun 7 12:11:06 UTC 2018 - wr@rosenauer.org + +- update to Firefox 60.0.2 + * requires NSS 3.36.4 + MFSA 2018-14 (bsc#1096449) + * CVE-2018-6126 (bmo#1462682) + Heap buffer overflow rasterizing paths in SVG with Skia + + ------------------------------------------------------------------- Wed Jun 6 18:57:52 UTC 2018 - guillaume.gardet@opensuse.org diff --git a/MozillaFirefox.spec b/MozillaFirefox.spec index bdbd2b9..d3782c3 100644 --- a/MozillaFirefox.spec +++ b/MozillaFirefox.spec @@ -19,10 +19,10 @@ # changed with every update %define major 60 -%define mainver %major.0.1 +%define mainver %major.0.2 %define update_channel release %define branding 1 -%define releasedate 20180516032328 +%define releasedate 20180605171542 %define source_prefix firefox-%{mainver} # PIE, full relro (x86_64 for now) @@ -73,7 +73,7 @@ BuildRequires: libnotify-devel BuildRequires: libproxy-devel BuildRequires: makeinfo BuildRequires: mozilla-nspr-devel >= 4.19 -BuildRequires: mozilla-nss-devel >= 3.36.1 +BuildRequires: mozilla-nss-devel >= 3.36.4 BuildRequires: python-devel BuildRequires: python2-xml BuildRequires: rust >= 1.24 diff --git a/create-tar.sh b/create-tar.sh index e6c4481..18339aa 100644 --- a/create-tar.sh +++ b/create-tar.sh @@ -7,8 +7,8 @@ CHANNEL="release" BRANCH="releases/mozilla-$CHANNEL" -RELEASE_TAG="FIREFOX_60_0_1_RELEASE" -VERSION="60.0.1" +RELEASE_TAG="FIREFOX_60_0_2_RELEASE" +VERSION="60.0.2" # check required tools test -x /usr/bin/hg || ( echo "hg missing: execute zypper in mercurial"; exit 5 ) diff --git a/firefox-60.0.1.source.tar.xz b/firefox-60.0.1.source.tar.xz deleted file mode 100644 index da42adf..0000000 --- a/firefox-60.0.1.source.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c8e621c7dfccbef14cce41a6847b83bee15b5276cd0c35771c3874e464e6a662 -size 267804748 diff --git a/firefox-60.0.1.source.tar.xz.asc b/firefox-60.0.1.source.tar.xz.asc deleted file mode 100644 index 7f096f6..0000000 --- a/firefox-60.0.1.source.tar.xz.asc +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iQIcBAABCAAGBQJa+8WlAAoJELu+vbskxvNV+JAP/Awb2XYbSOgKOZapZ6+wa7W5 -RnnGiVL2OtaMm+2XJDcKrYYolw57OKb1vnpHrpgUkq1NQ3W8yknLnFMue0chY0Lk -gfOeyUGKK/mDPxvq1+qbuwkYnVvkRQNvvy7J33jqWLWc0sai1zI5djjounqsHstD -KL/alWqoBRux627m0QSGZ4+a5ex87aOKfYlMgCX0qI0j+h1Grx2P3BpN414At1jf -N4kI5vjAQSvPu8Xw7bwtbBrpctf2Ufwv8B9kcnM7018KxV3j8LukpceHYjApMY5D -ROCD09lYqnmhbv7hJN9wSYIG5EG0bCQ+bsw9TJdiCPwBSw0i0tAL6SkMUhLiuB8d -gau9Ed9QkSFBsu+a0M5Y61cwFWSm/HI9Ya2wvc3rYGn2njtrOhUFBWm7PAsiKM8P -bwZkB8+KTAu31dgeIC/uXRjOGuHkdK7+WU1HjbZhbGZIIn2zawJfdT3IJKk6hHIk -gDkcYKL0amnSFaoUXcvlLZfnEWcv+uEhGbGztE7ztA9Vo1IfLzXQtduGdn0F1fp/ -sZ/Q1N1liZkVwK0GtV4+GUxIs5d0XCTZ4tNPeQ82+ePbQjo7HavJBE8gTrbj06Ui -Q4gdxdhsyuKkF8iaDx0Ft92KhZKiLyGgP3vcb025wj8l58nBCNnn2j9UDyholuDL -Xs2b4IADNmSPjxHqRgNh -=m07A ------END PGP SIGNATURE----- diff --git a/firefox-60.0.2.source.tar.xz b/firefox-60.0.2.source.tar.xz new file mode 100644 index 0000000..513378e --- /dev/null +++ b/firefox-60.0.2.source.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:764566a06b71164e7fd20b2b0e6b08a71b4ccd4d6fd61867eb08011a551f6725 +size 271930220 diff --git a/firefox-60.0.2.source.tar.xz.asc b/firefox-60.0.2.source.tar.xz.asc new file mode 100644 index 0000000..bf6c9f8 --- /dev/null +++ b/firefox-60.0.2.source.tar.xz.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iQIcBAABCAAGBQJbFuptAAoJELu+vbskxvNV2LMP/iZWM65JBnCbUL2GFecRvf41 +l8izB7XhECYWJE9XOJt0/wOCyugBpcM+Fmf5a3vrwt57cpANLIxoeefEUOU6VNPD +a//aWs9m1GbCupO6Pxuhrwo+oUGUgMXDiEnfVhujriXWB5ZP/QlqvyqERJLYA5sk +gvMvm5ua2ZfN0ko3qxpJfs0d+k70TDBFkNKcqmhROMCn+VY7sItqUSRcAe9Bu33A +bVyahF9k4ko6HLV6JztqO8UHRh4bOnR3aYG++CqRrmTpzme/RbeLG37JW4oHPGPb +jJwBzU1gHl7VQyhqKkdLLEvtz4O711xU45yksgaWTAtO+2hN6gdQTVsD7OaRuuE+ +hDeWYhqiXZGqqAHz2Mh+9bwa2NaJXPLpGAbNaMzk7eC4eQ+fcnNULA58XYuI3gkN +8SVoE+7tCjvoTTOxW3jWmDwGnG/ObP8z5qtnOh81HZyKFxy9kzyL3DPOJKVhiSNo +HBPXZd1z/Io6MlK6d0NntIavJkO+0RJ8m1EZYpvqZql0NKk9XpnOveWCGW1nwuXv +oHddFavyuNw7u67WQrQdaSD3yCoCoB8Qc9IwcLiDy/Aznp9iLpbvZ569R3ehe9QK ++V7DEIy+wM/yBu/qHGM/sPQwmgTMnItgECBxZaF4ikrb/XjVYmbvjrA7D4834zyt +HfV/bjMvQdbV7v7QVKU8 +=FXyF +-----END PGP SIGNATURE----- diff --git a/l10n-60.0.1.tar.xz b/l10n-60.0.2.tar.xz similarity index 100% rename from l10n-60.0.1.tar.xz rename to l10n-60.0.2.tar.xz diff --git a/source-stamp.txt b/source-stamp.txt index 350db75..53a7d4a 100644 --- a/source-stamp.txt +++ b/source-stamp.txt @@ -1,2 +1,2 @@ -REV=03d4f76300be +REV=a0b222c551f5 REPO=http://hg.mozilla.org/releases/mozilla-release From 263364571230ffb9be4b8b6e16f5aa8d99e7260e0fb0af77784371d424a171e2 Mon Sep 17 00:00:00 2001 From: Wolfgang Rosenauer Date: Thu, 7 Jun 2018 14:12:08 +0000 Subject: [PATCH 4/8] OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=672 --- MozillaFirefox.changes | 1 - 1 file changed, 1 deletion(-) diff --git a/MozillaFirefox.changes b/MozillaFirefox.changes index 444a71f..c4fe7ae 100644 --- a/MozillaFirefox.changes +++ b/MozillaFirefox.changes @@ -7,7 +7,6 @@ Thu Jun 7 12:11:06 UTC 2018 - wr@rosenauer.org * CVE-2018-6126 (bmo#1462682) Heap buffer overflow rasterizing paths in SVG with Skia - ------------------------------------------------------------------- Wed Jun 6 18:57:52 UTC 2018 - guillaume.gardet@opensuse.org From 206b6f2820a5322f3c2f6a7686ca7e8464d05959645fdc60f3998c5e2dba88a3 Mon Sep 17 00:00:00 2001 From: Wolfgang Rosenauer Date: Mon, 25 Jun 2018 20:56:47 +0000 Subject: [PATCH 5/8] - update to Firefox 61.0 * Performance enhancements * Various improvements for dark theme support will provide a more consistent experience across the entire Firefox UI * OpenSearch plugins offered by web pages can now be added from the page action menu for easier installation * Improved support for allowing WebExtensions to manage and hide tabs - requires NSS 3.37.3 - requires python >= 3.5 to build - removed obsolete patches mozilla-i586-DecoderDoctorLogger.patch mozilla-i586-domPrefs.patch mozilla-fix-skia-aarch64.patch mozilla-bmo1375074.patch mozilla-enable-csd.patch - patch for new no-return warnings (mozilla-no-return.patch) - do not disable system installed locales (mozilla-bmo1464766.patch) - Add conditional for pkgconfig(gconf-2.0) BuildRequires, and pass conditional --disable-gconf to configure: no longer pull in obsolete gconf2 for Tumbleweed. OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=673 --- MozillaFirefox.changes | 28 +++++ MozillaFirefox.spec | 42 ++++---- compare-locales.tar.xz | 2 +- create-tar.sh | 85 ++++++++------- firefox-60.0.2.source.tar.xz | 3 - firefox-60.0.2.source.tar.xz.asc | 17 --- firefox-61.0.source.tar.xz | 3 + firefox-61.0.source.tar.xz.asc | 17 +++ firefox-branded-icons.patch | 12 +-- firefox-kde.patch | 137 ++++++++++++++----------- l10n-60.0.2.tar.xz | 3 - l10n-61.0.tar.xz | 3 + mozilla-bmo1375074.patch | 95 ----------------- mozilla-bmo1464766.patch | 119 +++++++++++++++++++++ mozilla-fix-skia-aarch64.patch | 20 ---- mozilla-i586-DecoderDoctorLogger.patch | 26 ----- mozilla-i586-domPrefs.patch | 27 ----- mozilla-kde.patch | 84 +++++---------- mozilla-no-return.patch | 40 ++++++++ source-stamp.txt | 2 +- 20 files changed, 383 insertions(+), 382 deletions(-) delete mode 100644 firefox-60.0.2.source.tar.xz delete mode 100644 firefox-60.0.2.source.tar.xz.asc create mode 100644 firefox-61.0.source.tar.xz create mode 100644 firefox-61.0.source.tar.xz.asc delete mode 100644 l10n-60.0.2.tar.xz create mode 100644 l10n-61.0.tar.xz delete mode 100644 mozilla-bmo1375074.patch create mode 100644 mozilla-bmo1464766.patch delete mode 100644 mozilla-fix-skia-aarch64.patch delete mode 100644 mozilla-i586-DecoderDoctorLogger.patch delete mode 100644 mozilla-i586-domPrefs.patch create mode 100644 mozilla-no-return.patch diff --git a/MozillaFirefox.changes b/MozillaFirefox.changes index c4fe7ae..f672708 100644 --- a/MozillaFirefox.changes +++ b/MozillaFirefox.changes @@ -1,3 +1,31 @@ +------------------------------------------------------------------- +Sat Jun 23 07:25:51 UTC 2018 - wr@rosenauer.org + +- update to Firefox 61.0 + * Performance enhancements + * Various improvements for dark theme support will provide a more + consistent experience across the entire Firefox UI + * OpenSearch plugins offered by web pages can now be added from the + page action menu for easier installation + * Improved support for allowing WebExtensions to manage and hide tabs +- requires NSS 3.37.3 +- requires python >= 3.5 to build +- removed obsolete patches + mozilla-i586-DecoderDoctorLogger.patch + mozilla-i586-domPrefs.patch + mozilla-fix-skia-aarch64.patch + mozilla-bmo1375074.patch + mozilla-enable-csd.patch +- patch for new no-return warnings (mozilla-no-return.patch) +- do not disable system installed locales (mozilla-bmo1464766.patch) + +------------------------------------------------------------------- +Fri Jun 8 10:52:13 UTC 2018 - bjorn.lie@gmail.com + +- Add conditional for pkgconfig(gconf-2.0) BuildRequires, and pass + conditional --disable-gconf to configure: no longer pull in + obsolete gconf2 for Tumbleweed. + ------------------------------------------------------------------- Thu Jun 7 12:11:06 UTC 2018 - wr@rosenauer.org diff --git a/MozillaFirefox.spec b/MozillaFirefox.spec index d3782c3..2723e92 100644 --- a/MozillaFirefox.spec +++ b/MozillaFirefox.spec @@ -18,12 +18,14 @@ # changed with every update -%define major 60 -%define mainver %major.0.2 +%define major 61 +%define mainver %major.0 +%define orig_version 61.0 +%define orig_suffix %{nil} %define update_channel release -%define branding 1 -%define releasedate 20180605171542 -%define source_prefix firefox-%{mainver} +%define branding 1 +%define releasedate 20180621125625 +%define source_prefix firefox-%{orig_version} # PIE, full relro (x86_64 for now) %define build_hardened 1 @@ -73,9 +75,10 @@ BuildRequires: libnotify-devel BuildRequires: libproxy-devel BuildRequires: makeinfo BuildRequires: mozilla-nspr-devel >= 4.19 -BuildRequires: mozilla-nss-devel >= 3.36.4 +BuildRequires: mozilla-nss-devel >= 3.37.3 BuildRequires: python-devel BuildRequires: python2-xml +BuildRequires: python3 >= 3.5 BuildRequires: rust >= 1.24 BuildRequires: rust-std BuildRequires: startup-notification-devel @@ -84,7 +87,9 @@ BuildRequires: update-desktop-files BuildRequires: xorg-x11-libXt-devel BuildRequires: yasm BuildRequires: zip +%if 0%{?suse_version} < 1550 BuildRequires: pkgconfig(gconf-2.0) +%endif BuildRequires: pkgconfig(gdk-x11-2.0) BuildRequires: pkgconfig(glib-2.0) >= 2.22 BuildRequires: pkgconfig(gobject-2.0) @@ -122,13 +127,13 @@ Summary: Mozilla %{appname} Web Browser License: MPL-2.0 Group: Productivity/Networking/Web/Browsers Url: http://www.mozilla.org/ -Source: http://ftp.mozilla.org/pub/firefox/releases/%{version}/source/firefox-%{version}.source.tar.xz +Source: http://ftp.mozilla.org/pub/firefox/releases/%{version}/source/firefox-%{orig_version}%{orig_suffix}.source.tar.xz Source1: MozillaFirefox.desktop Source2: MozillaFirefox-rpmlintrc Source3: mozilla.sh.in Source5: source-stamp.txt Source6: kde.js -Source7: l10n-%{version}.tar.xz +Source7: l10n-%{orig_version}%{orig_suffix}.tar.xz Source8: firefox-mimeinfo.xml Source9: firefox.js Source10: compare-locales.tar.xz @@ -143,7 +148,7 @@ Source16: MozillaFirefox.changes # please get your own set of keys. Source18: mozilla-api-key Source19: google-api-key -Source20: http://ftp.mozilla.org/pub/firefox/releases/%{version}/source/firefox-%{version}.source.tar.xz.asc +Source20: http://ftp.mozilla.org/pub/firefox/releases/%{version}/source/firefox-%{orig_version}%{orig_suffix}.source.tar.xz.asc Source21: mozilla.keyring # Gecko/Toolkit Patch1: mozilla-nongnome-proxies.patch @@ -154,11 +159,8 @@ Patch5: mozilla-no-stdcxx-check.patch Patch6: mozilla-reduce-files-per-UnifiedBindings.patch Patch7: mozilla-aarch64-startup-crash.patch Patch8: mozilla-bmo256180.patch -Patch9: mozilla-i586-DecoderDoctorLogger.patch -Patch10: mozilla-i586-domPrefs.patch -Patch11: mozilla-enable-csd.patch -Patch12: mozilla-fix-skia-aarch64.patch -Patch13: mozilla-bmo1375074.patch +Patch9: mozilla-no-return.patch +Patch10: mozilla-bmo1464766.patch # Firefox/browser Patch101: firefox-kde.patch Patch102: firefox-branded-icons.patch @@ -268,13 +270,8 @@ cd $RPM_BUILD_DIR/%{source_prefix} %endif %patch7 -p1 %patch8 -p1 -%ifarch %ix86 %patch9 -p1 %patch10 -p1 -%endif -%patch11 -p1 -%patch12 -p1 -%patch13 -p1 # Firefox %patch101 -p1 %patch102 -p1 @@ -340,6 +337,9 @@ ac_add_options --libdir=%{_libdir} ac_add_options --includedir=%{_includedir} ac_add_options --enable-release ac_add_options --enable-default-toolkit=cairo-gtk3 +%if 0%{?suse_version} >= 1550 +ac_add_options --disable-gconf +%endif %if 0%{?build_hardened} ac_add_options --enable-pie %endif @@ -418,6 +418,7 @@ install -m 644 %{SOURCE6} %{buildroot}%{progdir}/browser/defaults/preferences/kd install -m 644 %{SOURCE9} %{buildroot}%{progdir}/browser/defaults/preferences/firefox.js # install additional locales %if %localize +mkdir -p %{buildroot}%{progdir}/browser/extensions truncate -s 0 %{_tmppath}/translations.{common,other} sed -r '/^(ja-JP-mac|en-US|)$/d;s/ .*$//' $RPM_BUILD_DIR/%{source_prefix}/browser/locales/shipped-locales \ | xargs -P 8 -n 1 -I {} /bin/sh -c ' @@ -576,11 +577,9 @@ exit 0 %dir %{progdir} %dir %{progdir}/browser/ %dir %{progdir}/browser/chrome/ -%dir %{progdir}/browser/extensions/ %{progdir}/browser/defaults %{progdir}/browser/features/ %{progdir}/browser/chrome/icons -%{progdir}/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi %{progdir}/browser/blocklist.xml %{progdir}/browser/chrome.manifest %{progdir}/browser/omni.ja @@ -597,7 +596,6 @@ exit 0 %{progdir}/application.ini %{progdir}/chrome.manifest %{progdir}/dependentlibs.list -#%{progdir}/icudt*.dat %{progdir}/*.so %{progdir}/omni.ja %{progdir}/fonts/ diff --git a/compare-locales.tar.xz b/compare-locales.tar.xz index b799ae2..ec0ddeb 100644 --- a/compare-locales.tar.xz +++ b/compare-locales.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:971053a42b39417bb7d549e3de0d4b267732bb961e5178bbc3a2340b58f84b31 +oid sha256:afe9b5aaf788e86ff4d2249b500e8cd457f7102a04d1d23db0ca6aa629e228d6 size 28368 diff --git a/create-tar.sh b/create-tar.sh index 18339aa..39d19bc 100644 --- a/create-tar.sh +++ b/create-tar.sh @@ -7,45 +7,15 @@ CHANNEL="release" BRANCH="releases/mozilla-$CHANNEL" -RELEASE_TAG="FIREFOX_60_0_2_RELEASE" -VERSION="60.0.2" +RELEASE_TAG="785d242a5b01d5f1094882aa2144d8e5e2791e06" +VERSION="61.0" +VERSION_SUFFIX="" +LOCALE_FILE="firefox-$VERSION/browser/locales/l10n-changesets.json" # check required tools test -x /usr/bin/hg || ( echo "hg missing: execute zypper in mercurial"; exit 5 ) test -x /usr/bin/jq || ( echo "jq missing: execute zypper in jq"; exit 5 ) - -# mozilla -if [ -d mozilla ]; then - pushd mozilla - _repourl=$(hg paths) - case "$_repourl" in - *$BRANCH*) - echo "updating previous tree" - hg pull - popd - ;; - * ) - echo "removing obsolete tree" - popd - rm -rf mozilla - ;; - esac -fi -if [ ! -d mozilla ]; then - echo "cloning new $BRANCH..." - hg clone http://hg.mozilla.org/$BRANCH mozilla -fi -pushd mozilla -hg update --check -[ "$RELEASE_TAG" == "default" ] || hg update -r $RELEASE_TAG -# get repo and source stamp -echo -n "REV=" > ../source-stamp.txt -hg -R . parent --template="{node|short}\n" >> ../source-stamp.txt -echo -n "REPO=" >> ../source-stamp.txt -hg showconfig paths.default 2>/dev/null | head -n1 | sed -e "s/^ssh:/http:/" >> ../source-stamp.txt -popd - # use parallel compression, if available compression='-J' pixz -h > /dev/null 2>&1 @@ -53,13 +23,52 @@ if (($? != 127)); then compression='-Ipixz' fi -echo "creating archive..." -tar $compression -cf firefox-$VERSION.source.tar.xz --exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=CVS mozilla +# we might have an upstream archive already and can skip the checkout +if [ -e firefox-$VERSION$VERSION_SUFFIX.source.tar.xz ]; then + echo "skip firefox checkout and use available archive" + # still need to extract the locale information from the archive + echo "extract locale changesets" + tar -xf firefox-$VERSION$VERSION_SUFFIX.source.tar.xz $LOCALE_FILE +else + # mozilla + if [ -d firefox-$VERSION ]; then + pushd firefox-$VERSION + _repourl=$(hg paths) + case "$_repourl" in + *$BRANCH*) + echo "updating previous tree" + hg pull + popd + ;; + * ) + echo "removing obsolete tree" + popd + rm -rf firefox-$VERSION + ;; + esac + fi + if [ ! -d firefox-$VERSION ]; then + echo "cloning new $BRANCH..." + hg clone http://hg.mozilla.org/$BRANCH firefox-$VERSION + fi + pushd firefox-$VERSION + hg update --check + [ "$RELEASE_TAG" == "default" ] || hg update -r $RELEASE_TAG + # get repo and source stamp + echo -n "REV=" > ../source-stamp.txt + hg -R . parent --template="{node|short}\n" >> ../source-stamp.txt + echo -n "REPO=" >> ../source-stamp.txt + hg showconfig paths.default 2>/dev/null | head -n1 | sed -e "s/^ssh:/http:/" >> ../source-stamp.txt + popd + + echo "creating archive..." + tar $compression -cf firefox-$VERSION$VERSION_SUFFIX.source.tar.xz --exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=CVS firefox-$VERSION +fi # l10n echo "fetching locales..." test ! -d l10n && mkdir l10n -jq -r 'to_entries[]| "\(.key) \(.value|.revision)"' mozilla/browser/locales/l10n-changesets.json | \ +jq -r 'to_entries[]| "\(.key) \(.value|.revision)"' $LOCALE_FILE | \ while read locale changeset ; do case $locale in ja-JP-mac|en-US) @@ -73,7 +82,7 @@ jq -r 'to_entries[]| "\(.key) \(.value|.revision)"' mozilla/browser/locales/l10n esac done echo "creating l10n archive..." -tar $compression -cf l10n-$VERSION.tar.xz --exclude=.hgtags --exclude=.hgignore --exclude=.hg l10n +tar $compression -cf l10n-$VERSION$VERSION_SUFFIX.tar.xz --exclude=.hgtags --exclude=.hgignore --exclude=.hg l10n # compare-locales echo "creating compare-locales" diff --git a/firefox-60.0.2.source.tar.xz b/firefox-60.0.2.source.tar.xz deleted file mode 100644 index 513378e..0000000 --- a/firefox-60.0.2.source.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:764566a06b71164e7fd20b2b0e6b08a71b4ccd4d6fd61867eb08011a551f6725 -size 271930220 diff --git a/firefox-60.0.2.source.tar.xz.asc b/firefox-60.0.2.source.tar.xz.asc deleted file mode 100644 index bf6c9f8..0000000 --- a/firefox-60.0.2.source.tar.xz.asc +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iQIcBAABCAAGBQJbFuptAAoJELu+vbskxvNV2LMP/iZWM65JBnCbUL2GFecRvf41 -l8izB7XhECYWJE9XOJt0/wOCyugBpcM+Fmf5a3vrwt57cpANLIxoeefEUOU6VNPD -a//aWs9m1GbCupO6Pxuhrwo+oUGUgMXDiEnfVhujriXWB5ZP/QlqvyqERJLYA5sk -gvMvm5ua2ZfN0ko3qxpJfs0d+k70TDBFkNKcqmhROMCn+VY7sItqUSRcAe9Bu33A -bVyahF9k4ko6HLV6JztqO8UHRh4bOnR3aYG++CqRrmTpzme/RbeLG37JW4oHPGPb -jJwBzU1gHl7VQyhqKkdLLEvtz4O711xU45yksgaWTAtO+2hN6gdQTVsD7OaRuuE+ -hDeWYhqiXZGqqAHz2Mh+9bwa2NaJXPLpGAbNaMzk7eC4eQ+fcnNULA58XYuI3gkN -8SVoE+7tCjvoTTOxW3jWmDwGnG/ObP8z5qtnOh81HZyKFxy9kzyL3DPOJKVhiSNo -HBPXZd1z/Io6MlK6d0NntIavJkO+0RJ8m1EZYpvqZql0NKk9XpnOveWCGW1nwuXv -oHddFavyuNw7u67WQrQdaSD3yCoCoB8Qc9IwcLiDy/Aznp9iLpbvZ569R3ehe9QK -+V7DEIy+wM/yBu/qHGM/sPQwmgTMnItgECBxZaF4ikrb/XjVYmbvjrA7D4834zyt -HfV/bjMvQdbV7v7QVKU8 -=FXyF ------END PGP SIGNATURE----- diff --git a/firefox-61.0.source.tar.xz b/firefox-61.0.source.tar.xz new file mode 100644 index 0000000..ca4ddc4 --- /dev/null +++ b/firefox-61.0.source.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3453e8ac7c602390bda0d34a4a636e0d65fd89d9ae69f7aa1740926715c42268 +size 266932956 diff --git a/firefox-61.0.source.tar.xz.asc b/firefox-61.0.source.tar.xz.asc new file mode 100644 index 0000000..14c2126 --- /dev/null +++ b/firefox-61.0.source.tar.xz.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iQIcBAABCAAGBQJbLAYAAAoJELu+vbskxvNV74MQAImAjaPBzW2ytG6f3pK8A4VB +fwhex7/7gaJv+Y5YdcIolRRMEzUJ7dVqPkoiQK+fE5yc3HX+/Vs5/YnGa6nt8Tml ++cootnuiXnONb3wClUByLbgFw2vfE7uy6vgoL2HaoWYKGVMo1n3zvs24upi6w3XV +rbj0vvHY1Y7GfCUIuU8S85VYRxvtQB+UcGEUXy6Rtpb/hyPqzPqgctMRUmfLGUUr +rTxgHhmOlPoMsCYp1QeFzhmAwHXa88I57KjIchMsVZhOWQ9rUQzU1WXSmIvUEU6C +ukpouiFd7mMRkNpSVa86r+IWR40y6C8YpXq/yE3aSYiVZugenC3R2BkkAhBd5u++ +4AZN+yE7saA8EESmSGJ3BPKFe+4237Ux6cmpRjRjRMM805RdD2CBxuInYe07WSaY +jQpV0zQY/AOI5m9wdqsH32F1u7B9GUt4u7L2wsOnvDT244OWL3OFWr1H1pGdWosJ +y9WugGrR6qTfw76AUpc/GSkIsLDvs0552PwwAumkZ254hwA/pEnQlE1W5V81rMpr +deB9ONVY7ZWLRNSM4G3M3Zh6a+FkLdDfBwvcyTazdEtjujxmgzUs2XNS4BPSxiu4 +fiRnyjkjY3ZLjDpAB1K4EvLg3kYhYop4XyUCnFTX0mopETFs84mRAKmzkIbT8osZ +0aXJpCAJEq4ml8kSTvoS +=TGCY +-----END PGP SIGNATURE----- diff --git a/firefox-branded-icons.patch b/firefox-branded-icons.patch index 8c1ffa1..b72f177 100644 --- a/firefox-branded-icons.patch +++ b/firefox-branded-icons.patch @@ -1,11 +1,11 @@ # HG changeset patch # Parent e0751ad74e835e80041a61ea00c2a63bf6fbe2de -# Parent 38e46d7f98d3e392de95d83660ecd147b30dc9aa +# Parent 8a401a01454e9f5e8a357262d774e0ff348d9bc1 diff --git a/browser/branding/branding-common.mozbuild b/browser/branding/branding-common.mozbuild --- a/browser/branding/branding-common.mozbuild +++ b/browser/branding/branding-common.mozbuild -@@ -17,12 +17,15 @@ def FirefoxBranding(): +@@ -22,12 +22,15 @@ def FirefoxBranding(): FINAL_TARGET_FILES.VisualElements += [ 'VisualElements_150.png', 'VisualElements_70.png', @@ -24,9 +24,9 @@ diff --git a/browser/branding/branding-common.mozbuild b/browser/branding/brandi diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in --- a/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in -@@ -601,20 +601,23 @@ - @RESPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/chrome.manifest - @RESPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf +@@ -404,20 +404,23 @@ + @RESPATH@/browser/chrome/pdfjs.manifest + @RESPATH@/browser/chrome/pdfjs/* @RESPATH@/chrome/toolkit@JAREXT@ @RESPATH@/chrome/toolkit.manifest @RESPATH@/chrome/recording.manifest @@ -46,5 +46,5 @@ diff --git a/browser/installer/package-manifest.in b/browser/installer/package-m ; [Webide Files] @RESPATH@/browser/chrome/webide@JAREXT@ @RESPATH@/browser/chrome/webide.manifest - @RESPATH@/browser/@PREF_DIR@/webide-prefs.js + @RESPATH@/browser/@PREF_DIR@/webide.js diff --git a/firefox-kde.patch b/firefox-kde.patch index 6c57040..7b11b84 100644 --- a/firefox-kde.patch +++ b/firefox-kde.patch @@ -1,11 +1,11 @@ # HG changeset patch -# Parent 1b44c077e473c5a7d02fab26e2a220ebf219e0ab +# Parent 242712e5a1879111d1a93a5d55dfae3fd5d47abc diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul new file mode 100644 --- /dev/null +++ b/browser/base/content/browser-kde.xul -@@ -0,0 +1,1280 @@ +@@ -0,0 +1,1293 @@ +#filter substitution + +# -*- Mode: HTML -*- @@ -21,14 +21,17 @@ new file mode 100644 + + + ++ ++ + + -+ -+ ++ + +# All DTD information is stored in a separate file so that it can be shared by +# hiddenWindow.xul. ++ + + + -+# All JS files which are not content (only) dependent that browser.xul -+# wishes to include *must* go into the global-scripts.inc file -+# so that they can be shared by macBrowserOverlay.xul. ++# All JS files which are needed by browser.xul and other top level windows to ++# support MacOS specific features *must* go into the global-scripts.inc file so ++# that they can be shared with macWindow.inc.xul. +#include global-scripts.inc + + + -+# All sets except for popupsets (commands, keys, stringbundles and broadcasters) *must* go into the -+# browser-sets.inc file for sharing with hiddenWindow.xul. ++# All sets except for popupsets (commands, keys, stringbundles and broadcasters) ++# *must* go into the browser-sets.inc file so that they can be shared with other ++# top level windows in macWindow.inc.xul. +#define FULL_BROWSER_WINDOW +#include browser-sets.inc +#undef FULL_BROWSER_WINDOW @@ -219,7 +235,7 @@ new file mode 100644 + + + -+