Hello community, here is the log from the commit of package MozillaFirefox for openSUSE:Factory checked in at Mon Jun 6 16:34:48 CEST 2011.
-------- --- MozillaFirefox/MozillaFirefox.changes 2011-04-29 06:55:24.000000000 +0200 +++ /mounts/work_src_done/STABLE/MozillaFirefox/MozillaFirefox.changes 2011-06-01 08:05:09.000000000 +0200 @@ -1,0 +2,9 @@ +Tue May 31 06:53:55 UTC 2011 - w...@rosenauer.org + +- update to 5.0b3 +- transformed to standalone Firefox (not xulrunner based) + (with new Firefox rapid release cycle it makes no sense anymore) + * imported all relevant xulrunner patches +- do not compile in build timestamp + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- firefox-4.0.1-source.tar.bz2 firefox-libxulsdk-locales.patch firefox-lockdown.js firefox-ui-lockdown.patch firefox.schemas l10n-4.0.1.tar.bz2 New: ---- add-plugins.sh.in create-tar.sh firefox-4.99-source.tar.bz2 l10n-4.99.tar.bz2 mozilla-cairo-lcd.patch mozilla-cairo-return.patch mozilla-gio.patch mozilla-kde.patch mozilla-language.patch mozilla-nongnome-proxies.patch mozilla-ntlm-full-path.patch mozilla-ppc-ipc.patch mozilla-prefer_plugin_pref.patch mozilla-shared-nss-db.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ MozillaFirefox.spec ++++++ --- /var/tmp/diff_new_pack.f2gSFG/_old 2011-06-06 16:30:17.000000000 +0200 +++ /var/tmp/diff_new_pack.f2gSFG/_new 2011-06-06 16:30:17.000000000 +0200 @@ -19,27 +19,30 @@ # norootforbuild %define major 4 -%define mainver %major.0 +%define mainver %major.99 Name: MozillaFirefox -%define use_xulrunner 1 -%define xulrunner mozilla-xulrunner20 BuildRequires: Mesa-devel autoconf213 fdupes gcc-c++ libcurl-devel libgnomeui-devel libidl-devel libnotify-devel python unzip update-desktop-files yasm zip %if %suse_version > 1110 BuildRequires: libiw-devel +BuildRequires: libproxy-devel %else BuildRequires: wireless-tools %endif -%if 0%{?use_xulrunner} -BuildRequires: %{xulrunner}-devel = 2.0.1 -%endif +BuildRequires: mozilla-nspr-devel >= 4.8.6 +BuildRequires: mozilla-nss-devel >= 3.12.8 +BuildRequires: nss-shared-helper-devel License: MPLv1.1 or GPLv2+ or LGPLv2+ -Version: %{mainver}.1 +Version: %{mainver} Release: 1 +%define releasedate 2011053000 Provides: web_browser Provides: firefox = %{version}-%{release} Provides: firefox = %{mainver} -%define releasedate 2011041400 +# 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} Summary: Mozilla Firefox Web Browser Url: http://www.mozilla.org/ Group: Productivity/Networking/Web/Browsers @@ -48,39 +51,43 @@ Source2: MozillaFirefox-rpmlintrc Source3: mozilla.sh.in Source4: find-external-requires.sh -Source5: firefox.schemas Source6: kde.js Source7: l10n-%{version}.tar.bz2 Source8: firefox-mimeinfo.xml -Source9: firefox-lockdown.js Source10: compare-locales.tar.bz2 Source11: firefox.1 Source12: mozilla-get-app-id +Source13: add-plugins.sh.in +Source14: create-tar.sh +# Gecko/Toolkit Patch1: toolkit-download-folder.patch -Patch2: firefox-linkorder.patch -Patch3: firefox-browser-css.patch -Patch4: firefox-cross-desktop.patch -Patch5: firefox-kde.patch -Patch6: firefox-kde-114.patch -Patch7: firefox-ui-lockdown.patch -Patch8: firefox-no-sync-l10n.patch -Patch9: firefox-libxulsdk-locales.patch -Patch10: firefox-no-default-ualocale.patch -Patch11: firefox-multilocale-chrome.patch -Patch12: firefox-shellservice.patch -Patch13: firefox-branded-icons.patch +Patch2: mozilla-nongnome-proxies.patch +Patch3: mozilla-prefer_plugin_pref.patch +Patch4: mozilla-shared-nss-db.patch +Patch5: mozilla-kde.patch +Patch6: mozilla-cairo-lcd.patch +Patch7: mozilla-language.patch +Patch8: mozilla-gio.patch +Patch9: mozilla-cairo-return.patch +Patch10: mozilla-ntlm-full-path.patch +Patch11: mozilla-ppc-ipc.patch +# Firefox/browser +Patch30: firefox-linkorder.patch +Patch31: firefox-browser-css.patch +Patch32: firefox-cross-desktop.patch +Patch33: firefox-kde.patch +Patch34: firefox-kde-114.patch +Patch36: firefox-no-sync-l10n.patch +Patch38: firefox-no-default-ualocale.patch +Patch39: firefox-multilocale-chrome.patch +Patch40: firefox-shellservice.patch +Patch41: firefox-branded-icons.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build Requires(post): coreutils shared-mime-info desktop-file-utils Requires(postun): shared-mime-info desktop-file-utils -%if 0%{?use_xulrunner} -Requires: %{xulrunner} >= %(rpm -q --queryformat '%{VERSION}-%{RELEASE}' %{xulrunner}) -%requires_eq %{xulrunner} -%ifarch %ix86 -Requires: %{xulrunner}-32bit >= %(rpm -q --queryformat '%{VERSION}-%{RELEASE}' %{xulrunner}) -Requires: %{xulrunner}-32bit = %(rpm -q --queryformat '%{VERSION}' %{xulrunner}) -%endif -%endif -Requires: %{name}-branding >= 4.0 +Requires: mozilla-nspr >= %(rpm -q --queryformat '%{VERSION}' mozilla-nspr) +Requires: mozilla-nss >= %(rpm -q --queryformat '%{VERSION}' mozilla-nss) +Requires: %{name}-branding > 4.0 %define firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\} %define _use_internal_dependency_generator 0 %define __find_requires sh %{SOURCE4} @@ -160,8 +167,6 @@ #BRAND: default homepage and some other default configuration options #BRAND: /usr/lib/firefox/defaults/profile/bookmarks.html that contains #BRAND: the list of default bookmarks -#BRAND: /etc/gconf/schemas/firefox.schemas -#BRAND: for mapping some Firefox prefs to gconf #BRAND: It's also possible to create a file #BRAND: /usr/lib/firefox/defaults/preferences/firefox-$vendor.js to set #BRAND: custom preference overrides. @@ -171,6 +176,18 @@ This package provides upstream look and feel for MozillaFirefox. +%if %crashreporter + +%package buildsymbols +License: MPLv1.1 or GPLv2+ or LGPLv2+ +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 @@ -178,30 +195,52 @@ %patch2 -p1 %patch3 -p1 %patch4 -p1 -%if %suse_version >= 1110 %patch5 -p1 -# install kde.js -install -m 644 %{SOURCE6} browser/app/profile/kde.js -%endif -%if %suse_version >= 1140 %patch6 -p1 -%endif -#%patch7 -p1 +%patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 %patch11 -p1 -%patch12 -p1 -%patch13 -p1 +# +%patch30 -p1 +%patch31 -p1 +%patch32 -p1 +%if %suse_version >= 1110 +%patch33 -p1 +# install kde.js +install -m 644 %{SOURCE6} browser/app/profile/kde.js +%endif +%if %suse_version >= 1140 +%patch34 -p1 +%endif +%patch36 -p1 +%patch38 -p1 +%patch39 -p1 +%patch40 -p1 +%patch41 -p1 %build +# no need to add build time to binaries +modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")" +DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\"" +TIME="\"$(date -d "${modified}" "+%%R")\"" +find . -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} + +# +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 -SDKDIR=$(pkg-config --variable=sdkdir libxul) cat << EOF > $MOZCONFIG mk_add_options MOZILLA_OFFICIAL=1 mk_add_options BUILD_OFFICIAL=1 @@ -216,19 +255,20 @@ ac_add_options --with-system-nspr ac_add_options --with-system-nss ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n -ac_add_options --with-system-jpeg +#ac_add_options --with-system-jpeg # libjpeg-turbo is used internally #ac_add_options --with-system-png # doesn't work because of missing APNG support ac_add_options --with-system-zlib 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-chrome-format=jar +ac_add_options --enable-update-channel=beta EOF -%if 0%{?use_xulrunner} +%if %suse_version > 1130 cat << EOF >> $MOZCONFIG -ac_add_options --with-libxul-sdk=$SDKDIR -ac_add_options --enable-chrome-format=jar +ac_add_options --disable-gnomevfs +ac_add_options --enable-gio EOF %endif %if %branding @@ -236,18 +276,21 @@ ac_add_options --enable-official-branding EOF %endif -%ifarch ppc ppc64 s390 s390x +%if %suse_version > 1110 +cat << EOF >> $MOZCONFIG +ac_add_options --enable-libproxy +EOF +%endif +%if ! %crashreporter cat << EOF >> $MOZCONFIG -ac_add_options --disable-ipc +ac_add_options --disable-crashreporter EOF %endif make -f client.mk build %install cd $RPM_BUILD_DIR/obj -# FIXME (will be needed once lockdown is integrated; needs omni.jar adoption) -#cp %{SOURCE9} dist/bin/defaults/preferences/lockdown.js -rm dist/bin/defaults/preferences/firefox-l10n.js +rm dist/bin/defaults/pref/firefox-l10n.js make -C browser/installer STRIP=/bin/true # copy tree into RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/%{progdir} @@ -257,6 +300,10 @@ find $RPM_BUILD_ROOT%{progdir} \ -name "*.js" -o -name "*.jsm" -o -name "*.rdf" | xargs chmod a-x mkdir -p $RPM_BUILD_ROOT%{progdir}/searchplugins +# install add-plugins.sh +sed "s:%%PROGDIR:%{progdir}:g" \ + %{SOURCE13} > $RPM_BUILD_ROOT%{progdir}/add-plugins.sh +chmod 755 $RPM_BUILD_ROOT%{progdir}/add-plugins.sh # install additional locales %if %localize rm -f %{_tmppath}/translations.* @@ -317,11 +364,13 @@ ln -sf %{progdir}/icons/mozicon128.png $RPM_BUILD_ROOT/usr/share/pixmaps/%{progname}-gnome.png %if %branding for size in 16 22 24 32 48 256; do +%else +for size in 16 32 48; do +%endif mkdir -p $RPM_BUILD_ROOT%{gnome_dir}/share/icons/hicolor/${size}x${size}/apps/ ln -sf %{progdir}/chrome/icons/default/default$size.png \ $RPM_BUILD_ROOT%{gnome_dir}/share/icons/hicolor/${size}x${size}/apps/%{progname}.png done -%endif %suse_update_desktop_file %{desktop_file_name} Network WebBrowser GTK # excludes rm -f $RPM_BUILD_ROOT%{progdir}/updater.ini @@ -330,6 +379,9 @@ rm -f $RPM_BUILD_ROOT%{progdir}/old-homepage-default.properties rm -f $RPM_BUILD_ROOT%{progdir}/run-mozilla.sh rm -f $RPM_BUILD_ROOT%{progdir}/LICENSE +rm -f $RPM_BUILD_ROOT%{progdir}/precomplete +rm -f $RPM_BUILD_ROOT%{progdir}/dictionaries/en-US* +rm -f $RPM_BUILD_ROOT%{progdir}/firefox # devel mkdir -p %{buildroot}%{_bindir} install -m 755 %SOURCE12 %{buildroot}%{_bindir} @@ -341,8 +393,6 @@ %%firefox_version %{version} %%firefox_mainver %{mainver} %%firefox_mozillapath %%{_libdir}/%{progname} -%%firefox_xulrunner %{xulrunner} -%%firefox_xulrunner_version %(rpm -q --queryformat '%{VERSION}' %{xulrunner}) %%firefox_pluginsdir %%{_libdir}/browser-plugins %%firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\} %%firefox_extdir %%(if [ "%%_target_cpu" = "noarch" ]; then echo %%{_datadir}/mozilla/extensions/%%{firefox_appid}; else echo %%{_libdir}/mozilla/extensions/%%{firefox_appid}; fi) @@ -362,6 +412,18 @@ # fdupes %fdupes $RPM_BUILD_ROOT%{progdir} %fdupes $RPM_BUILD_ROOT%{_datadir} +# create breakpad debugsymbols +%if %crashreporter +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 @@ -383,6 +445,7 @@ usr/bin/update-desktop-database > /dev/null || : fi %endif +%{progdir}/add-plugins.sh > /dev/null 2>&1 exit 0 %postun @@ -400,31 +463,47 @@ %endif exit 0 +%posttrans +[ -e %{progdir}/add-plugins.sh ] && \ + %{progdir}/add-plugins.sh > /dev/null 2>&1 +exit 0 + +%preun +rm -f %{progdir}/dictionaries/* +exit 0 + %files %defattr(-,root,root) %dir %{progdir} %dir %{progdir}/chrome/ %dir %{progdir}/distribution/ -%{progdir}/chrome/browser.* -%{progdir}/chrome/localized.manifest -%{progdir}/chrome/nonlocalized.manifest -%{progdir}/chrome/en-US.* %{progdir}/chrome/icons %{progdir}/components/ -%exclude %{progdir}/defaults/profile/bookmarks.html +#%exclude %{progdir}/defaults/profile/bookmarks.html %{progdir}/defaults/ +%{progdir}/dictionaries/ %dir %{progdir}/extensions/ %{progdir}/distribution/extensions/ %{progdir}/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd} %{progdir}/icons/ -%{progdir}/modules/ %{progdir}/searchplugins/ %attr(755,root,root) %{progdir}/%{progname}.sh -%{progdir}/firefox +%{progdir}/firefox-bin +%{progdir}/add-plugins.sh %{progdir}/application.ini %{progdir}/blocklist.xml +%{progdir}/dependentlibs.list +#%{progdir}/greprefs.js +%{progdir}/*.so +%{progdir}/mozilla-xremote-client +%{progdir}/omni.jar +%{progdir}/platform.ini +%{progdir}/plugin-container %if %crashreporter %{progdir}/crashreporter-override.ini +%{progdir}/crashreporter +%{progdir}/crashreporter.ini +%{progdir}/Throbber-small.gif %endif %{progdir}/chrome.manifest %{_datadir}/applications/%{desktop_file_name}.desktop @@ -436,9 +515,7 @@ %dir %{_libdir}/mozilla %dir %{_libdir}/mozilla/extensions %dir %{_libdir}/mozilla/extensions/%{firefox_appid} -%if %branding %{gnome_dir}/share/icons/hicolor/ -%endif %{_bindir}/%{progname} %doc %{_mandir}/man1/%{progname}.1.gz @@ -460,10 +537,17 @@ %dir %{progdir}/extensions/ %endif -%files branding-upstream +#%files branding-upstream +#%defattr(-,root,root) +#%dir %{progdir} +#%dir %{progdir}/defaults/ +#%{progdir}/defaults/profile/bookmarks.html + +%if %crashreporter + +%files buildsymbols %defattr(-,root,root) -%dir %{progdir} -%dir %{progdir}/defaults/ -%{progdir}/defaults/profile/bookmarks.html +%{_datadir}/mozilla/*.zip +%endif %changelog ++++++ add-plugins.sh.in ++++++ #! /bin/sh # Copyright (c) 2008 Wolfgang Rosenauer. All rights reserved. # # check if we are started as root # only one of UID and USER must be set correctly if test "$UID" != 0 -a "$USER" != root; then echo "You must be root to start $0." exit 1 fi PREFIX="%PROGDIR" # dictionaries MYSPELL=/usr/share/myspell MOZ_SPELL=$PREFIX/dictionaries if [ -d $MOZ_SPELL ] ; then if [ -d $MYSPELL ] ; then for dict in $MYSPELL/??[-_]??.aff ; do # check is it is really the file or it is a string which contain '??_??' if ! [ -e $dict ] ; then continue fi # the dict file name dict_file=`echo ${dict##*/}` # the dict file has a valid name lang=`echo ${dict_file:0:2}` country=`echo ${dict_file:3:2}` # check for .dic file if [ ! -r $MYSPELL/${lang}[-_]${country}.dic ] ; then continue fi # create links if [ ! -r $MOZ_SPELL/${lang}[-_]${country}.aff ] ; then ln -sf $MYSPELL/${lang}[-_]${country}.aff \ $MOZ_SPELL/${lang}-${country}.aff fi if [ ! -r $MOZ_SPELL/${lang}[-_]${country}.dic ] ; then ln -sf $MYSPELL/${lang}[-_]${country}.dic \ $MOZ_SPELL/${lang}-${country}.dic fi done echo "-> added myspell dictionaries" fi # remove broken links for dict in $MOZ_SPELL/*.{aff,dic} ; do if ! [ -r $dict ] ; then rm -f $dict fi done fi ++++++ compare-locales.tar.bz2 ++++++ ++++++ create-tar.sh ++++++ #!/bin/bash BRANCH="mozilla-beta" RELEASE_TAG="FIREFOX_5_0b3_RELEASE" VERSION="4.99" # mozilla hg clone http://hg.mozilla.org/$BRANCH mozilla pushd mozilla [ "$RELEASE_TAG" == "default" ] || hg update -r $RELEASE_TAG popd tar cjf firefox-$VERSION-source.tar.bz2 --exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=CVS mozilla # l10n test ! -d l10n && mkdir l10n for locale in $(awk '{ print $1; }' mozilla/browser/locales/shipped-locales); do case $locale in ja-JP-mac|en-US) ;; *) hg clone http://hg.mozilla.org/releases/l10n/mozilla-beta/$locale l10n/$locale [ "$RELEASE_TAG" == "default" ] || hg -R l10n/$locale up -C -r $RELEASE_TAG ;; esac done tar cjf l10n-$VERSION.tar.bz2 --exclude=.hgtags --exclude=.hgignore --exclude=.hg l10n # compare-locales hg clone http://hg.mozilla.org/build/compare-locales tar cjf compare-locales.tar.bz2 --exclude=.hgtags --exclude=.hgignore --exclude=.hg compare-locales ++++++ firefox-4.0.1-source.tar.bz2 -> firefox-4.99-source.tar.bz2 ++++++ MozillaFirefox/firefox-4.0.1-source.tar.bz2 /mounts/work_src_done/STABLE/MozillaFirefox/firefox-4.99-source.tar.bz2 differ: char 11, line 1 ++++++ firefox-branded-icons.patch ++++++ --- /var/tmp/diff_new_pack.f2gSFG/_old 2011-06-06 16:30:17.000000000 +0200 +++ /var/tmp/diff_new_pack.f2gSFG/_new 2011-06-06 16:30:17.000000000 +0200 @@ -1,9 +1,10 @@ # HG changeset patch -# Parent 33dfbc62844ac4883fbedb77d782a1b9ef5596c4 +# Parent 20b50e5bd650d19c30c308bb3b10f9903c83f581 + diff --git a/browser/app/Makefile.in b/browser/app/Makefile.in --- a/browser/app/Makefile.in +++ b/browser/app/Makefile.in -@@ -281,16 +281,21 @@ endif +@@ -277,16 +277,21 @@ endif ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2) libs:: @@ -29,7 +30,7 @@ --- a/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in @@ -423,18 +423,21 @@ - #if MOZ_UPDATE_CHANNEL == beta + #ifdef SHIP_FEEDBACK @BINPATH@/distribution/extensions/testpi...@labs.mozilla.com.xpi #endif @BINPATH@/chrome/toolkit@JAREXT@ ++++++ firefox-kde.patch ++++++ --- /var/tmp/diff_new_pack.f2gSFG/_old 2011-06-06 16:30:17.000000000 +0200 +++ /var/tmp/diff_new_pack.f2gSFG/_new 2011-06-06 16:30:17.000000000 +0200 @@ -23,7 +23,7 @@ new file mode 100644 --- /dev/null +++ b/browser/base/content/browser-kde.xul -@@ -0,0 +1,1077 @@ +@@ -0,0 +1,1078 @@ +#filter substitution +<?xml version="1.0"?> +# -*- Mode: HTML -*- @@ -819,6 +819,7 @@ + + + <toolbar id="TabsToolbar" ++ class="toolbar-primary" + fullscreentoolbar="true" + customizable="true" + mode="icons" lockmode="true" @@ -1142,10 +1143,10 @@ #ifndef WINCE #include "nsProfileMigrator.h" - #if !defined(XP_BEOS) #include "nsDogbertProfileMigrator.h" - #endif -@@ -84,18 +84,16 @@ using namespace mozilla::browser; + #if !defined(XP_OS2) + #include "nsOperaProfileMigrator.h" +@@ -82,18 +82,16 @@ using namespace mozilla::browser; ///////////////////////////////////////////////////////////////////////////// @@ -1160,11 +1161,11 @@ #ifndef WINCE - #if !defined(XP_BEOS) NS_GENERIC_FACTORY_CONSTRUCTOR(nsDogbertProfileMigrator) - #endif #if !defined(XP_OS2) -@@ -151,17 +149,17 @@ NS_DEFINE_NAMED_CID(NS_SEAMONKEYPROFILEM + NS_GENERIC_FACTORY_CONSTRUCTOR(nsOperaProfileMigrator) + #endif +@@ -145,17 +143,17 @@ NS_DEFINE_NAMED_CID(NS_SEAMONKEYPROFILEM #endif /* WINCE */ NS_DEFINE_NAMED_CID(NS_PRIVATE_BROWSING_SERVICE_WRAPPER_CID); ++++++ firefox-multilocale-chrome.patch ++++++ --- /var/tmp/diff_new_pack.f2gSFG/_old 2011-06-06 16:30:17.000000000 +0200 +++ /var/tmp/diff_new_pack.f2gSFG/_new 2011-06-06 16:30:17.000000000 +0200 @@ -1,12 +1,12 @@ # HG changeset patch # User Wolfgang Rosenauer <w...@rosenauer.org> -# Parent e3da64303bf904a8da2410754026b7a00480a589 +# Parent ec1efb28a1fea666f22730689d811fc67720f2db Add searchplugins to chrome packaging for proper localization diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js --- a/browser/app/profile/firefox.js +++ b/browser/app/profile/firefox.js -@@ -321,16 +321,20 @@ pref("browser.download.manager.scanWhenD +@@ -327,16 +327,20 @@ pref("browser.download.manager.scanWhenD pref("browser.download.manager.resumeOnWakeDelay", 10000); // search engines URL @@ -30,16 +30,16 @@ diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in --- a/browser/locales/Makefile.in +++ b/browser/locales/Makefile.in -@@ -169,31 +169,44 @@ libs:: $(addprefix $(LOCALE_SRCDIR)/prof +@@ -167,31 +167,43 @@ libs:: $(call MERGE_FILES,$(addprefix pr install:: $(DESTDIR)$(mozappdir)/defaults/profile/bookmarks.html ; install:: $(addprefix generic/profile/,$(PROFILE_FILES)) $(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(mozappdir)/defaults/profile - install:: $(addprefix $(LOCALE_SRCDIR)/profile/chrome/,$(PROFILE_CHROME)) + install:: $(call MERGE_FILES,$(addprefix profile/chrome/,$(PROFILE_CHROME))) $(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(mozappdir)/defaults/profile/chrome --SEARCH_PLUGINS = $(shell cat $(LOCALE_SRCDIR)/searchplugins/list.txt) +-SEARCH_PLUGINS = $(shell cat $(call MERGE_FILE,/searchplugins/list.txt)) +SEARCH_PLUGINS = $(shell cat \ + $(firstword $(wildcard $(LOCALE_SRCDIR)/searchplugins/list.txt) \ + @srcdir@/en-US/searchplugins/list.txt ) ) @@ -59,12 +59,11 @@ + -s $(topsrcdir)/$(relativesrcdir)/en-US/searchplugins \ + -s $(LOCALE_SRCDIR)/searchplugins \ + $(MAKE_JARS_FLAGS) tmp-search.jar.mn -+ + +export:: searchplugins + +GARBAGE += tmp-search.jar.mn - libs-%: $(NSINSTALL) -D $(DIST)/install @$(MAKE) -C ../../toolkit/locales libs-$* BOTH_MANIFESTS=1 @@ -77,8 +76,8 @@ @$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1 - repackage-win32-installer: WIN32_INSTALLER_OUT="$(_ABS_DIST)/$(PKG_INST_PATH)$(PKG_INST_BASENAME).exe" - repackage-win32-installer: $(WIN32_INSTALLER_IN) $(SUBMAKEFILES) + repackage-win32-installer: WIN32_INSTALLER_OUT=$(_ABS_DIST)/$(PKG_INST_PATH)$(PKG_INST_BASENAME).exe + repackage-win32-installer: $(call ESCAPE_SPACE,$(WIN32_INSTALLER_IN)) $(SUBMAKEFILES) libs-$(AB_CD) @echo "Repackaging $(WIN32_INSTALLER_IN) into $(WIN32_INSTALLER_OUT)." diff --git a/browser/locales/jar.mn b/browser/locales/jar.mn --- a/browser/locales/jar.mn ++++++ firefox-no-sync-l10n.patch ++++++ --- /var/tmp/diff_new_pack.f2gSFG/_old 2011-06-06 16:30:17.000000000 +0200 +++ /var/tmp/diff_new_pack.f2gSFG/_new 2011-06-06 16:30:17.000000000 +0200 @@ -1,10 +1,10 @@ # HG changeset patch -# Parent e386d64898cac5a2e10bc4fbce606ffeefe1f210 +# Parent 0266a8a602473a4fa13393628be0b2fd50d0efc6 diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in --- a/browser/locales/Makefile.in +++ b/browser/locales/Makefile.in -@@ -181,17 +181,19 @@ libs:: $(addsuffix .xml,$(SEARCH_PLUGINS +@@ -179,17 +179,19 @@ libs:: $(addsuffix .xml,$(SEARCH_PLUGINS install:: $(addsuffix .xml,$(SEARCH_PLUGINS)) $(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(mozappdir)/searchplugins @@ -21,6 +21,6 @@ @$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1 - repackage-win32-installer: WIN32_INSTALLER_OUT="$(_ABS_DIST)/$(PKG_INST_PATH)$(PKG_INST_BASENAME).exe" - repackage-win32-installer: $(WIN32_INSTALLER_IN) $(SUBMAKEFILES) + repackage-win32-installer: WIN32_INSTALLER_OUT=$(_ABS_DIST)/$(PKG_INST_PATH)$(PKG_INST_BASENAME).exe + repackage-win32-installer: $(call ESCAPE_SPACE,$(WIN32_INSTALLER_IN)) $(SUBMAKEFILES) libs-$(AB_CD) @echo "Repackaging $(WIN32_INSTALLER_IN) into $(WIN32_INSTALLER_OUT)." ++++++ l10n-4.0.1.tar.bz2 -> l10n-4.99.tar.bz2 ++++++ MozillaFirefox/l10n-4.0.1.tar.bz2 /mounts/work_src_done/STABLE/MozillaFirefox/l10n-4.99.tar.bz2 differ: char 11, line 1 ++++++ mozilla-cairo-lcd.patch ++++++ ++++ 1333 lines (skipped) ++++++ mozilla-cairo-return.patch ++++++ # HG changeset patch # User Wolfgang Rosenauer <w...@rosenauer.org> # Parent e36e1a20cb5e1ba0e4bc3facac58029544d92e0a Bug 631155 - undefined return value in function '_cairo_surface_wrapper_flush' diff --git a/gfx/cairo/cairo/src/cairo-surface-wrapper.c b/gfx/cairo/cairo/src/cairo-surface-wrapper.c --- a/gfx/cairo/cairo/src/cairo-surface-wrapper.c +++ b/gfx/cairo/cairo/src/cairo-surface-wrapper.c @@ -526,9 +526,12 @@ _cairo_surface_wrapper_fini (cairo_surfa } cairo_status_t _cairo_surface_wrapper_flush (cairo_surface_wrapper_t *wrapper) { if (wrapper->target->backend->flush) { return wrapper->target->backend->flush(wrapper->target); } + + // this is preliminary to cool down gcc and build checks + return CAIRO_STATUS_SUCCESS; } ++++++ mozilla-gio.patch ++++++ # HG changeset patch # User Chris Coulson # Parent 0ebe30f9eacfe67fa0b699457e524d5a9c96359e Bug 611953 - GNOME 3.0 readiness (patch 2 + 3) diff --git a/toolkit/system/gnome/nsGIOService.cpp b/toolkit/system/gnome/nsGIOService.cpp --- a/toolkit/system/gnome/nsGIOService.cpp +++ b/toolkit/system/gnome/nsGIOService.cpp @@ -101,25 +101,25 @@ nsGIOMimeApp::GetName(nsACString& aName) return NS_OK; } NS_IMETHODIMP nsGIOMimeApp::GetCommand(nsACString& aCommand) { get_commandline_t g_app_info_get_commandline_ptr; - void *libHandle = dlopen("libgio-2.0.so", RTLD_LAZY); + void *libHandle = dlopen("libgio-2.0.so.0", RTLD_LAZY); if (!libHandle) { return NS_ERROR_FAILURE; } dlerror(); /* clear any existing error */ g_app_info_get_commandline_ptr = (get_commandline_t) dlsym(libHandle, "g_app_info_get_commandline"); - if (dlerror() != NULL) { - const char cmd = *g_app_info_get_commandline_ptr(mApp); + if (dlerror() == NULL) { + const char *cmd = g_app_info_get_commandline_ptr(mApp); if (!cmd) { dlclose(libHandle); return NS_ERROR_FAILURE; } aCommand.Assign(cmd); } dlclose(libHandle); return NS_OK; @@ -277,16 +277,43 @@ nsGIOMimeApp::SetAsDefaultForFileExtensi } else { *ext_pos = '\0'; } } g_free(extensions); return NS_OK; } +/** + * Set default application for URI's of a particular scheme + * @param aURIScheme string containing the URI scheme + * @return NS_OK when application was set as default for URI scheme, + * NS_ERROR_FAILURE otherwise + */ +NS_IMETHODIMP +nsGIOMimeApp::SetAsDefaultForURIScheme(nsACString const& aURIScheme) +{ + GError *error = NULL; + nsCAutoString contentType("x-scheme-handler/"); + contentType.Append(aURIScheme); + + g_app_info_set_as_default_for_type(mApp, + contentType.get(), + &error); + if (error) { + g_warning("Cannot set application as default for URI scheme (%s): %s", + PromiseFlatCString(aURIScheme).get(), + error->message); + g_error_free(error); + return NS_ERROR_FAILURE; + } + + return NS_OK; +} + nsresult nsGIOService::Init() { // do nothing, gvfs/gio does not init. return NS_OK; } NS_IMPL_ISUPPORTS1(nsGIOService, nsIGIOService) @@ -317,29 +344,45 @@ nsGIOService::GetMimeTypeFromExtension(c g_free(mime_type); g_free(content_type); return NS_OK; } // used in nsGNOMERegistry // ----------------------------------------------------------------------------- NS_IMETHODIMP +nsGIOService::GetAppForURIScheme(const nsACString& aURIScheme, + nsIGIOMimeApp** aApp) +{ + *aApp = nsnull; + + GAppInfo *app_info = g_app_info_get_default_for_uri_scheme( + PromiseFlatCString(aURIScheme).get()); + if (app_info) { + nsGIOMimeApp *mozApp = new nsGIOMimeApp(app_info); + NS_ADDREF(*aApp = mozApp); + } else { + return NS_ERROR_FAILURE; + } + return NS_OK; +} + +NS_IMETHODIMP nsGIOService::GetAppForMimeType(const nsACString& aMimeType, nsIGIOMimeApp** aApp) { *aApp = nsnull; char *content_type = get_content_type_from_mime_type(PromiseFlatCString(aMimeType).get()); if (!content_type) return NS_ERROR_FAILURE; GAppInfo *app_info = g_app_info_get_default_for_type(content_type, false); if (app_info) { nsGIOMimeApp *mozApp = new nsGIOMimeApp(app_info); - NS_ENSURE_TRUE(mozApp, NS_ERROR_OUT_OF_MEMORY); NS_ADDREF(*aApp = mozApp); } else { g_free(content_type); return NS_ERROR_FAILURE; } g_free(content_type); return NS_OK; } @@ -414,75 +457,46 @@ nsGIOService::CreateAppFromCommand(nsACS nsIGIOMimeApp** appInfo) { GError *error = NULL; *appInfo = nsnull; GAppInfo *app_info = NULL, *app_info_from_list = NULL; GList *apps = g_app_info_get_all(); GList *apps_p = apps; - get_commandline_t g_app_info_get_commandline_ptr; - - void *libHandle = dlopen("libgio-2.0.so", RTLD_LAZY); - if (!libHandle) { - return NS_ERROR_FAILURE; - } - dlerror(); /* clear any existing error */ - g_app_info_get_commandline_ptr = - (get_commandline_t) dlsym(libHandle, "g_app_info_get_commandline"); - if (dlerror() != NULL) { - g_app_info_get_commandline_ptr = NULL; - } // Try to find relevant and existing GAppInfo in all installed application + // We do this by comparing each GAppInfo's executable with out own while (apps_p) { app_info_from_list = (GAppInfo*) apps_p->data; - /* This is a silly test. It just compares app names but not - * commands. This is due to old version of Glib/Gio. The required - * function which allows to do a regular check of existence of desktop file - * is possible by using function g_app_info_get_commandline. This function - * has been introduced in Glib 2.20. */ - if (app_info_from_list && strcmp(g_app_info_get_name(app_info_from_list), - PromiseFlatCString(appName).get()) == 0 ) - { - if (g_app_info_get_commandline_ptr) - { - /* Following test is only possible with Glib >= 2.20. - * Compare path only by using strncmp */ - if (strncmp(g_app_info_get_commandline_ptr(app_info_from_list), - PromiseFlatCString(cmd).get(), - strlen(PromiseFlatCString(cmd).get())) == 0) - { - app_info = app_info_from_list; - break; - } else { - g_object_unref(app_info_from_list); - } - } else { + if (!app_info) { + // If the executable is not absolute, get it's full path + char *executable = g_find_program_in_path(g_app_info_get_executable(app_info_from_list)); + + if (executable && strcmp(executable, PromiseFlatCString(cmd).get()) == 0) { + g_object_ref (app_info_from_list); app_info = app_info_from_list; - break; } - } else { - g_object_unref(app_info_from_list); + g_free(executable); } + + g_object_unref(app_info_from_list); apps_p = apps_p->next; } g_list_free(apps); if (!app_info) { app_info = g_app_info_create_from_commandline(PromiseFlatCString(cmd).get(), PromiseFlatCString(appName).get(), G_APP_INFO_CREATE_SUPPORTS_URIS, &error); } if (!app_info) { g_warning("Cannot create application info from command: %s", error->message); g_error_free(error); - dlclose(libHandle); return NS_ERROR_FAILURE; } nsGIOMimeApp *mozApp = new nsGIOMimeApp(app_info); NS_ENSURE_TRUE(mozApp, NS_ERROR_OUT_OF_MEMORY); NS_ADDREF(*appInfo = mozApp); - dlclose(libHandle); return NS_OK; } diff --git a/xpcom/system/nsIGIOService.idl b/xpcom/system/nsIGIOService.idl --- a/xpcom/system/nsIGIOService.idl +++ b/xpcom/system/nsIGIOService.idl @@ -39,17 +39,17 @@ #include "nsISupports.idl" interface nsIUTF8StringEnumerator; interface nsIURI; /* nsIGIOMimeApp holds information about an application that is looked up with nsIGIOService::GetAppForMimeType. */ -// 66009894-9877-405b-9321-bf30420e34e6 prev uuid +// e77021b4-4012-407d-b686-7a1f18050109 prev uuid [scriptable, uuid(e77021b4-4012-407d-b686-7a1f18050109)] interface nsIGIOMimeApp : nsISupports { const long EXPECTS_URIS = 0; const long EXPECTS_PATHS = 1; const long EXPECTS_URIS_FOR_NON_FILES = 2; @@ -57,41 +57,45 @@ interface nsIGIOMimeApp : nsISupports readonly attribute AUTF8String name; readonly attribute AUTF8String command; readonly attribute long expectsURIs; // see constants above readonly attribute nsIUTF8StringEnumerator supportedURISchemes; void launch(in AUTF8String uri); void setAsDefaultForMimeType(in AUTF8String mimeType); void setAsDefaultForFileExtensions(in AUTF8String extensions); + void setAsDefaultForURIScheme(in AUTF8String uriScheme); }; /* * The VFS service makes use of two distinct registries. * * The application registry holds information about applications (uniquely * identified by id), such as which MIME types and URI schemes they are * capable of handling, whether they run in a terminal, etc. * * The MIME registry holds information about MIME types, such as which * extensions map to a given MIME type. The MIME registry also stores the * id of the application selected to handle each MIME type. */ -// prev id dea20bf0-4e4d-48c5-b932-dc3e116dc64b -[scriptable, uuid(47e372c2-78bb-4899-8114-56aa7d9cdac5)] +// prev id 47e372c2-78bb-4899-8114-56aa7d9cdac5 +[scriptable, uuid(74ca8791-330d-4786-9569-2a2a19f0b486)] interface nsIGIOService : nsISupports { /*** MIME registry methods ***/ /* Obtain the MIME type registered for an extension. The extension should not include a leading dot. */ AUTF8String getMimeTypeFromExtension(in AUTF8String extension); + /* Obtain the preferred application for opening a given URI scheme */ + nsIGIOMimeApp getAppForURIScheme(in AUTF8String aURIScheme); + /* Obtain the preferred application for opening a given MIME type */ nsIGIOMimeApp getAppForMimeType(in AUTF8String mimeType); /* Obtain the preferred application for opening a given MIME type */ nsIGIOMimeApp createAppFromCommand(in AUTF8String cmd, in AUTF8String appName); /* Obtain a description for the given MIME type */ ++++++ mozilla-kde.patch ++++++ ++++ 3776 lines (skipped) ++++++ mozilla-language.patch ++++++ # HG changeset patch # User Wolfgang Rosenauer <w...@rosenauer.org> # Parent db620d83124746201970dcf50c661957df979eca Bug 583793 - Firefox interface language set to LANG, ignores LANGUAGE diff --git a/intl/locale/src/nsLocaleService.cpp b/intl/locale/src/nsLocaleService.cpp --- a/intl/locale/src/nsLocaleService.cpp +++ b/intl/locale/src/nsLocaleService.cpp @@ -181,16 +181,17 @@ nsLocaleService::nsLocaleService(void) } #ifdef MOZ_WIDGET_QT const char* lang = QLocale::system().name().toAscii(); #else // Get system configuration const char* lang = getenv("LANG"); + const char* language = getenv("LANGUAGE"); #endif for( i = 0; i < LocaleListLength; i++ ) { nsresult result; // setlocale( , "") evaluates LC_* and LANG char* lc_temp = setlocale(posix_locale_category[i], ""); CopyASCIItoUTF16(LocaleList[i], category); category_platform = category; @@ -206,16 +207,21 @@ nsLocaleService::nsLocaleService(void) else { CopyASCIItoUTF16(lang, platformLocale); result = posixConverter->GetXPLocale(lang, xpLocale); } } if (NS_FAILED(result)) { return; } + // LANGUAGE is overriding LC_MESSAGES + if (i == LC_MESSAGES && language && *language) { + CopyASCIItoUTF16(language, platformLocale); + result = posixConverter->GetXPLocale(language, xpLocale); + } resultLocale->AddCategory(category, xpLocale); resultLocale->AddCategory(category_platform, platformLocale); } mSystemLocale = do_QueryInterface(resultLocale); mApplicationLocale = do_QueryInterface(resultLocale); } // if ( NS_SUCCEEDED )... #endif // XP_UNIX ++++++ mozilla-nongnome-proxies.patch ++++++ From: Wolfgang Rosenauer Subject: Do not use gconf for proxy settings if not running within Gnome Index: toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp =================================================================== RCS file: /cvsroot/mozilla/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp,v retrieving revision 1.1 diff -u -p -6 -r1.1 nsUnixSystemProxySettings.cpp --- toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp 29 Jan 2008 15:58:41 -0000 1.1 +++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp 17 Apr 2008 19:02:19 -0000 @@ -69,13 +69,19 @@ private: NS_IMPL_ISUPPORTS1(nsUnixSystemProxySettings, nsISystemProxySettings) nsresult nsUnixSystemProxySettings::Init() { - mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID); + // If this is a GNOME session, load gconf and try to use its preferences. + // If gconf is not available (which would be stupid) we'll proceed as if + // this was not a GNOME session, using *_PROXY environment variables. + const char* sessionType = PR_GetEnv("DESKTOP_SESSION"); + if (sessionType && !strcmp(sessionType, "gnome")) { + mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID); + } return NS_OK; } PRBool nsUnixSystemProxySettings::IsProxyMode(const char* aMode) { ++++++ mozilla-ntlm-full-path.patch ++++++ # HG changeset patch # User Petr Cerny <pce...@novell.com> # Parent 971259052418fda3b7fc81da75be4557ea5d82bc Bug 634334 - call to the ntlm_auth helper fails diff --git a/extensions/auth/nsAuthSambaNTLM.cpp b/extensions/auth/nsAuthSambaNTLM.cpp --- a/extensions/auth/nsAuthSambaNTLM.cpp +++ b/extensions/auth/nsAuthSambaNTLM.cpp @@ -200,17 +200,17 @@ static PRUint8* ExtractMessage(const nsA nsresult nsAuthSambaNTLM::SpawnNTLMAuthHelper() { const char* username = PR_GetEnv("USER"); if (!username) return NS_ERROR_FAILURE; char* args[] = { - "ntlm_auth", + "/usr/bin/ntlm_auth", "--helper-protocol", "ntlmssp-client-1", "--use-cached-creds", "--username", const_cast<char*>(username), nsnull }; PRBool isOK = SpawnIOChild(args, &mChildPID, &mFromChildFD, &mToChildFD); if (!isOK) ++++++ mozilla-ppc-ipc.patch ++++++ # HG changeset patch # Parent f6996f95c7f8007fd7bf759092488ead6843441a Bug 587188 - Failed to build firefox from trunk on PPC (fixed m-c) diff --git a/ipc/chromium/Makefile.in b/ipc/chromium/Makefile.in --- a/ipc/chromium/Makefile.in +++ b/ipc/chromium/Makefile.in @@ -241,17 +241,16 @@ CPPSRCS += \ endif # } OS_MACOSX ifdef OS_LINUX # { CPPSRCS += \ atomicops_internals_x86_gcc.cc \ base_paths_linux.cc \ - data_pack.cc \ file_util_linux.cc \ file_version_info_linux.cc \ idle_timer_none.cc \ process_util_linux.cc \ time_posix.cc \ $(NULL) ifdef MOZ_ENABLE_GTK2 diff --git a/ipc/chromium/src/base/atomicops.h b/ipc/chromium/src/base/atomicops.h --- a/ipc/chromium/src/base/atomicops.h +++ b/ipc/chromium/src/base/atomicops.h @@ -127,13 +127,15 @@ Atomic64 Release_Load(volatile const Ato #if defined(OS_WIN) && defined(COMPILER_MSVC) && defined(ARCH_CPU_X86_FAMILY) #include "base/atomicops_internals_x86_msvc.h" #elif defined(OS_MACOSX) && defined(ARCH_CPU_X86_FAMILY) #include "base/atomicops_internals_x86_macosx.h" #elif defined(COMPILER_GCC) && defined(ARCH_CPU_X86_FAMILY) #include "base/atomicops_internals_x86_gcc.h" #elif defined(COMPILER_GCC) && defined(ARCH_CPU_ARM_FAMILY) #include "base/atomicops_internals_arm_gcc.h" +//#elif defined(COMPILER_GCC) && defined(ARCH_CPU_PPC_FAMILY) +//#include "base/atomicops_internals_ppc_gcc.h" #else #include "base/atomicops_internals_mutex.h" #endif #endif // BASE_ATOMICOPS_H_ diff --git a/ipc/chromium/src/base/atomicops_internals_ppc_gcc.h b/ipc/chromium/src/base/atomicops_internals_ppc_gcc.h new file mode 100644 --- /dev/null +++ b/ipc/chromium/src/base/atomicops_internals_ppc_gcc.h @@ -0,0 +1,148 @@ +// Copyright (c) 2010 JJDaNiMoTh <jjdanim...@gmail.com>. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// This file is an internal atomic implementation, use base/atomicops.h instead. + +#ifndef BASE_ATOMICOPS_INTERNALS_PPC_GCC_H_ +#define BASE_ATOMICOPS_INTERNALS_PPC_GCC_H_ +#define ATOMICOPS_COMPILER_BARRIER() __asm__ __volatile__("" : : : "memory") + +#define PPC_ACQUIRE_BARRIER "\nisync\n" +#define PPC_RELEASE_BARRIER "\nlwsync\n" + +namespace base { +namespace subtle { + +// 32-bit low-level operations on any platform. + +/* + * Compare and exchange - if *ptr == old, set it to new, + * and return the old value of *p. + */ +inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + Atomic32 prev; + + __asm__ __volatile__ ( + "1: lwarx %0,0,%2\n" + "cmpw 0,%0,%3\n" + "bne- 2f\n" + "stwcx. %4,0,%2\n" + "bne- 1b\n" + "2:\n" + : "=&r" (prev), "+m" (*ptr) + : "r" (ptr), "r" (old_value), "r" (new_value) + : "cc", "memory"); + + return prev; +} + +/* +* Atomic exchange +* +* Changes the memory location '*ptr' to be new_value and returns +* the previous value stored there. +*/ +inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr, + Atomic32 new_value) { + Atomic32 prev; + + __asm__ __volatile__( +"1: lwarx %0,0,%2 \n" +" stwcx. %3,0,%2 \n\ + bne- 1b" + : "=&r" (prev), "+m" (*ptr) + : "r" (ptr), "r" (new_value) + : "cc", "memory"); + + return prev; +} + +inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + Atomic32 temp; + + __asm__ __volatile__( +"1: lwarx %0,0,%2\n\ + add %0,%1,%0\n" +" stwcx. %0,0,%2 \n\ + bne- 1b" + : "=&r" (temp) + : "r" (increment), "r" (ptr) + : "cc", "memory"); + + return temp; +} + +inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + Atomic32 temp; + + __asm__ __volatile__( + PPC_RELEASE_BARRIER +"1: lwarx %0,0,%2\n\ + add %0,%1,%0\n" +" stwcx. %0,0,%2 \n\ + bne- 1b" + PPC_ACQUIRE_BARRIER + : "=&r" (temp) + : "r" (increment), "r" (ptr) + : "cc", "memory"); + + return temp; +} + +inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + return NoBarrier_CompareAndSwap(ptr, old_value, new_value); +} + +inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + return NoBarrier_CompareAndSwap(ptr, old_value, new_value); +} + +inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) { + *ptr = value; +} + +inline void MemoryBarrier() { + __asm__ __volatile__("sync" : : : "memory"); +} + +inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) { + *ptr = value; + MemoryBarrier(); +} + +inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) { + MemoryBarrier(); + *ptr = value; +} + +inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) { + return *ptr; +} + +inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) { + Atomic32 value = *ptr; + MemoryBarrier(); + return value; + +} + +inline Atomic32 Release_Load(volatile const Atomic32* ptr) { + MemoryBarrier(); + return *ptr; +} + +} // namespace base::subtle +} // namespace base + +#undef ATOMICOPS_COMPILER_BARRIER + +#endif // BASE_ATOMICOPS_INTERNALS_PPC_GCC_H_ diff --git a/ipc/chromium/src/build/build_config.h b/ipc/chromium/src/build/build_config.h --- a/ipc/chromium/src/build/build_config.h +++ b/ipc/chromium/src/build/build_config.h @@ -52,19 +52,20 @@ #define ARCH_CPU_X86_FAMILY 1 #define ARCH_CPU_X86 1 #define ARCH_CPU_32_BITS 1 #elif defined(__ARMEL__) #define ARCH_CPU_ARM_FAMILY 1 #define ARCH_CPU_ARMEL 1 #define ARCH_CPU_32_BITS 1 #define WCHAR_T_IS_UNSIGNED 1 -#elif defined(__ppc__) +#elif defined(__ppc__) || defined(__powerpc) || defined(__PPC__) #define ARCH_CPU_PPC 1 #define ARCH_CPU_32_BITS 1 +#define ARCH_CPU_PPC_FAMILY 1 #else #error Please add support for your architecture in build/build_config.h #endif // Type detection for wchar_t. #ifndef CHROMIUM_MOZILLA_BUILD #if defined(OS_WIN) ++++++ mozilla-prefer_plugin_pref.patch ++++++ From: Ubuntu Subject: introduce a pref to prefer certain plugins for mime-types diff --git a/modules/plugin/base/src/nsPluginHost.cpp b/modules/plugin/base/src/nsPluginHost.cpp --- a/modules/plugin/base/src/nsPluginHost.cpp +++ b/modules/plugin/base/src/nsPluginHost.cpp @@ -1620,17 +1620,47 @@ nsPluginHost::FindPluginForType(const ch nsPluginTag *plugins = nsnull; PRInt32 variants, cnt; LoadPlugins(); // if we have a mimetype passed in, search the mPlugins // linked list for a match if (aMimeType) { + nsresult res; + nsCOMPtr<nsIPrefBranch> prefB (do_QueryInterface(mPrefService)); + + char *preferredPluginPath = NULL; + nsCAutoString mimetypePrefString ("modules.plugins.mimetype."); + mimetypePrefString.Append(aMimeType); + const char *mimetypePrefChar = mimetypePrefString.get(); + res = prefB->GetCharPref(mimetypePrefChar, &preferredPluginPath); + + if(!NS_SUCCEEDED(res)) preferredPluginPath = NULL; + plugins = mPlugins; + if(preferredPluginPath) { + while (nsnull != plugins) { + if (0 == PL_strcasecmp(plugins->mFileName.get(), preferredPluginPath) || + 0 == PL_strcasecmp(plugins->mFullPath.get(), preferredPluginPath)) { + return plugins; + } + plugins = plugins->mNext; + } + + // now lets search for substrings + plugins=mPlugins; + while (nsnull != plugins) { + if (nsnull != PL_strstr(plugins->mFileName.get(), preferredPluginPath) || + nsnull != PL_strstr(plugins->mFullPath.get(), preferredPluginPath)) { + return plugins; + } + plugins = plugins->mNext; + } + } while (plugins) { variants = plugins->mVariants; for (cnt = 0; cnt < variants; cnt++) { if ((!aCheckEnabled || plugins->IsEnabled()) && plugins->mMimeTypeArray[cnt] && (0 == PL_strcasecmp(plugins->mMimeTypeArray[cnt], aMimeType))) { return plugins; ++++++ mozilla-shared-nss-db.patch ++++++ From: Hans Petter Jansson <h...@copyleft.no> Wolfgang Rosenauer <w...@rosenauer.org> Subject: use libnsssharedhelper if available at compile time (can be disabled by exporting MOZ_XRE_NO_NSSHELPER=1) References: diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in --- a/config/autoconf.mk.in +++ b/config/autoconf.mk.in @@ -571,16 +571,20 @@ MOZ_ALSA_LIBS = @MOZ_ALSA_LIBS GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GLIB_GMODULE_LIBS = @GLIB_GMODULE_LIBS@ LIBIDL_CFLAGS = @LIBIDL_CFLAGS@ LIBIDL_LIBS = @LIBIDL_LIBS@ STATIC_LIBIDL = @STATIC_LIBIDL@ +MOZ_ENABLE_NSSHELPER = @MOZ_ENABLE_NSSHELPER@ +NSSHELPER_CFLAGS = @NSSHELPER_CFLAGS@ +NSSHELPER_LIBS = @NSSHELPER_LIBS@ + MOZ_NATIVE_MAKEDEPEND = @SYSTEM_MAKEDEPEND@ export CL_INCLUDES_PREFIX = @CL_INCLUDES_PREFIX@ MOZ_AUTO_DEPS = @MOZ_AUTO_DEPS@ COMPILER_DEPEND = @COMPILER_DEPEND@ MDDEPDIR := @MDDEPDIR@ CC_WRAPPER = @CC_WRAPPER@ diff --git a/configure.in b/configure.in --- a/configure.in +++ b/configure.in @@ -8610,16 +8610,31 @@ AC_SUBST(QCMS_LIBS) dnl ======================================================== dnl HarfBuzz dnl ======================================================== MOZ_HARFBUZZ_LIBS='$(DEPTH)/gfx/harfbuzz/src/$(LIB_PREFIX)mozharfbuzz.$(LIB_SUFFIX)' AC_SUBST(MOZ_HARFBUZZ_LIBS) dnl ======================================================== +dnl Check for nss-shared-helper +dnl ======================================================== + + PKG_CHECK_MODULES(NSSHELPER, nss-shared-helper, + [MOZ_ENABLE_NSSHELPER=1], + [MOZ_ENABLE_NSSHELPER=]) + +if test "$MOZ_ENABLE_NSSHELPER"; then + AC_DEFINE(MOZ_ENABLE_NSSHELPER) +fi +AC_SUBST(MOZ_ENABLE_NSSHELPER) +AC_SUBST(NSSHELPER_CFLAGS) +AC_SUBST(NSSHELPER_LIBS) + +dnl ======================================================== dnl OTS dnl ======================================================== MOZ_OTS_LIBS='$(DEPTH)/gfx/ots/src/$(LIB_PREFIX)mozots.$(LIB_SUFFIX)' AC_SUBST(MOZ_OTS_LIBS) dnl ======================================================== dnl disable xul dnl ======================================================== diff --git a/security/manager/ssl/src/Makefile.in b/security/manager/ssl/src/Makefile.in --- a/security/manager/ssl/src/Makefile.in +++ b/security/manager/ssl/src/Makefile.in @@ -117,19 +117,20 @@ CSRCS += md4.c EXTRA_DEPS = $(NSS_DEP_LIBS) DEFINES += -DNSS_ENABLE_ECC # Use local includes because they are inserted before INCLUDES # so that Mozilla's nss.h is used, not glibc's -LOCAL_INCLUDES += $(NSS_CFLAGS) +LOCAL_INCLUDES += $(NSS_CFLAGS) $(NSSHELPER_CFLAGS) EXTRA_DSO_LDOPTS += \ $(MOZ_UNICHARUTIL_LIBS) \ $(MOZ_COMPONENT_LIBS) \ $(MOZ_JS_LIBS) \ + $(NSSHELPER_LIBS) \ $(NSS_LIBS) \ $(NULL) include $(topsrcdir)/config/rules.mk diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/src/nsNSSComponent.cpp --- a/security/manager/ssl/src/nsNSSComponent.cpp +++ b/security/manager/ssl/src/nsNSSComponent.cpp @@ -39,16 +39,23 @@ * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ +#ifdef MOZ_ENABLE_NSSHELPER +#pragma GCC visibility push(default) +#include <nss-shared-helper.h> +#pragma GCC visibility pop +#include "prenv.h" +#endif + #include "nsNSSComponent.h" #include "nsNSSCallbacks.h" #include "nsNSSIOLayer.h" #include "nsSSLThread.h" #include "nsCertVerificationThread.h" #include "nsNetUtil.h" #include "nsAppDirectoryServiceDefs.h" @@ -1658,18 +1665,34 @@ nsNSSComponent::InitializeNSS(PRBool sho ConfigureInternalPKCS11Token(); // The NSS_INIT_NOROOTINIT flag turns off the loading of the root certs // module by NSS_Initialize because we will load it in InstallLoadableRoots // later. It also allows us to work around a bug in the system NSS in // Ubuntu 8.04, which loads any nonexistent "<configdir>/libnssckbi.so" as // "/usr/lib/nss/libnssckbi.so". PRUint32 init_flags = NSS_INIT_NOROOTINIT | NSS_INIT_OPTIMIZESPACE; - SECStatus init_rv = ::NSS_Initialize(profileStr.get(), "", "", - SECMOD_DB, init_flags); + SECStatus init_rv = SECFailure; +#ifdef MOZ_ENABLE_NSSHELPER + if (PR_GetEnv("MOZ_XRE_NO_NSSHELPER")) { + init_rv = ::NSS_Initialize(profileStr.get(), "", "", + SECMOD_DB, init_flags); + } else { + init_rv = ::nsshelp_open_db ("mozilla-xul", profileStr.get(), init_flags); + + if (init_rv != SECSuccess) { + PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("can not init NSS using nsshelp_open_db in %s\n", profileStr.get())); + init_rv = ::NSS_Initialize(profileStr.get(), "", "", + SECMOD_DB, init_flags); + } + } +#else + init_rv = ::NSS_Initialize(profileStr.get(), "", "", + SECMOD_DB, init_flags); +#endif if (init_rv != SECSuccess) { PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("can not init NSS r/w in %s\n", profileStr.get())); if (supress_warning_preference) { which_nss_problem = problem_none; } else { diff --git a/toolkit/library/Makefile.in b/toolkit/library/Makefile.in --- a/toolkit/library/Makefile.in +++ b/toolkit/library/Makefile.in @@ -169,17 +169,17 @@ ifndef MOZ_ENABLE_LIBXUL EXTRA_DSO_LDOPTS += \ $(MOZ_COMPONENT_LIBS) \ $(MOZ_JS_LIBS) \ $(NULL) endif DEFINES += -DIMPL_XREAPI -EXTRA_DSO_LDOPTS += $(NSPR_LIBS) $(MOZALLOC_LIB) +EXTRA_DSO_LDOPTS += $(NSPR_LIBS) $(MOZALLOC_LIB) $(NSSHELPER_LIBS) ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa) CXXFLAGS += $(TK_CFLAGS) OS_LIBS += \ -framework SystemConfiguration \ -framework QuickTime \ -framework IOKit \ -lcrypto \ ++++++ mozilla.sh.in ++++++ --- /var/tmp/diff_new_pack.f2gSFG/_old 2011-06-06 16:30:17.000000000 +0200 +++ /var/tmp/diff_new_pack.f2gSFG/_new 2011-06-06 16:30:17.000000000 +0200 @@ -57,7 +57,7 @@ MOZ_DIST_BIN="%PREFIX" MOZ_DIST_LIB="%PROGDIR" MOZ_APPNAME="%APPNAME" -MOZ_PROGRAM="$MOZ_DIST_LIB/$MOZ_APPNAME" +MOZ_PROGRAM="$MOZ_DIST_LIB/$MOZ_APPNAME-bin" MOZ_APP_LAUNCHER="$MOZ_DIST_LIB/$MOZ_APPNAME.sh" if [ "$0" = "$MOZ_APP_LAUNCHER" ]; then @@ -79,6 +79,11 @@ BROWSER_PLUGIN_DIR=/opt/netscape/plugins fi +MOZILLA_FIVE_HOME="$MOZ_DIST_LIB" +export MOZILLA_FIVE_HOME +LD_LIBRARY_PATH=$MOZ_DIST_LIB${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} +export LD_LIBRARY_PATH + # ignore composite extension (needed for Flash) export XLIB_SKIP_ARGB_VISUALS=1 ++++++ toolkit-download-folder.patch ++++++ --- /var/tmp/diff_new_pack.f2gSFG/_old 2011-06-06 16:30:17.000000000 +0200 +++ /var/tmp/diff_new_pack.f2gSFG/_new 2011-06-06 16:30:17.000000000 +0200 @@ -15,9 +15,9 @@ iconUrlSpec = fph.getURLSpecFromFile(this._indexToFolder(1)); } else { // 'Desktop' -diff --git a/toolkit/components/downloads/src/nsDownloadManager.cpp b/toolkit/components/downloads/src/nsDownloadManager.cpp ---- a/toolkit/components/downloads/src/nsDownloadManager.cpp -+++ b/toolkit/components/downloads/src/nsDownloadManager.cpp +diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/components/downloads/nsDownloadManager.cpp +--- a/toolkit/components/downloads/nsDownloadManager.cpp ++++ b/toolkit/components/downloads/nsDownloadManager.cpp @@ -1269,8 +1269,10 @@ nsDownloadManager::GetDefaultDownloadsDi // XDG user dir spec, with a fallback to Home/Downloads ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org