X-Git-Url: http://git.pld-linux.org/gitweb.cgi?p=packages%2Fmozilla-firefox-bin.git;a=blobdiff_plain;f=mozilla-firefox-bin.spec;h=d7c9def2489cdcb4bc7e56a99ff829b08a708602;hp=8c577c79f0ed988f904442e862ea6196e02cd43d;hb=ddd17e66caa5e65df38dfd28ec369c97126394b3;hpb=843cc82efd9a508ed6f3f3a0391a61fe6e807262 diff --git a/mozilla-firefox-bin.spec b/mozilla-firefox-bin.spec index 8c577c7..a06c0a4 100644 --- a/mozilla-firefox-bin.spec +++ b/mozilla-firefox-bin.spec @@ -1,42 +1,54 @@ +# Conditional build: +%bcond_with system_ffmpeg # build with system ffmpeg library +%bcond_without system_gtk # build with internal gtk library +%bcond_without system_sqlite # build with internal sqlite library + %define realname firefox +%define avcodec_soname_ver 57 +%define avutil_soname_ver 55 +%define gtk_soname_ver 0 +%define sqlite_soname_ver 0 Summary: Mozilla Firefox web browser Summary(pl.UTF-8): Mozilla Firefox - przeglądarka WWW Name: mozilla-firefox-bin -Version: 3.6.11 +Version: 67.0.3 Release: 1 License: MPL/LGPL Group: X11/Applications/Networking -Source0: http://releases.mozilla.org/pub/mozilla.org/%{realname}/releases/%{version}/linux-i686/en-US/%{realname}-%{version}.tar.bz2 -# Source0-md5: 49a59156ecca892a00b3a8016ff74eac -Source1: %{name}.desktop -Source2: %{name}.sh -Patch0: %{name}-agent.patch -Patch1: %{name}-ti-agent.patch -Patch2: nochilds.patch -URL: http://www.mozilla.org/projects/firefox/ +Source0: https://ftp.mozilla.org/pub/firefox/releases/%{version}/linux-i686/en-US/%{realname}-%{version}.tar.bz2?/%{realname}-%{version}.i686.tar.bz2 +# Source0-md5: 87bbf86b7b5c3233d7fa006e1e5c578a +Source1: https://ftp.mozilla.org/pub/firefox/releases/%{version}/linux-x86_64/en-US/%{realname}-%{version}.tar.bz2?/%{realname}-%{version}.x8664.tar.bz2 +# Source1-md5: acc344b81f181115c04da1b8ae496e22 +Source2: %{name}.desktop +Source3: %{name}.sh +URL: https://www.mozilla.org/firefox/ BuildRequires: rpmbuild(macros) >= 1.453 BuildRequires: zip +Requires(post,postun): desktop-file-utils Requires: browser-plugins >= 2.0 -Requires: myspell-common -Requires: sqlite3 >= 3.6.22-2 +Requires: cpuinfo(sse2) +%{?with_system_ffmpeg:Requires: ffmpeg-libs >= 3.4} +%{?with_system_gtk:Requires: gtk+3 >= 3.22} +Requires: nspr >= 1:4.21 +Requires: nss >= 1:3.43 +%{?with_system_sqlite:Requires: sqlite3 >= 3.27.2} +Suggests: pulseaudio Provides: wwwbrowser Obsoletes: mozilla-firebird Conflicts: mozilla-firefox -ExclusiveArch: i686 athlon +ExclusiveArch: i686 athlon %{x8664} BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _firefoxdir %{_libdir}/%{name} -%define nss_caps libfreebl3.so libnss3.so libnssckbi.so libsmime3.so ibsoftokn3.so libssl3.so libnssutil3.so libnssdbm3.so -%define nspr_caps libnspr4.so libplc4.so libplds4.so -%define moz_caps libgkgfx.so libgtkembedmoz.so libgtkxtbin.so libjsj.so libmozjs.so libnullplugin.so libxpcom_compat.so libxpcom_core.so libxpcom.so libxpistub.so libxul.so libsqlite3.so +%define moz_caps libmozalloc.so libmozavcodec.so libmozavutil.so libclearkey.so liblgpllibs.so libmozgtk.so libmozsandbox.so libmozsqlite3.so libxpcom.so libxul.so %define sqlite_caps libsqlite3.so # list of files (regexps) which don't generate Provides %define _noautoprovfiles %{_libdir}/%{name}/components # list of script capabilities (regexps) not to be used in Provides -%define _noautoprov %{moz_caps} %{nss_caps} %{nspr_caps} -%define _noautoreq %{_noautoprov} %{sqlite_caps} +%define _noautoprov %{moz_caps} +%define _noautoreq %{_noautoprov} %{sqlite_caps} libnotify.so.1 # no debuginfo available %define _enable_debug_packages 0 @@ -51,79 +63,77 @@ myślą o zgodności ze standardami, wydajnością i przenośnością. %prep %setup -qcT +%ifarch i686 athlon %{__tar} jxf %{SOURCE0} --strip-components=1 -%if "%{pld_release}" == "th" -%patch0 -p0 %endif -%if "%{pld_release}" == "ti" -%patch1 -p0 +%ifarch %{x8664} +%{__tar} jxf %{SOURCE1} --strip-components=1 %endif -%patch2 -p1 %install rm -rf $RPM_BUILD_ROOT install -d \ - $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/%{name}} \ - $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \ + $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/%{name}/browser/plugins} \ + $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} cp -a . $RPM_BUILD_ROOT%{_libdir}/%{name} -sed 's,@LIBDIR@,%{_libdir},' %{SOURCE2} > $RPM_BUILD_ROOT%{_bindir}/%{name} +sed 's,@LIBDIR@,%{_libdir},' %{SOURCE3} > $RPM_BUILD_ROOT%{_bindir}/%{name} ln -s %{name} $RPM_BUILD_ROOT%{_bindir}/firefox-bin -cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir} -cp -a icons/mozicon128.png $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png +cp -a %{SOURCE2} $RPM_BUILD_ROOT%{_desktopdir} +cp -a browser/chrome/icons/default/default128.png $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png + +%browser_plugins_add_browser %{name} -p %{_libdir}/%{name}/browser/plugins -%browser_plugins_add_browser %{name} -p %{_libdir}/%{name}/plugins +%if %{with system_ffmpeg} +rm $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozavcodec.so +rm $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozavutil.so +ln -s %{_libdir}/libavcodec.so.%{avcodec_soname_ver} $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozavcodec.so +ln -s %{_libdir}/libavutil.so.%{avutil_soname_ver} $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozavutil.so +%endif -# use system dict -rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries -ln -s %{_datadir}/myspell $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries +%if %{with system_gtk} +rm $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozgtk.so +ln -s %{_libdir}/libgtk-3.so.%{gtk_soname_ver} $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozgtk.so +%endif +%if %{with system_sqlite} # use system sqlite -rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/libsqlite3.so -ln -s /%{_lib}/libsqlite3.so.0 $RPM_BUILD_ROOT%{_libdir}/%{name}/libsqlite3.so +rm $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozsqlite3.so +ln -s /%{_lib}/libsqlite3.so.%{sqlite_soname_ver} $RPM_BUILD_ROOT%{_libdir}/%{name}/libmozsqlite3.so +%endif # never package these # nss -rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{freebl3,nss3,nssckbi,nssdbm3,nssutil3,smime3,softokn3,ssl3}.* +rm $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{freeblpriv3,nss3,nssckbi,nssdbm3,nssutil3,smime3,softokn3,ssl3}.* # nspr -rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{nspr4,plc4,plds4}.so -# mozldap -rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{ldap,ldif,prldap,ssldap}60.so +rm $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{nspr4,plc4,plds4}.so +grep -v 'libnspr4.so\|libplc4.so\|libplds4.so\|libnssutil3.so\|libnss3.so\|libsmime3.so\|libssl3.so' \ + dependentlibs.list > $RPM_BUILD_ROOT%{_libdir}/%{name}/dependentlibs.list # remove update notifier, we prefer rpm packages for updating -rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/updater -rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/updater.ini -rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/update.locale -rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/Throbber-small.gif +rm $RPM_BUILD_ROOT%{_libdir}/%{name}/updater +rm $RPM_BUILD_ROOT%{_libdir}/%{name}/updater.ini +rm $RPM_BUILD_ROOT%{_libdir}/%{name}/update-settings.ini +rm $RPM_BUILD_ROOT%{_libdir}/%{name}/Throbber-small.gif # remove unecessary stuff -rm $RPM_BUILD_ROOT%{_libdir}/%{name}/README.txt -rm $RPM_BUILD_ROOT%{_libdir}/%{name}/LICENSE -rm $RPM_BUILD_ROOT%{_libdir}/%{name}/components/components.list rm $RPM_BUILD_ROOT%{_libdir}/%{name}/removed-files -rm $RPM_BUILD_ROOT%{_libdir}/%{name}/dependentlibs.list -rm $RPM_BUILD_ROOT%{_libdir}/%{name}/.autoreg %clean rm -rf $RPM_BUILD_ROOT -%pretrans -if [ -d %{_libdir}/%{name}/dictionaries ] && [ ! -L %{_libdir}/%{name}/dictionaries ]; then - mv -v %{_libdir}/%{name}/dictionaries{,.rpmsave} -fi -exit 0 - %post %update_browser_plugins +%update_desktop_database_post %postun +%update_desktop_database_postun if [ "$1" = 0 ]; then %update_browser_plugins fi %files %defattr(644,root,root,755) -%doc README.txt %attr(755,root,root) %{_bindir}/%{name} %attr(755,root,root) %{_bindir}/firefox-bin @@ -133,41 +143,52 @@ fi %dir %{_libdir}/%{name} %{_libdir}/%{name}/application.ini -%{_libdir}/%{name}/blocklist.xml -%{_libdir}/%{name}/browserconfig.properties +%{_libdir}/%{name}/chrome.manifest + +%dir %{_libdir}/%{name}/browser +%{_libdir}/%{name}/browser/blocklist.xml +%{_libdir}/%{name}/browser/chrome.manifest +%{_libdir}/%{name}/browser/omni.ja + +%{_libdir}/%{name}/omni.ja %{_libdir}/%{name}/platform.ini %attr(755,root,root) %{_libdir}/%{name}/firefox %attr(755,root,root) %{_libdir}/%{name}/firefox-bin -%attr(755,root,root) %{_libdir}/%{name}/mozilla-xremote-client +%attr(755,root,root) %{_libdir}/%{name}/minidump-analyzer +%attr(755,root,root) %{_libdir}/%{name}/pingsender %attr(755,root,root) %{_libdir}/%{name}/plugin-container +%attr(755,root,root) %{_libdir}/%{name}/precomplete -%{_libdir}/%{name}/chrome +%{_libdir}/%{name}/browser/chrome %{_libdir}/%{name}/defaults -%{_libdir}/%{name}/dictionaries -%{_libdir}/%{name}/greprefs +%{_libdir}/%{name}/dependentlibs.list %{_libdir}/%{name}/icons -%{_libdir}/%{name}/modules -%{_libdir}/%{name}/res -%{_libdir}/%{name}/searchplugins -%dir %{_libdir}/%{name}/extensions -# the signature of the default theme -%{_libdir}/%{name}/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd} +%dir %{_libdir}/%{name}/fonts +%{_libdir}/%{name}/fonts/TwemojiMozilla.ttf -%dir %{_libdir}/%{name}/components -%attr(755,root,root) %{_libdir}/%{name}/components/*.so -%{_libdir}/%{name}/components/*.js -%{_libdir}/%{name}/components/*.xpt +%dir %{_libdir}/%{name}/gtk2 +%attr(755,root,root) %{_libdir}/%{name}/gtk2/libmozgtk.so -%dir %{_libdir}/%{name}/plugins -%attr(755,root,root) %{_libdir}/%{name}/plugins/libnullplugin.so +%dir %{_libdir}/%{name}/browser/features +%{_libdir}/%{name}/browser/features/formautofill@mozilla.org.xpi +%{_libdir}/%{name}/browser/features/fxmonitor@mozilla.org.xpi +%{_libdir}/%{name}/browser/features/screenshots@mozilla.org.xpi +%{_libdir}/%{name}/browser/features/webcompat@mozilla.org.xpi +%{_libdir}/%{name}/browser/features/webcompat-reporter@mozilla.org.xpi + +%dir %{_libdir}/%{name}/browser/plugins %attr(755,root,root) %{_libdir}/%{name}/*.so -%attr(755,root,root) %{_libdir}/%{name}/*.sh # crashreporter %attr(755,root,root) %{_libdir}/%{name}/crashreporter -%{_libdir}/%{name}/crashreporter-override.ini +%{_libdir}/%{name}/browser/crashreporter-override.ini %{_libdir}/%{name}/crashreporter.ini +%dir %{_libdir}/%{name}/gmp-clearkey +%dir %{_libdir}/%{name}/gmp-clearkey/0.1 +%{_libdir}/%{name}/gmp-clearkey/0.1/manifest.json +%attr(755,root,root) %{_libdir}/%{name}/gmp-clearkey/0.1/libclearkey.so + %{_pixmapsdir}/%{name}.png %{_desktopdir}/%{name}.desktop