diff -r 9a05844af634 -r 37947cc02392 MozillaFirefox/MozillaFirefox.spec --- a/MozillaFirefox/MozillaFirefox.spec Thu Sep 02 23:05:22 2010 +0200 +++ b/MozillaFirefox/MozillaFirefox.spec Fri Sep 03 09:02:21 2010 +0200 @@ -20,11 +20,12 @@ Name: MozillaFirefox -%define use_xulrunner 1 +%define use_xulrunner 0 %define xulrunner mozilla-xulrunner20 -BuildRequires: autoconf213 gcc-c++ libcurl-devel libgnomeui-devel libidl-devel libnotify-devel python unzip update-desktop-files zip fdupes Mesa-devel yasm +BuildRequires: autoconf213 gcc-c++ libcurl-devel libgnomeui-devel libidl-devel libnotify-devel python startup-notification-devel unzip pkg-config update-desktop-files zip fdupes Mesa-devel yasm hunspell-devel nss-shared-helper-devel %if %suse_version > 1110 BuildRequires: libiw-devel +BuildRequires: libproxy-devel %else BuildRequires: wireless-tools %endif @@ -40,6 +41,10 @@ Summary: Mozilla Firefox Web Browser Url: http://www.mozilla.org/ Group: Productivity/Networking/Web/Browsers +# this is needed to match this package with the kde4 helper package without the main package +# having a hard requirement on the kde4 package +%define kde_helper_version 6 +Provides: mozilla-kde4-version = %{kde_helper_version} Source: firefox-%{version}-source.tar.bz2 Source1: MozillaFirefox.desktop Source2: MozillaFirefox-rpmlintrc @@ -51,20 +56,35 @@ Source8: firefox-mimeinfo.xml Source9: firefox-lockdown.js Source10: compare-locales.tar.bz2 +Source11: add-plugins.sh.in +Source12: create-tar.sh +Source13: toolkit-lockdown.js Source16: firefox.1 -Patch1: firefox-libxul-sdk.patch -Patch2: firefox-credits.patch -Patch3: toolkit-download-folder.patch -Patch4: firefox-linkorder.patch -Patch5: firefox-browser-css.patch -Patch6: firefox-cross-desktop.patch -Patch8: firefox-appname.patch -Patch9: firefox-kde.patch -Patch10: firefox-ui-lockdown.patch -Patch11: firefox-no-sync-l10n.patch -Patch12: firefox-sync-system-nss.patch -Patch13: firefox-sync-build.patch -Patch14: firefox-tabview.patch +# Gecko/Toolkit +Patch1: toolkit-download-folder.patch +Patch2: mozilla-nongnome-proxies.patch +Patch3: mozilla-prefer_plugin_pref.patch +Patch4: mozilla-shared-nss-db.patch +Patch5: mozilla-kde.patch +Patch6: mozilla-gconf-backend.patch +Patch7: gecko-lockdown.patch +Patch8: toolkit-ui-lockdown.patch +Patch9: mozilla-cpuid.patch +Patch10: mozilla-buildsymbols.patch +Patch11: mozilla-cairo-lcd.patch +# Firefox/browser +Patch30: firefox-libxul-sdk.patch +Patch31: firefox-credits.patch +Patch32: firefox-linkorder.patch +Patch33: firefox-browser-css.patch +Patch34: firefox-cross-desktop.patch +Patch35: firefox-appname.patch +Patch36: firefox-kde.patch +Patch37: firefox-ui-lockdown.patch +Patch38: firefox-no-sync-l10n.patch +Patch39: firefox-sync-system-nss.patch +Patch40: firefox-sync-build.patch +Patch41: firefox-tabview.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build Requires(post): coreutils shared-mime-info desktop-file-utils Requires(postun): shared-mime-info desktop-file-utils @@ -89,8 +109,10 @@ %define localize 1 %ifarch ppc ppc64 s390 s390x ia64 %define crashreporter 0 +%define plugincontainer 0 %else %define crashreporter 1 +%define plugincontainer 1 %endif ### build options end @@ -155,39 +177,72 @@ %description branding-upstream This package provides upstream look and feel for MozillaFirefox. +%if %crashreporter && !0%{?use_xulrunner} +%package buildsymbols +License: GPLv2+ ; LGPLv2.1+ ; MPLv1.1+ +Summary: Breakpad buildsymbols for %{name} +Group: Development/Debug + +%description buildsymbols +This subpackage contains the Breakpad created and compatible debugging +symbols meant for upload to Mozilla's crash collector database. +%endif %prep %setup -q -n mozilla -b 7 -b 10 cd $RPM_BUILD_DIR/mozilla +# Gecko/Toolkit %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 -%patch6 -p1 -%patch8 -p1 +#%patch6 -p1 +#%patch7 -p1 +#%patch8 -p1 +%patch9 -p1 +%patch10 -p1 +#%patch11 -p1 +# Firefox/browser +%patch30 -p1 +%patch31 -p1 +%patch32 -p1 +%patch33 -p1 +%patch34 -p1 +%patch35 -p1 %if %suse_version >= 1110 -%patch9 -p1 +%patch36 -p1 # install kde.js install -m 644 %{SOURCE6} browser/app/profile/kde.js %endif -#%patch10 -p1 -%patch11 -p1 -%patch12 -p1 -%patch13 -p1 -%patch14 -p1 +#%patch37 -p1 +%patch38 -p1 +%patch39 -p1 +%patch40 -p1 +%patch41 -p1 %build +kdehelperversion=$(cat toolkit/xre/nsKDEUtils.cpp | grep '#define KMOZILLAHELPER_VERSION' | cut -d ' ' -f 3) +if test "$kdehelperversion" != %{kde_helper_version}; then + echo fix kde helper version in the .spec file + exit 1 +fi export MOZ_BUILD_DATE=%{releasedate} export MOZILLA_OFFICIAL=1 export BUILD_OFFICIAL=1 export CFLAGS="$RPM_OPT_FLAGS -Os -fno-strict-aliasing" +%ifarch ppc64 +export CFLAGS="$CFLAGS -mminimal-toc" +%endif export CXXFLAGS="$CFLAGS" export MOZCONFIG=$RPM_BUILD_DIR/mozconfig +%if 0%{?use_xulrunner} SDKDIR=$(pkg-config --variable=sdkdir libxul) +%endif cat << EOF > $MOZCONFIG mk_add_options MOZILLA_OFFICIAL=1 mk_add_options BUILD_OFFICIAL=1 +mk_add_options MOZ_MILESTONE_RELEASE=1 mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs} mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj . \$topsrcdir/browser/config/mozconfig @@ -202,11 +257,13 @@ ac_add_options --with-system-jpeg #ac_add_options --with-system-png # doesn't work because of missing APNG support ac_add_options --with-system-zlib +ac_add_options --enable-startup-notification +ac_add_options --enable-system-hunspell ac_add_options --disable-installer ac_add_options --disable-updater ac_add_options --disable-tests -ac_add_options --disable-debug ac_add_options --enable-update-channel=beta +#ac_add_options --enable-debug EOF %if 0%{?use_xulrunner} cat << EOF >> $MOZCONFIG @@ -218,6 +275,22 @@ ac_add_options --enable-official-branding EOF %endif +%if %suse_version > 1110 +cat << EOF >> $MOZCONFIG +ac_add_options --enable-libproxy +EOF +%endif +%if ! %crashreporter +cat << EOF >> $MOZCONFIG +ac_add_options --disable-crashreporter +EOF +%endif +%if ! %plugincontainer +cat << EOF >> $MOZCONFIG +# Chromium IPC is not ported to Power,S/390 and Itanium (currently just x86,x86_64 and arm) +ac_add_options --disable-ipc +EOF +%endif make -f client.mk build %install @@ -303,6 +376,18 @@ # fdupes %fdupes $RPM_BUILD_ROOT%{progdir} %fdupes $RPM_BUILD_ROOT%{_datadir} +# create breakpad debugsymbols +%if %crashreporter && !0%{?use_xulrunner} +SYMBOLS_NAME="firefox-%{version}-%{release}.%{_arch}-%{suse_version}-symbols" +make buildsymbols \ + SYMBOL_INDEX_NAME="$SYMBOLS_NAME.txt" \ + SYMBOL_FULL_ARCHIVE_BASENAME="$SYMBOLS_NAME-full" \ + SYMBOL_ARCHIVE_BASENAME="$SYMBOLS_NAME" +if [ -e dist/*symbols.zip ]; then + mkdir -p $RPM_BUILD_ROOT%{_datadir}/mozilla/ + cp dist/*symbols.zip $RPM_BUILD_ROOT%{_datadir}/mozilla/ +fi +%endif %clean rm -rf $RPM_BUILD_ROOT @@ -324,14 +409,6 @@ opt/gnome/bin/update-mime-database > /dev/null || : fi %endif -# move plugins to new location -if [ "$1" = "2" ]; then - if [ -d /opt/MozillaFirefox/%{_lib}/plugins ]; then - rm -rf /opt/MozillaFirefox/%{_lib}/plugins/libnullplugin.so - cp -fud /opt/MozillaFirefox/%{_lib}/plugins/* %{progdir}/plugins - rm -rf /opt/MozillaFirefox/%{_lib}/plugins - fi -fi exit 0 %postun @@ -348,6 +425,13 @@ fi %endif +%if !0%{?use_xulrunner} +%posttrans +[ -e %{_libdir}/firefox/add-plugins.sh ] && \ + %{_libdir}/firefox/add-plugins.sh > /dev/null 2>&1 +exit 0 +%endif + %files %defattr(-,root,root) %dir %{progdir} @@ -395,4 +479,10 @@ #%dir %{progdir}/defaults/ #%{progdir}/defaults/profile/bookmarks.html +%if %crashreporter && !0%{?use_xulrunner} +%files buildsymbols +%defattr(-,root,root) +%{_datadir}/mozilla/ +%endif + %changelog