Summary: Mozilla Firefox web browser
Summary(pl.UTF-8): Mozilla Firefox - przeglądarka WWW
Name: mozilla-firefox-bin
-Version: 3.0.7
+Version: 35.0.1
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: 06deb26f33d2eb52c5f1192bb66f0a17
-Source1: %{name}.desktop
-Source2: %{name}.sh
+Source0: http://download.cdn.mozilla.net/pub/mozilla.org/%{realname}/releases/%{version}/linux-i686/en-US/%{realname}-%{version}.tar.bz2?/%{realname}-%{version}.i686.tar.bz2
+# Source0-md5: a0648a001a563fbe6db60fd7acc3c8e6
+Source1: http://download.cdn.mozilla.net/pub/mozilla.org/%{realname}/releases/%{version}/linux-x86_64/en-US/%{realname}-%{version}.tar.bz2?/%{realname}-%{version}.x8664.tar.bz2
+# Source1-md5: 6ac73be39580fb2eb3368e348b0a2574
+Source2: %{name}.desktop
+Source3: %{name}.sh
URL: http://www.mozilla.org/projects/firefox/
+BuildRequires: rpmbuild(macros) >= 1.453
BuildRequires: zip
+Requires(post,postun): desktop-file-utils
+Requires: browser-plugins >= 2.0
+Requires: myspell-common
+Requires: nss >= 1:3.15.4
+Requires: sqlite3 >= 3.6.22-2
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
-%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
+%define moz_caps libmozalloc.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}
+%define _noautoprov %{moz_caps}
+%define _noautoreq %{_noautoprov} %{sqlite_caps} libnotify.so.1
+
+# no debuginfo available
+%define _enable_debug_packages 0
%description
Mozilla Firefox is an open-source web browser, designed for standards
myślą o zgodności ze standardami, wydajnością i przenośnością.
%prep
-%setup -q -n %{realname}
+%setup -qcT
+%ifarch i686 athlon
+%{__tar} jxf %{SOURCE0} --strip-components=1
+%endif
+%ifarch %{x8664}
+%{__tar} jxf %{SOURCE1} --strip-components=1
+%endif
-%build
%install
rm -rf $RPM_BUILD_ROOT
install -d \
- $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}} \
- $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_libdir}/%{name}} \
+ $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},' %{SOURCE3} > $RPM_BUILD_ROOT%{_bindir}/%{name}
+ln -s %{name} $RPM_BUILD_ROOT%{_bindir}/firefox-bin
+cp -a %{SOURCE2} $RPM_BUILD_ROOT%{_desktopdir}
+cp -a browser/icons/mozicon128.png $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png
+
+%browser_plugins_add_browser %{name} -p %{_libdir}/%{name}/browser/plugins
+
+# use system dict
+rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries
+ln -s %{_datadir}/myspell $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries
+
+# 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
+
+# never package these
+# nss
+rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{freebl3,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
+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}/update-settings.ini
+rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/Throbber-small.gif
-cp -a * $RPM_BUILD_ROOT%{_libdir}/%{name}
-sed 's,@LIBDIR@,%{_libdir},' %{SOURCE2} > $RPM_BUILD_ROOT%{_bindir}/mozilla-firefox
-ln -s mozilla-firefox $RPM_BUILD_ROOT%{_bindir}/firefox
-install %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}
+# remove unecessary stuff
+rm $RPM_BUILD_ROOT%{_libdir}/%{name}/removed-files
%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)
-%attr(755,root,root) %{_bindir}/mozilla-firefox
-%attr(755,root,root) %{_bindir}/firefox
+%attr(755,root,root) %{_bindir}/%{name}
+%attr(755,root,root) %{_bindir}/firefox-bin
+
+# browser plugins v2
+%{_browserpluginsconfdir}/browsers.d/%{name}.*
+%config(noreplace) %verify(not md5 mtime size) %{_browserpluginsconfdir}/blacklist.d/%{name}.*.blacklist
+
%dir %{_libdir}/%{name}
-%{_libdir}/%{name}/res
-%dir %{_libdir}/%{name}/components
-%attr(755,root,root) %{_libdir}/%{name}/components/*.so
-%{_libdir}/%{name}/components/*.js
-%{_libdir}/%{name}/components/*.xpt
-%{_libdir}/%{name}/chrome
+%{_libdir}/%{name}/application.ini
+
+%dir %{_libdir}/%{name}/browser
+%{_libdir}/%{name}/browser/blocklist.xml
+%{_libdir}/%{name}/browser/chrome.manifest
+%{_libdir}/%{name}/browser/omni.ja
+
+%dir %{_libdir}/%{name}/browser/components
+%{_libdir}/%{name}/browser/components/components.manifest
+%attr(755,root,root) %{_libdir}/%{name}/browser/components/libbrowsercomps.so
+#%{_libdir}/%{name}/browserconfig.properties
+%{_libdir}/%{name}/chrome.manifest
+%{_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}/precomplete
+%attr(755,root,root) %{_libdir}/%{name}/mozilla-xremote-client
+%attr(755,root,root) %{_libdir}/%{name}/plugin-container
+
+%{_libdir}/%{name}/browser/chrome
+%{_libdir}/%{name}/browser/icons
%{_libdir}/%{name}/defaults
-%{_libdir}/%{name}/greprefs
-%{_libdir}/%{name}/icons
-%{_libdir}/%{name}/plugins
-%{_libdir}/%{name}/searchplugins
+%{_libdir}/%{name}/dependentlibs.list
%{_libdir}/%{name}/dictionaries
-%{_libdir}/%{name}/browserconfig.properties
-%{_libdir}/%{name}/libfreebl3.chk
-%{_libdir}/%{name}/libsoftokn3.chk
+#%{_libdir}/%{name}/greprefs
+#%{_libdir}/%{name}/hyphenation
+#%{_libdir}/%{name}/hyphenation/hyph_en_US.dic
+%{_libdir}/%{name}/icons
+#%{_libdir}/%{name}/modules
+#%{_libdir}/%{name}/res
+%{_libdir}/%{name}/browser/searchplugins
+%{_libdir}/%{name}/webapprt
+%attr(755,root,root) %{_libdir}/%{name}/webapprt-stub
+
+%dir %{_libdir}/%{name}/browser/extensions
+# the signature of the default theme
+%{_libdir}/%{name}/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}
+
+#%dir %{_libdir}/%{name}/distribution
+#%dir %{_libdir}/%{name}/distribution/extensions
+#%{_libdir}/%{name}/distribution/extensions/testpilot@labs.mozilla.com.xpi
+
+%dir %{_libdir}/%{name}/components
+%attr(755,root,root) %{_libdir}/%{name}/components/*.so
+%{_libdir}/%{name}/components/components.manifest
+#%{_libdir}/%{name}/components/*.js
+#%{_libdir}/%{name}/components/*.xpt
+
+%dir %{_libdir}/%{name}/browser/plugins
+#%attr(755,root,root) %{_libdir}/%{name}/plugins/libnullplugin.so
%attr(755,root,root) %{_libdir}/%{name}/*.so
%attr(755,root,root) %{_libdir}/%{name}/*.sh
-%attr(755,root,root) %{_libdir}/%{name}/m*
-%attr(755,root,root) %{_libdir}/%{name}/f*
-%{_desktopdir}/*.desktop
+
+# crashreporter
+%attr(755,root,root) %{_libdir}/%{name}/crashreporter
+%{_libdir}/%{name}/browser/crashreporter-override.ini
+%{_libdir}/%{name}/crashreporter.ini
+
+%{_pixmapsdir}/%{name}.png
+%{_desktopdir}/%{name}.desktop