diff -r 9e4b30f05706 -r 97a6da6d7e29 MozillaFirefox/MozillaFirefox.spec --- 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