--- a/MozillaFirefox/MozillaFirefox.spec Fri Sep 20 14:10:22 2019 +0200
+++ b/MozillaFirefox/MozillaFirefox.spec Sun Oct 20 14:25:55 2019 +0200
@@ -19,13 +19,13 @@
# changed with every update
%define major 69
-%define mainver %major.0.1
-%define orig_version 69.0.1
+%define mainver %major.0.3
+%define orig_version 69.0.3
%define orig_suffix %{nil}
%define update_channel release
%define branding 1
-%define releasedate 20190917135527
-%define source_prefix firefox-%{orig_version}
+%define devpkg 1
+%define releasedate 20191009172106
# always build with GCC as SUSE Security Team requires that
%define clang_build 0
@@ -45,6 +45,7 @@
# general build definitions
%define progname firefox
%define pkgname MozillaFirefox
+%define srcname firefox
%define appname Firefox
%define progdir %{_prefix}/%_lib/%{progname}
%define gnome_dir %{_prefix}
@@ -93,7 +94,9 @@
BuildRequires: unzip
BuildRequires: update-desktop-files
BuildRequires: xorg-x11-libXt-devel
+%if 0%{?do_profiling}
BuildRequires: xvfb-run
+%endif
BuildRequires: yasm
BuildRequires: zip
%if 0%{?suse_version} < 1550
@@ -137,13 +140,12 @@
Group: Productivity/Networking/Web/Browsers
Url: http://www.mozilla.org/
%if !%{with only_print_mozconfig}
-Source: http://ftp.mozilla.org/pub/%{progname}/releases/%{version}%{orig_suffix}/source/firefox-%{orig_version}%{orig_suffix}.source.tar.xz
+Source: http://ftp.mozilla.org/pub/%{srcname}/releases/%{version}%{orig_suffix}/source/%{srcname}-%{orig_version}%{orig_suffix}.source.tar.xz
Source1: MozillaFirefox.desktop
Source2: MozillaFirefox-rpmlintrc
Source3: mozilla.sh.in
Source4: tar_stamps
Source5: source-stamp.txt
-Source6: kde.js
Source7: l10n-%{orig_version}%{orig_suffix}.tar.xz
Source8: firefox-mimeinfo.xml
Source9: firefox.js
@@ -153,14 +155,14 @@
Source13: spellcheck.js
Source14: https://github.com/openSUSE/firefox-scripts/raw/master/create-tar.sh
Source15: firefox-appdata.xml
-Source16: MozillaFirefox.changes
+Source16: %{name}.changes
# Set up API keys, see http://www.chromium.org/developers/how-tos/api-keys
# Note: these are for the openSUSE Firefox builds ONLY. For your own distribution,
# please get your own set of keys.
Source18: mozilla-api-key
Source19: google-api-key
-Source20: https://ftp.mozilla.org/pub/%{progname}/releases/%{version}%{orig_suffix}/source/%{progname}-%{orig_version}%{orig_suffix}.source.tar.xz.asc
-Source21: https://ftp.mozilla.org/pub/%{progname}/releases/%{version}%{orig_suffix}/KEY#/mozilla.keyring
+Source20: https://ftp.mozilla.org/pub/%{srcname}/releases/%{version}%{orig_suffix}/source/%{srcname}-%{orig_version}%{orig_suffix}.source.tar.xz.asc
+Source21: https://ftp.mozilla.org/pub/%{srcname}/releases/%{version}%{orig_suffix}/KEY#/mozilla.keyring
# Gecko/Toolkit
Patch1: mozilla-nongnome-proxies.patch
Patch2: mozilla-kde.patch
@@ -185,23 +187,24 @@
Patch21: mozilla-bmo1554971.patch
Patch22: mozilla-nestegg-big-endian.patch
Patch23: mozilla-bmo1512162.patch
+Patch24: mozilla-fix-top-level-asm.patch
# Firefox/browser
Patch101: firefox-kde.patch
Patch102: firefox-branded-icons.patch
-Patch103: firefox-add-kde.js-in-order-to-survive-PGO-build.patch
%endif # only_print_mozconfig
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires(post): coreutils shared-mime-info desktop-file-utils
Requires(postun): shared-mime-info desktop-file-utils
-%if %branding
-Requires: %{name}-branding > 44.0
-%endif
+Requires: %{name}-branding >= 68
Requires: mozilla-nspr >= %(rpm -q --queryformat '%%{VERSION}' mozilla-nspr)
Requires: mozilla-nss >= %(rpm -q --queryformat '%%{VERSION}' mozilla-nss)
Recommends: libcanberra0
Recommends: libpulse0
# addon leads to startup crash (bnc#908892)
Obsoletes: tracker-miner-firefox < 0.15
+%if 0%{?devpkg} == 0
+Obsoletes: %{name}-devel < %{version}
+%endif
# libproxy's mozjs pacrunner crashes FF (bnc#759123)
%if 0%{?suse_version} < 1220
Obsoletes: libproxy1-pacrunner-mozjs <= 0.4.7
@@ -213,6 +216,7 @@
compliance and performance. Its functionality can be enhanced via a
plethora of extensions.
+%if 0%{?devpkg}
%package devel
Summary: Devel package for %{appname}
Group: Development/Tools/Other
@@ -223,6 +227,7 @@
%description devel
Development files for %{appname} to make packaging of addons easier.
+%endif
%if %localize
%package translations-common
@@ -239,7 +244,7 @@
%package translations-other
Summary: Extra translations for %{appname}
Group: System/Localization
-Provides: locale(%{name}:ach;af;an;as;ast;az;bg;bn_BD;bn_IN;br;bs;cak;cy;dsb;en_ZA;eo;es_MX;et;eu;fa;ff;fy_NL;ga_IE;gd;gl;gn;gu_IN;he;hi_IN;hr;hsb;hy_AM;id;is;ka;kab;kk;km;kn;lij;lt;lv;mai;mk;ml;mr;ms;ne-NP;nn_NO;oc;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;te;th;tr;uk;uz;vi;xh)
+Provides: locale(%{name}:ach;af;an;ast;az;be;bg;bn;br;bs;cak;cy;dsb;en_CA;eo;es_MX;et;eu;fa;ff;fy_NL;ga_IE;gd;gl;gn;gu_IN;he;hi_IN;hr;hsb;hy_AM;ia;id;is;ka;kab;kk;km;kn;lij;lt;lv;mk;mr;ms;my;ne_NP;nn_NO;oc;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;te;th;tr;uk;ur;uz;vi;xh)
Requires: %{name} = %{version}
Obsoletes: %{name}-translations < %{version}-%{release}
@@ -248,7 +253,6 @@
of %{appname}.
%endif
-%if %branding
%package branding-upstream
Summary: Upstream branding for %{appname}
Group: Productivity/Networking/Web/Browsers
@@ -267,7 +271,6 @@
%description branding-upstream
This package provides upstream look and feel for %{appname}.
-%endif
%if %crashreporter
%package buildsymbols
@@ -291,11 +294,11 @@
exit 1
fi
-%setup -q -n %{source_prefix} -b 7 -b 10
+%setup -q -n %{srcname}-%{orig_version} -b 7 -b 10
%else
-%setup -q -n %{source_prefix}
+%setup -q -n %{srcname}-%{orig_version}
%endif
-cd $RPM_BUILD_DIR/%{source_prefix}
+cd $RPM_BUILD_DIR/%{srcname}-%{orig_version}
%patch1 -p1
%patch2 -p1
%patch3 -p1
@@ -321,10 +324,10 @@
%patch21 -p1
%patch22 -p1
%patch23 -p1
+%patch24 -p1
# Firefox
%patch101 -p1
%patch102 -p1
-%patch103 -p1
%endif # only_print_mozconfig
%build
@@ -448,16 +451,18 @@
ac_add_options --disable-webrtc
%endif
# mitigation/workaround for bmo#1512162
-%ifarch ppc64le s390x
+%ifarch s390x
ac_add_options --enable-optimize="-O1"
%endif
%ifarch x86_64
# LTO needs newer toolchain stack only (at least GCC 8.2.1 (r268506)
%if 0%{?suse_version} > 1500
ac_add_options --enable-lto
+%if 0%{?do_profiling}
ac_add_options MOZ_PGO=1
%endif
%endif
+%endif
EOF
%if !%{with only_print_mozconfig}
%ifarch ppc64 s390x s390
@@ -470,7 +475,10 @@
ls -l config/external/icu/data
rm -f config/external/icu/data/icudt*l.dat
%endif
-xvfb-run --server-args="-screen 0 1920x1080x24" ./mach build
+%if 0%{?do_profiling}
+xvfb-run --server-args="-screen 0 1920x1080x24" \
+%endif
+./mach build -v
%endif # only_print_mozconfig
%install
@@ -487,25 +495,29 @@
grep amazondotcom dist/firefox/browser/omni.ja
# copy tree into RPM_BUILD_ROOT
mkdir -p %{buildroot}%{progdir}
-cp -rf $RPM_BUILD_DIR/obj/dist/%{progname}/* %{buildroot}%{progdir}
+cp -rf $RPM_BUILD_DIR/obj/dist/%{srcname}/* %{buildroot}%{progdir}
mkdir -p %{buildroot}%{progdir}/distribution/extensions
mkdir -p %{buildroot}%{progdir}/browser/defaults/preferences/
+# renaming executables (for regular vs. ESR)
+%if "%{srcname}" != "%{progname}"
+mv %{buildroot}%{progdir}/%{srcname} %{buildroot}%{progdir}/%{progname}
+mv %{buildroot}%{progdir}/%{srcname}-bin %{buildroot}%{progdir}/%{progname}
+%endif
# install gre prefs
install -m 644 %{SOURCE13} %{buildroot}%{progdir}/defaults/pref/
# install browser prefs
-install -m 644 %{SOURCE6} %{buildroot}%{progdir}/browser/defaults/preferences/kde.js
install -m 644 %{SOURCE9} %{buildroot}%{progdir}/browser/defaults/preferences/firefox.js
# build 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 \
+sed -r '/^(ja-JP-mac|en-US|)$/d;s/ .*$//' $RPM_BUILD_DIR/%{srcname}-%{orig_version}/browser/locales/shipped-locales \
| xargs -n 1 -I {} /bin/sh -c '
locale=$1
pushd $RPM_BUILD_DIR/compare-locales
PYTHONPATH=lib \
scripts/compare-locales -m ../l10n-merged/$locale \
- ../%{source_prefix}/browser/locales/l10n.ini ../l10n $locale
+ ../%{srcname}-%{orig_version}/browser/locales/l10n.ini ../l10n $locale
popd
LOCALE_MERGEDIR=$RPM_BUILD_DIR/l10n-merged/$locale \
make -C browser/locales langpack-$locale
@@ -541,7 +553,7 @@
mkdir --parents %{buildroot}/usr/bin
sed "s:%%PREFIX:%{_prefix}:g
s:%%PROGDIR:%{progdir}:g
-s:%%APPNAME:firefox:g
+s:%%APPNAME:%{progname}:g
s:%%PROFILE:.mozilla/firefox:g" \
%{SOURCE3} > %{buildroot}%{progdir}/%{progname}.sh
chmod 755 %{buildroot}%{progdir}/%{progname}.sh
@@ -558,7 +570,8 @@
cp %{SOURCE8} %{buildroot}%{_datadir}/mime/packages/%{progname}.xml
# appdata
mkdir -p %{buildroot}%{_datadir}/appdata
-cp %{SOURCE15} %{buildroot}%{_datadir}/appdata/%{desktop_file_name}.appdata.xml
+sed "s:firefox.desktop:%{desktop_file_name}:g" \
+ %{SOURCE15} > %{buildroot}%{_datadir}/appdata/%{desktop_file_name}.appdata.xml
# install man-page
mkdir -p %{buildroot}%{_mandir}/man1/
cp %{SOURCE11} %{buildroot}%{_mandir}/man1/%{progname}.1
@@ -588,6 +601,7 @@
rm -f %{buildroot}%{progdir}/LICENSE
rm -f %{buildroot}%{progdir}/precomplete
rm -f %{buildroot}%{progdir}/update-settings.ini
+%if 0%{?devpkg}
# devel
mkdir -p %{buildroot}%{_bindir}
install -m 755 %SOURCE12 %{buildroot}%{_bindir}
@@ -609,12 +623,7 @@
%%{__unzip} -q -d "$extdir" "%%1" \
%%{nil}
FIN
-# just dumping an xpi file there doesn't work...
-#%%firefox_ext_install() \
-# extdir="%%{buildroot}%%{firefox_extdir}" \
-# mkdir -p "$extdir" \
-# cp "%%1" "$extdir" \
-# %%{nil}
+%endif
# fdupes
%fdupes %{buildroot}%{progdir}
%fdupes %{buildroot}%{_datadir}
@@ -668,8 +677,8 @@
%{progdir}/gtk2/libmozgtk.so
%{progdir}/gmp-clearkey/
%attr(755,root,root) %{progdir}/%{progname}.sh
-%{progdir}/firefox
-%{progdir}/firefox-bin
+%{progdir}/%{progname}
+%{progdir}/%{progname}-bin
%{progdir}/application.ini
%{progdir}/chrome.manifest
%{progdir}/dependentlibs.list
@@ -700,13 +709,14 @@
%doc %{_mandir}/man1/%{progname}.1.gz
%{_datadir}/appdata/
+%if 0%{?devpkg}
%files devel
%defattr(-,root,root)
%{_bindir}/mozilla-get-app-id
%config %{_sysconfdir}/rpm/macros.%{progname}
+%endif
%if %localize
-
%files translations-common -f %{_tmppath}/translations.common
%defattr(-,root,root)
%dir %{progdir}
@@ -720,11 +730,9 @@
# this package does not need to provide files but is needed to fulfill
# requirements if no other branding package is to be installed
-%if %branding
%files branding-upstream
%defattr(-,root,root)
%dir %{progdir}
-%endif
%if %crashreporter
%files buildsymbols