]> git.pld-linux.org Git - packages/mozilla-firefox-bin.git/blobdiff - mozilla-firefox-bin.spec
- up to 67.0.3, fixes CVE-2019-11707: Type confusion in Array.pop
[packages/mozilla-firefox-bin.git] / mozilla-firefox-bin.spec
index 90cd5b8b19ecbecf590badc2c203c25aa44c76a5..a06c0a43193b4b8c58da7b430c170422a5e19b17 100644 (file)
@@ -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.9
+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: 97d49ebe461ba822c3eec737743df53b
-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
This page took 0.046078 seconds and 4 git commands to generate.