Hello community, here is the log from the commit of package MozillaFirefox for openSUSE:Factory checked in at 2012-07-20 10:18:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/MozillaFirefox (Old) and /work/SRC/openSUSE:Factory/.MozillaFirefox.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MozillaFirefox", Maintainer is "bnc-team-mozi...@forge.provo.novell.com" Changes: -------- --- /work/SRC/openSUSE:Factory/MozillaFirefox/MozillaFirefox.changes 2012-06-18 17:32:11.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.MozillaFirefox.new/MozillaFirefox.changes 2012-07-20 10:24:15.000000000 +0200 @@ -1,0 +2,44 @@ +Sat Jul 14 19:31:51 UTC 2012 - w...@rosenauer.org + +- update to 14.0.1 (bnc#771583) + * MFSA 2012-42/CVE-2012-1949/CVE-2012-1948 + Miscellaneous memory safety hazards + * MFSA 2012-43/CVE-2012-1950 + Incorrect URL displayed in addressbar through drag and drop + * MFSA 2012-44/CVE-2012-1951/CVE-2012-1954/CVE-2012-1953/CVE-2012-1952 + Gecko memory corruption + * MFSA 2012-45/CVE-2012-1955 (bmo#757376) + Spoofing issue with location + * MFSA 2012-46/CVE-2012-1966 (bmo#734076) + XSS through data: URLs + * MFSA 2012-47/CVE-2012-1957 (bmo#750096) + Improper filtering of javascript in HTML feed-view + * MFSA 2012-48/CVE-2012-1958 (bmo#750820) + use-after-free in nsGlobalWindow::PageHidden + * MFSA 2012-49/CVE-2012-1959 (bmo#754044, bmo#737559) + Same-compartment Security Wrappers can be bypassed + * MFSA 2012-50/CVE-2012-1960 (bmo#761014) + Out of bounds read in QCMS + * MFSA 2012-51/CVE-2012-1961 (bmo#761655) + X-Frame-Options header ignored when duplicated + * MFSA 2012-52/CVE-2012-1962 (bmo#764296) + JSDependentString::undepend string conversion results in memory + corruption + * MFSA 2012-53/CVE-2012-1963 (bmo#767778) + Content Security Policy 1.0 implementation errors cause data + leakage + * MFSA 2012-55/CVE-2012-1965 (bmo#758990) + feed: URLs with an innerURI inherit security context of page + * MFSA 2012-56/CVE-2012-1967 (bmo#758344) + Code execution through javascript: URLs +- license change from tri license to MPL-2.0 +- fix crashreporter restart option (bmo#762780) +- require NSS 3.13.5 +- remove mozjs pacrunner obsoletes again for now +- adopted mozilla-prefer_plugin_pref.patch +- PPC fixes: + * reenabled mozilla-yarr-pcre.patch to fix build for PPC + * add patches for bmo#750620 and bmo#746112 + * fix xpcshell segfault on ppc + +------------------------------------------------------------------- Old: ---- firefox-13.0.1-source.tar.bz2 firefox-cross-desktop.patch l10n-13.0.1.tar.bz2 mozilla-libnotify.patch mozilla-linux3.patch mozilla-nsSound.patch mozilla-revert_621446.patch mozilla-system-nspr.patch New: ---- firefox-14.0.1-source.tar.bz2 l10n-14.0.1.tar.bz2 mozilla-crashreporter-restart-args.patch mozilla-ppc.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ MozillaFirefox.spec ++++++ --- /var/tmp/diff_new_pack.OcauOO/_old 2012-07-20 10:24:26.000000000 +0200 +++ /var/tmp/diff_new_pack.OcauOO/_new 2012-07-20 10:24:26.000000000 +0200 @@ -17,7 +17,7 @@ # -%define major 13 +%define major 14 %define mainver %major.0.1 %define update_channel release @@ -45,11 +45,16 @@ BuildRequires: wireless-tools %endif BuildRequires: mozilla-nspr-devel >= 4.9.0 -BuildRequires: mozilla-nss-devel >= 3.13.4 +BuildRequires: mozilla-nss-devel >= 3.13.5 BuildRequires: nss-shared-helper-devel +%if %suse_version > 1140 +BuildRequires: pkgconfig(gstreamer-0.10) +BuildRequires: pkgconfig(gstreamer-app-0.10) +BuildRequires: pkgconfig(gstreamer-plugins-base-0.10) +%endif Version: %{mainver} Release: 0 -%define releasedate 2012061400 +%define releasedate 2012071300 Provides: firefox = %{mainver} Provides: firefox = %{version}-%{release} Provides: web_browser @@ -59,7 +64,7 @@ %define kde_helper_version 6 Provides: mozilla-kde4-version = %{kde_helper_version} Summary: Mozilla Firefox Web Browser -License: MPL-1.1 or GPL-2.0+ or LGPL-2.1+ +License: MPL-2.0 Group: Productivity/Networking/Web/Browsers Url: http://www.mozilla.org/ Source: firefox-%{version}-source.tar.bz2 @@ -88,23 +93,19 @@ Patch9: mozilla-repo.patch Patch10: mozilla-dump_syms-static.patch Patch11: mozilla-sle11.patch -Patch12: mozilla-linux3.patch -Patch14: mozilla-disable-neon-option.patch -Patch15: mozilla-yarr-pcre.patch -Patch16: mozilla-system-nspr.patch -Patch17: mozilla-revert_621446.patch -Patch18: mozilla-libnotify.patch -Patch19: mozilla-gcc47.patch -Patch20: mozilla-nsSound.patch -Patch21: mozilla-arm-disable-edsp.patch +Patch12: mozilla-disable-neon-option.patch +Patch13: mozilla-yarr-pcre.patch +Patch14: mozilla-gcc47.patch +Patch15: mozilla-arm-disable-edsp.patch +Patch16: mozilla-crashreporter-restart-args.patch +Patch17: mozilla-ppc.patch # Firefox/browser -Patch31: firefox-browser-css.patch -Patch32: firefox-cross-desktop.patch -Patch33: firefox-kde.patch -Patch34: firefox-kde-114.patch -Patch38: firefox-no-default-ualocale.patch -Patch39: firefox-multilocale-chrome.patch -Patch41: firefox-branded-icons.patch +Patch30: firefox-browser-css.patch +Patch31: firefox-kde.patch +Patch32: firefox-kde-114.patch +Patch33: firefox-no-default-ualocale.patch +Patch34: firefox-multilocale-chrome.patch +Patch35: 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 @@ -112,8 +113,6 @@ Requires: mozilla-nspr >= %(rpm -q --queryformat '%{VERSION}' mozilla-nspr) Requires: mozilla-nss >= %(rpm -q --queryformat '%{VERSION}' mozilla-nss) Recommends: libcanberra0 -# libproxy's mozjs pacrunner crashes FF (bnc#759123) -Obsoletes: libproxy1-pacrunner-mozjs <= 0.4.7 %define firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\} %define _use_internal_dependency_generator 0 %define __find_requires sh %{SOURCE4} @@ -135,10 +134,6 @@ %else %define crashreporter 1 %endif -# temporary gcc 4.7 -%if %suse_version > 1210 -%define crashreporter 0 -%endif ### build options end %description @@ -173,7 +168,7 @@ %package translations-other Summary: Extra translations for MozillaFirefox Group: System/Localization -Provides: locale(%{name}:af;ak;as;ast;be;bg;bn_BD;bn_IN;br;bs;csb;cy;el;en_ZA;eo;es_MX;et;eu;fa;fy_NL;ga_IE;gd;gl;gu_IN;he;hi_IN;hr;hy_AM;id;is;kk;km;kn;ku;lg;lij;lt;lv;mai;mk;ml;mr;nn_NO;nso;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;ta_LK;te;th;tr;uk;vi;zu) +Provides: locale(%{name}:af;ak;as;ast;be;bg;bn_BD;bn_IN;br;bs;csb;cy;el;en_ZA;eo;es_MX;et;eu;fa;ff;fy_NL;ga_IE;gd;gl;gu_IN;he;hi_IN;hr;hy_AM;id;is;kk;km;kn;ku;lg;lij;lt;lv;mai;mk;ml;mr;nn_NO;nso;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;ta_LK;te;th;tr;uk;vi;zu) Requires: %{name} = %{version} Obsoletes: %{name}-translations < %{version}-%{release} @@ -229,27 +224,23 @@ %if %suse_version < 1120 %patch11 -p1 %endif -%patch12 -p1 +#%patch12 -p1 +%patch13 -p1 %patch14 -p1 -#%patch15 -p1 +%patch15 -p1 %patch16 -p1 %patch17 -p1 -%patch18 -p1 -%patch19 -p1 -%patch20 -p1 -%patch21 -p1 # -%patch31 -p1 -%patch32 -p1 +%patch30 -p1 %if %suse_version >= 1110 -%patch33 -p1 +%patch31 -p1 %endif %if %suse_version >= 1140 -%patch34 -p1 +%patch32 -p1 %endif -%patch38 -p1 -%patch39 -p1 -%patch41 -p1 +%patch33 -p1 +%patch34 -p1 +%patch35 -p1 %build # no need to add build time to binaries @@ -308,6 +299,11 @@ ac_add_options --enable-gio EOF %endif +%if %suse_version > 1140 +cat << EOF >> $MOZCONFIG +ac_add_options --enable-gstreamer +EOF +%endif %if %branding cat << EOF >> $MOZCONFIG ac_add_options --enable-official-branding @@ -333,11 +329,10 @@ %install cd $RPM_BUILD_DIR/obj -rm dist/bin/defaults/pref/firefox-l10n.js source %{SOURCE5} export MOZ_SOURCE_STAMP=$REV export MOZ_SOURCE_REPO=$REPO -make -C browser/installer STRIP=/bin/true +make -C browser/installer STRIP=/bin/true MOZ_PKG_FATAL_WARNINGS=0 #DEBUG (break the build if searchplugins are missing / temporary) grep amazondotcom dist/firefox/omni.ja # copy tree into RPM_BUILD_ROOT @@ -444,7 +439,6 @@ 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 rm -f $RPM_BUILD_ROOT%{progdir}/update-settings.ini # devel mkdir -p %{buildroot}%{_bindir} @@ -552,6 +546,7 @@ %{progdir}/jssubloader/ %{progdir}/searchplugins/ %attr(755,root,root) %{progdir}/%{progname}.sh +%{progdir}/firefox %{progdir}/firefox-bin %{progdir}/add-plugins.sh %{progdir}/application.ini ++++++ compare-locales.tar.bz2 ++++++ ++++++ create-tar.sh ++++++ --- /var/tmp/diff_new_pack.OcauOO/_old 2012-07-20 10:24:26.000000000 +0200 +++ /var/tmp/diff_new_pack.OcauOO/_new 2012-07-20 10:24:26.000000000 +0200 @@ -2,8 +2,8 @@ CHANNEL="release" BRANCH="releases/mozilla-$CHANNEL" -RELEASE_TAG="FIREFOX_13_0_1_RELEASE" -VERSION="13.0.1" +RELEASE_TAG="FIREFOX_14_0_1_RELEASE" +VERSION="14.0.1" # mozilla echo "cloning $BRANCH..." ++++++ firefox-13.0.1-source.tar.bz2 -> firefox-14.0.1-source.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/MozillaFirefox/firefox-13.0.1-source.tar.bz2 /work/SRC/openSUSE:Factory/.MozillaFirefox.new/firefox-14.0.1-source.tar.bz2 differ: char 11, line 1 ++++++ firefox-branded-icons.patch ++++++ --- /var/tmp/diff_new_pack.OcauOO/_old 2012-07-20 10:24:27.000000000 +0200 +++ /var/tmp/diff_new_pack.OcauOO/_new 2012-07-20 10:24:27.000000000 +0200 @@ -1,11 +1,11 @@ # HG changeset patch -# Parent 4a29f791f190ebb5de41590d70d52c7510d9477c +# Parent 7f0b0738f036cd9d2e51c51c3552dc608ac598f9 diff --git a/browser/app/Makefile.in b/browser/app/Makefile.in --- a/browser/app/Makefile.in +++ b/browser/app/Makefile.in @@ -160,16 +160,21 @@ endif - endif # LIBXUL_SDK + endif #} LIBXUL_SDK ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2) libs:: @@ -23,9 +23,9 @@ libs:: $(srcdir)/profile/prefs.js $(INSTALL) $(IFLAGS1) $^ $(DIST)/bin/defaults/profile - libs:: $(srcdir)/blocklist.xml - $(INSTALL) $(IFLAGS1) $^ $(DIST)/bin - + ifndef LIBXUL_SDK + # channel-prefs.js is handled separate from other prefs due to bug 756325 + libs:: $(srcdir)/profile/channel-prefs.js diff --git a/browser/branding/official/Makefile.in b/browser/branding/official/Makefile.in --- a/browser/branding/official/Makefile.in +++ b/browser/branding/official/Makefile.in @@ -54,7 +54,7 @@ diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in --- a/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in -@@ -450,18 +450,21 @@ +@@ -476,18 +476,21 @@ @BINPATH@/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/preview.png #ifdef SHIP_FEEDBACK @BINPATH@/distribution/extensions/testpi...@labs.mozilla.com.xpi ++++++ firefox-browser-css.patch ++++++ --- /var/tmp/diff_new_pack.OcauOO/_old 2012-07-20 10:24:27.000000000 +0200 +++ /var/tmp/diff_new_pack.OcauOO/_new 2012-07-20 10:24:27.000000000 +0200 @@ -9,12 +9,12 @@ diff --git a/browser/themes/gnomestripe/browser.css b/browser/themes/gnomestripe/browser.css --- a/browser/themes/gnomestripe/browser.css +++ b/browser/themes/gnomestripe/browser.css -@@ -1016,16 +1016,30 @@ toolbar[iconsize="small"] #feed-button { - } +@@ -1026,16 +1026,30 @@ toolbar[iconsize="small"] #feed-button { #urlbar-display { margin-top: 0; margin-bottom: 0; + -moz-margin-start: 0; color: GrayText; } @@ -36,7 +36,7 @@ #page-proxy-favicon { width: 16px; height: 16px; - margin: 2px 4px; - } - - #page-proxy-favicon:not([src]) { + margin-top: 2px; + margin-bottom: 2px; + -moz-margin-start: 4px; + -moz-margin-end: 3px; ++++++ firefox-kde.patch ++++++ --- /var/tmp/diff_new_pack.OcauOO/_old 2012-07-20 10:24:27.000000000 +0200 +++ /var/tmp/diff_new_pack.OcauOO/_new 2012-07-20 10:24:27.000000000 +0200 @@ -2,7 +2,7 @@ new file mode 100644 --- /dev/null +++ b/browser/base/content/browser-kde.xul -@@ -0,0 +1,1116 @@ +@@ -0,0 +1,1122 @@ +#filter substitution +<?xml version="1.0"?> +# -*- Mode: HTML -*- @@ -99,6 +99,7 @@ + macanimationtype="document" + screenX="4" screenY="4" + browsingmode="normal" ++ fullscreenbutton="true" + persist="screenX screenY width height sizemode"> + +# All JS files which are not content (only) dependent that browser.xul @@ -533,6 +534,7 @@ + <image id="indexedDB-notification-icon" class="notification-anchor-icon" role="button"/> + <image id="password-notification-icon" class="notification-anchor-icon" role="button"/> + <image id="webapps-notification-icon" class="notification-anchor-icon" role="button"/> ++ <image id="plugins-notification-icon" class="notification-anchor-icon" role="button"/> + </box> + <!-- Use onclick instead of normal popup= syntax since the popup + code fires onmousedown, and hence eats our favicon drag events. @@ -545,9 +547,8 @@ + <hbox id="identity-box-inner" align="center"> + <hbox id="page-proxy-stack" + onclick="PageProxyClickHandler(event);"> -+ <image id="page-proxy-favicon" validate="never" -+ pageproxystate="invalid" -+ onerror="this.removeAttribute('src');"/> ++ <image id="page-proxy-favicon" ++ pageproxystate="invalid"/> + </hbox> + <hbox id="identity-icon-labels"> + <label id="identity-icon-label" class="plain" flex="1"/> @@ -858,6 +859,9 @@ + label="&printButton.label;" command="cmd_print" + tooltiptext="&printButton.tooltip;"/> + ++ <!-- This is a placeholder for the Downloads Indicator. It is visible ++ only during the customization of the toolbar or in the palette, and ++ is replaced when customization is done. --> + <toolbarbutton id="downloads-button" class="toolbarbutton-1 chromeclass-toolbar-additional" + observes="Tools:Downloads" + ondrop="DownloadsButtonDNDObserver.onDrop(event)" @@ -1011,9 +1015,9 @@ + command="Inspector:Inspect"/> + <toolbarbutton id="inspector-treepanel-toolbutton" + class="devtools-toolbarbutton" -+ label="&htmlPanel.label;" -+ accesskey="&htmlPanel.accesskey;" -+ tooltiptext="&htmlPanel.tooltiptext;" ++ tabindex="0" ++ aria-label="&markupButton.arialabel;" ++ accesskey="&markupButton.accesskey;" + command="Inspector:HTMLPanel"/> + <arrowscrollbox id="inspector-breadcrumbs" + flex="1" orient="horizontal" @@ -1024,11 +1028,13 @@ + hidden="true" + label="&inspect3DViewButton.label;" + accesskey="&inspect3DViewButton.accesskey;" ++ tabindex="0" + command="Inspector:Tilt"/> + <toolbarbutton id="inspector-style-button" + class="devtools-toolbarbutton" + label="&inspectStyleButton.label;" + accesskey="&inspectStyleButton.accesskey;" ++ tabindex="0" + command="Inspector:Sidebar"/> + <!-- registered tools go here --> + </hbox> @@ -1063,7 +1069,7 @@ + </svg:mask> + <svg:mask id="winstripe-urlbar-back-button-mask" maskContentUnits="userSpaceOnUse"> + <svg:rect x="0" y="0" width="10000" height="50" fill="white"/> -+ <svg:circle cx="-11" cy="13" r="15"/> ++ <svg:circle cx="-11" cy="18" r="15"/> + </svg:mask> + </svg:svg> +#endif @@ -1158,12 +1164,12 @@ #endif #if defined(XP_WIN) && !defined(__MINGW32__) - #include "nsIEProfileMigrator.h" - #elif defined(XP_MACOSX) - #include "nsSafariProfileMigrator.h" + #include "nsIEHistoryEnumerator.h" #endif -@@ -67,18 +67,16 @@ using namespace mozilla::browser; + #include "rdf.h" + #include "nsFeedSniffer.h" +@@ -65,18 +65,16 @@ using namespace mozilla::browser; ///////////////////////////////////////////////////////////////////////////// @@ -1177,12 +1183,12 @@ #endif #if defined(XP_WIN) && !defined(__MINGW32__) - NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEProfileMigrator) - #elif defined(XP_MACOSX) - NS_GENERIC_FACTORY_CONSTRUCTOR(nsSafariProfileMigrator) + NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEHistoryEnumerator) #endif -@@ -102,17 +100,17 @@ NS_DEFINE_NAMED_CID(NS_SAFARIPROFILEMIGR + NS_GENERIC_FACTORY_CONSTRUCTOR(nsFeedSniffer) + +@@ -97,17 +95,17 @@ NS_DEFINE_NAMED_CID(NS_SHELLSERVICE_CID) #endif NS_DEFINE_NAMED_CID(NS_PRIVATE_BROWSING_SERVICE_WRAPPER_CID); @@ -1197,10 +1203,10 @@ { &kNS_FEEDSNIFFER_CID, false, NULL, nsFeedSnifferConstructor }, { &kNS_BROWSER_ABOUT_REDIRECTOR_CID, false, NULL, AboutRedirector::Create }, #if defined(XP_WIN) && !defined(__MINGW32__) - { &kNS_WINIEPROFILEMIGRATOR_CID, false, NULL, nsIEProfileMigratorConstructor }, + { &kNS_WINIEHISTORYENUMERATOR_CID, false, NULL, nsIEHistoryEnumeratorConstructor }, #elif defined(XP_MACOSX) { &kNS_SHELLSERVICE_CID, false, NULL, nsMacShellServiceConstructor }, - { &kNS_SAFARIPROFILEMIGRATOR_CID, false, NULL, nsSafariProfileMigratorConstructor }, + #endif diff --git a/browser/components/preferences/advanced.js b/browser/components/preferences/advanced.js --- a/browser/components/preferences/advanced.js +++ b/browser/components/preferences/advanced.js @@ -1714,21 +1720,24 @@ diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in --- a/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in -@@ -467,16 +467,17 @@ - #endif - #endif - - ; [Default Preferences] - ; All the pref files must be part of base to prevent migration bugs - @BINPATH@/@PREF_DIR@/firefox.js - @BINPATH@/@PREF_DIR@/firefox-branding.js - @BINPATH@/@PREF_DIR@/channel-prefs.js -+@BINPATH@/@PREF_DIR@/kde.js - #ifdef MOZ_SERVICES_SYNC +@@ -501,18 +501,20 @@ @BINPATH@/@PREF_DIR@/services-sync.js #endif @BINPATH@/greprefs.js @BINPATH@/defaults/autoconfig/platform.js @BINPATH@/defaults/autoconfig/prefcalls.js + #ifndef LIBXUL_SDK + ; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325) + @BINPATH@/defaults/pref/channel-prefs.js ++@BINPATH@/defaults/pref/kde.js + #else + @BINPATH@/@PREF_DIR@/channel-prefs.js ++@BINPATH@/@PREF_DIR@/kde.js + #endif @BINPATH@/defaults/profile/prefs.js + ; [Layout Engine Resources] + ; Style Sheets, Graphics and other Resources used by the layout engine. + @BINPATH@/res/EditorOverride.css + @BINPATH@/res/contenteditable.css + @BINPATH@/res/designmode.css ++++++ firefox-multilocale-chrome.patch ++++++ --- /var/tmp/diff_new_pack.OcauOO/_old 2012-07-20 10:24:27.000000000 +0200 +++ /var/tmp/diff_new_pack.OcauOO/_new 2012-07-20 10:24:27.000000000 +0200 @@ -1,13 +1,13 @@ # HG changeset patch # User Wolfgang Rosenauer <w...@rosenauer.org> -# Parent de9c23d6bfd0b0a30aa3dfc55377658756ec6f70 +# Parent dd43958a61127a39cb7e59ba6118a57b685255e2 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 -@@ -341,16 +341,20 @@ pref("browser.download.manager.scanWhenD - pref("browser.download.manager.resumeOnWakeDelay", 10000); +@@ -356,16 +356,20 @@ pref("browser.download.useToolkitUI", tr + pref("browser.download.panel.removeFinishedDownloads", false); // search engines URL pref("browser.search.searchEnginesURL", "https://addons.mozilla.org/%LOCALE%/firefox/search-engines/"); @@ -95,7 +95,7 @@ diff --git a/browser/locales/jar.mn b/browser/locales/jar.mn --- a/browser/locales/jar.mn +++ b/browser/locales/jar.mn -@@ -97,11 +97,12 @@ +@@ -103,16 +103,17 @@ locale/browser-region/region.properties (%chrome/browser-region/region.properties) # the following files are browser-specific overrides * locale/browser/netError.dtd (%chrome/overrides/netError.dtd) @@ -108,3 +108,8 @@ % locale testpilot @AB_CD@ %locale/feedback/ locale/feedback/main.dtd (%feedback/main.dtd) locale/feedback/main.properties (%feedback/main.properties) + #ifdef MOZ_WEBAPP_RUNTIME + % locale webapprt @AB_CD@ %locale/webapprt/ + locale/webapprt/webapp.dtd (%webapprt/webapp.dtd) + locale/webapprt/webapp.properties (%webapprt/webapp.properties) + #endif ++++++ l10n-13.0.1.tar.bz2 -> l10n-14.0.1.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/MozillaFirefox/l10n-13.0.1.tar.bz2 /work/SRC/openSUSE:Factory/.MozillaFirefox.new/l10n-14.0.1.tar.bz2 differ: char 11, line 1 ++++++ mozilla-crashreporter-restart-args.patch ++++++ # HG changeset patch # User Wolfgang Rosenauer <w...@rosenauer.org> # Parent 0373328cfcb6ad3995f53598e974d61252ddebf4 Bug 762780 - crashreporter restart command should support MOZ_APP_LAUNCHER diff --git a/toolkit/crashreporter/nsExceptionHandler.cpp b/toolkit/crashreporter/nsExceptionHandler.cpp --- a/toolkit/crashreporter/nsExceptionHandler.cpp +++ b/toolkit/crashreporter/nsExceptionHandler.cpp @@ -1353,32 +1353,25 @@ nsresult SetRestartArgs(int argc, char** argv) { if (!gExceptionHandler) return NS_OK; int i; nsCAutoString envVar; char *env; + char *argv1 = getenv("MOZ_APP_LAUNCHER"); for (i = 0; i < argc; i++) { envVar = "MOZ_CRASHREPORTER_RESTART_ARG_"; envVar.AppendInt(i); envVar += "="; -#if defined(XP_UNIX) && !defined(XP_MACOSX) - // we'd like to run the script around the binary - // instead of the binary itself, so remove the -bin - // if it exists on the first argument - int arg_len = 0; - if (i == 0 && - (arg_len = strlen(argv[i])) > 4 && - strcmp(argv[i] + arg_len - 4, "-bin") == 0) { - envVar.Append(argv[i], arg_len - 4); - } else -#endif - { + if (argv1 && i == 0) { + // Is there a request to suppress default binary launcher? + envVar += argv1; + } else { envVar += argv[i]; } // PR_SetEnv() wants the string to be available for the lifetime // of the app, so dup it here env = ToNewCString(envVar); if (!env) return NS_ERROR_OUT_OF_MEMORY; ++++++ mozilla-gcc47.patch ++++++ --- /var/tmp/diff_new_pack.OcauOO/_old 2012-07-20 10:24:27.000000000 +0200 +++ /var/tmp/diff_new_pack.OcauOO/_new 2012-07-20 10:24:27.000000000 +0200 @@ -1,113 +1,14 @@ # HG changeset patch -# Parent 7bc8f0e5bed8cb2212e27228e628861737256459 -Patch to make Mozilla build with gcc 4.7, including -- Bug 734490 - "no viable overloaded 'PRIxPTR'" when building with Clang or GCC 4.7 (TM: Mozilla14) -- Bug 741348 - Work around crashreporter client build failure with gcc 4.7 (TM: Mozilla15) +# User Mike Hommey <mh+mozi...@glandium.org> +# Date 1336991062 -7200 +# Node ID 234d34706ea1a0e9a9d2c61561c4441590712df0 +# Parent 0f2f145158b595f5242bf0d79b2de413373730c1 +Bug 741348 - Work around crashreporter client build failure with gcc 4.7 -diff --git a/layout/base/tests/TestPoisonArea.cpp b/layout/base/tests/TestPoisonArea.cpp ---- a/layout/base/tests/TestPoisonArea.cpp -+++ b/layout/base/tests/TestPoisonArea.cpp -@@ -392,53 +392,53 @@ ReservePoisonArea() - { - if (sizeof(uintptr_t) == 8) { - // Use the hardware-inaccessible region. - // We have to avoid 64-bit constants and shifts by 32 bits, since this - // code is compiled in 32-bit mode, although it is never executed there. - uintptr_t result = (((uintptr_t(0x7FFFFFFFu) << 31) << 1 | - uintptr_t(0xF0DEAFFFu)) & - ~uintptr_t(PAGESIZE-1)); -- printf("INFO | poison area assumed at 0x%.*"PRIxPTR"\n", SIZxPTR, result); -+ printf("INFO | poison area assumed at 0x%.*" PRIxPTR "\n", SIZxPTR, result); - return result; - } else { - // First see if we can allocate the preferred poison address from the OS. - uintptr_t candidate = (0xF0DEAFFF & ~(PAGESIZE-1)); - void *result = ReserveRegion(candidate, false); - if (result == (void *)candidate) { - // success - inaccessible page allocated -- printf("INFO | poison area allocated at 0x%.*"PRIxPTR -+ printf("INFO | poison area allocated at 0x%.*" PRIxPTR - " (preferred addr)\n", SIZxPTR, (uintptr_t)result); - return candidate; - } - - // That didn't work, so see if the preferred address is within a range - // of permanently inacessible memory. - if (ProbeRegion(candidate)) { - // success - selected page cannot be usable memory - if (result != MAP_FAILED) - ReleaseRegion(result); -- printf("INFO | poison area assumed at 0x%.*"PRIxPTR -+ printf("INFO | poison area assumed at 0x%.*" PRIxPTR - " (preferred addr)\n", SIZxPTR, candidate); - return candidate; - } - - // The preferred address is already in use. Did the OS give us a - // consolation prize? - if (result != MAP_FAILED) { -- printf("INFO | poison area allocated at 0x%.*"PRIxPTR -+ printf("INFO | poison area allocated at 0x%.*" PRIxPTR - " (consolation prize)\n", SIZxPTR, (uintptr_t)result); - return (uintptr_t)result; - } - - // It didn't, so try to allocate again, without any constraint on - // the address. - result = ReserveRegion(0, false); - if (result != MAP_FAILED) { -- printf("INFO | poison area allocated at 0x%.*"PRIxPTR -+ printf("INFO | poison area allocated at 0x%.*" PRIxPTR - " (fallback)\n", SIZxPTR, (uintptr_t)result); - return (uintptr_t)result; - } - - printf("ERROR | no usable poison area found\n"); - return 0; - } - } -@@ -450,17 +450,17 @@ static uintptr_t - ReservePositiveControl() - { - - void *result = ReserveRegion(0, false); - if (result == MAP_FAILED) { - printf("ERROR | allocating positive control | %s\n", LastErrMsg()); - return 0; - } -- printf("INFO | positive control allocated at 0x%.*"PRIxPTR"\n", -+ printf("INFO | positive control allocated at 0x%.*" PRIxPTR "\n", - SIZxPTR, (uintptr_t)result); - return (uintptr_t)result; - } - - /* The "negative control" area confirms that our probe logic does detect a - * page that is readable, writable, or executable. - */ - static uintptr_t -@@ -481,17 +481,17 @@ ReserveNegativeControl() - // Now mark it executable as well as readable and writable. - // (mmap(PROT_EXEC) may fail when applied to anonymous memory.) - - if (MakeRegionExecutable(result)) { - printf("ERROR | making negative control executable | %s\n", LastErrMsg()); - return 0; - } - -- printf("INFO | negative control allocated at 0x%.*"PRIxPTR"\n", -+ printf("INFO | negative control allocated at 0x%.*" PRIxPTR "\n", - SIZxPTR, (uintptr_t)result); - return (uintptr_t)result; - } - - static void - JumpTo(uintptr_t opaddr) - { - #ifdef __ia64 diff --git a/toolkit/crashreporter/google-breakpad/src/common/linux/Makefile.in b/toolkit/crashreporter/google-breakpad/src/common/linux/Makefile.in --- a/toolkit/crashreporter/google-breakpad/src/common/linux/Makefile.in +++ b/toolkit/crashreporter/google-breakpad/src/common/linux/Makefile.in -@@ -61,8 +61,11 @@ HOST_CPPSRCS = \ +@@ -65,8 +65,11 @@ HOST_CPPSRCS = \ file_id.cc \ guid_creator.cc \ $(NULL) ++++++ mozilla-kde.patch ++++++ --- /var/tmp/diff_new_pack.OcauOO/_old 2012-07-20 10:24:27.000000000 +0200 +++ /var/tmp/diff_new_pack.OcauOO/_new 2012-07-20 10:24:27.000000000 +0200 @@ -45,7 +45,7 @@ #include "prefapi.h" #include "prefread.h" #include "prefapi_private_data.h" -@@ -937,16 +938,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char +@@ -941,16 +942,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char static nsresult pref_LoadPrefsInDirList(const char *listId) { @@ -80,7 +80,7 @@ return NS_OK; bool hasMore; -@@ -962,17 +981,17 @@ static nsresult pref_LoadPrefsInDirList( +@@ -966,17 +985,17 @@ static nsresult pref_LoadPrefsInDirList( nsCAutoString leaf; path->GetNativeLeafName(leaf); @@ -99,7 +99,7 @@ { nsZipItemPtr<char> manifest(jarReader, name, true); NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE); -@@ -1062,28 +1081,40 @@ static nsresult pref_InitInitialObjects( +@@ -1070,28 +1089,40 @@ static nsresult pref_InitInitialObjects( /* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */ static const char* specialFiles[] = { #if defined(XP_MACOSX) @@ -137,9 +137,9 @@ NS_WARNING("Error parsing application default preferences."); // Load jar:$app/omni.jar!/defaults/preferences/*.js + // or jar:$gre/omni.jar!/defaults/preferences/*.js. nsRefPtr<nsZipArchive> appJarReader = mozilla::Omnijar::GetReader(mozilla::Omnijar::APP); - if (appJarReader) { - rv = appJarReader->FindInit("defaults/preferences/*.js$", &findPtr); + // GetReader(mozilla::Omnijar::APP) returns null when $app == $gre, in which diff --git a/toolkit/components/downloads/Makefile.in b/toolkit/components/downloads/Makefile.in --- a/toolkit/components/downloads/Makefile.in +++ b/toolkit/components/downloads/Makefile.in @@ -179,7 +179,7 @@ #include "AndroidBridge.h" #endif -@@ -2221,16 +2225,25 @@ nsDownload::SetState(DownloadState aStat +@@ -2259,16 +2263,25 @@ nsDownload::SetState(DownloadState aStat nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID)); // Master pref to control this function. @@ -205,7 +205,7 @@ PRInt64 goat = PR_Now() - mStartTime; showTaskbarAlert = goat > alertIntervalUSec; -@@ -2254,19 +2267,20 @@ nsDownload::SetState(DownloadState aStat +@@ -2292,19 +2305,20 @@ nsDownload::SetState(DownloadState aStat // If downloads are automatically removed per the user's // retention policy, there's no reason to make the text clickable // because if it is, they'll click open the download manager and @@ -2192,7 +2192,7 @@ diff --git a/toolkit/xre/Makefile.in b/toolkit/xre/Makefile.in --- a/toolkit/xre/Makefile.in +++ b/toolkit/xre/Makefile.in -@@ -96,17 +96,18 @@ else +@@ -100,17 +100,18 @@ else ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa) CMMSRCS = nsNativeAppSupportCocoa.mm EXPORTS += MacQuirks.h @@ -3755,7 +3755,7 @@ diff --git a/xpcom/io/Makefile.in b/xpcom/io/Makefile.in --- a/xpcom/io/Makefile.in +++ b/xpcom/io/Makefile.in -@@ -188,17 +188,17 @@ include $(topsrcdir)/ipc/chromium/chromi +@@ -189,17 +189,17 @@ include $(topsrcdir)/ipc/chromium/chromi DEFINES += -D_IMPL_NS_COM ifeq ($(OS_ARCH),Linux) @@ -3795,7 +3795,7 @@ #include "prmem.h" #include "plbase64.h" -@@ -1796,44 +1797,51 @@ nsLocalFile::SetPersistentDescriptor(con +@@ -1798,44 +1799,51 @@ nsLocalFile::SetPersistentDescriptor(con return InitWithNativePath(aPersistentDescriptor); #endif } @@ -3861,7 +3861,7 @@ return rv; } return NS_ERROR_FAILURE; -@@ -1859,16 +1867,23 @@ nsLocalFile::Launch() +@@ -1861,16 +1869,23 @@ nsLocalFile::Launch() if (nsnull == connection) return NS_ERROR_FAILURE; ++++++ mozilla-ppc.patch ++++++ # HG changeset patch # Parent 67e6f1e1d06ca3d54cea1d26877c2a68f0c096e5 # User Wolfgang Rosenauer <w...@rosenauer.org> Bug 746112 - RegExp hang on ppc64 in execute. Bug 750620 - Make double-conversion portable to exotic architectures. TM: mozilla15 diff --git a/js/src/yarr/YarrInterpreter.h b/js/src/yarr/YarrInterpreter.h --- a/js/src/yarr/YarrInterpreter.h +++ b/js/src/yarr/YarrInterpreter.h @@ -162,17 +162,17 @@ struct ByteTerm { , m_invert(invert) { atom.characterClass = characterClass; atom.quantityType = QuantifierFixedCount; atom.quantityCount = 1; inputPosition = inputPos; } - ByteTerm(Type type, unsigned subpatternId, ByteDisjunction* parenthesesInfo, bool capture, int inputPos) + ByteTerm(Type type, unsigned subpatternId, ByteDisjunction* parenthesesInfo, bool capture, int inputPos) __attribute__((noinline)) : type(type) , m_capture(capture) , m_invert(false) { atom.subpatternId = subpatternId; atom.parenthesesDisjunction = parenthesesInfo; atom.quantityType = QuantifierFixedCount; atom.quantityCount = 1; @@ -183,17 +183,17 @@ struct ByteTerm { : type(type) , m_capture(false) , m_invert(invert) { atom.quantityType = QuantifierFixedCount; atom.quantityCount = 1; } - ByteTerm(Type type, unsigned subpatternId, bool capture, bool invert, int inputPos) + ByteTerm(Type type, unsigned subpatternId, bool capture, bool invert, int inputPos) __attribute__((noinline)) : type(type) , m_capture(capture) , m_invert(invert) { atom.subpatternId = subpatternId; atom.quantityType = QuantifierFixedCount; atom.quantityCount = 1; inputPosition = inputPos; diff --git a/js/src/yarr/YarrPattern.h b/js/src/yarr/YarrPattern.h --- a/js/src/yarr/YarrPattern.h +++ b/js/src/yarr/YarrPattern.h @@ -166,17 +166,17 @@ struct PatternTerm { , m_capture(false) , m_invert(invert) { characterClass = charClass; quantityType = QuantifierFixedCount; quantityCount = 1; } - PatternTerm(Type type, unsigned subpatternId, PatternDisjunction* disjunction, bool capture = false, bool invert = false) + PatternTerm(Type type, unsigned subpatternId, PatternDisjunction* disjunction, bool capture = false, bool invert = false) __attribute__((noinline)) : type(type) , m_capture(capture) , m_invert(invert) { parentheses.disjunction = disjunction; parentheses.subpatternId = subpatternId; parentheses.isCopy = false; parentheses.isTerminal = false; diff --git a/memory/jemalloc/jemalloc.c b/memory/jemalloc/jemalloc.c --- a/memory/jemalloc/jemalloc.c +++ b/memory/jemalloc/jemalloc.c @@ -1086,17 +1086,19 @@ struct arena_s { static unsigned ncpus; #endif /* * When MALLOC_STATIC_SIZES is defined most of the parameters * controlling the malloc behavior are defined as compile-time constants * for best performance and cannot be altered at runtime. */ +#if !(defined(__powerpc__)) #define MALLOC_STATIC_SIZES 1 +#endif #ifdef MALLOC_STATIC_SIZES /* * VM page size. It must divide the runtime CPU page size or the code * will abort. */ #define pagesize_2pow ((size_t) 12) diff --git a/mfbt/double-conversion/utils.h b/mfbt/double-conversion/utils.h --- a/mfbt/double-conversion/utils.h +++ b/mfbt/double-conversion/utils.h @@ -49,17 +49,18 @@ // evaluate: 89255.0/1e22. If the floating-point stack is 64 bits wide then // the result is equal to 89255e-22. // The best way to test this, is to create a division-function and to compare // the output of the division with the expected result. (Inlining must be // disabled.) // On Linux,x86 89255e-22 != Div_double(89255.0/1e22) #if defined(_M_X64) || defined(__x86_64__) || \ defined(__ARMEL__) || \ - defined(_MIPS_ARCH_MIPS32R2) + defined(_MIPS_ARCH_MIPS32R2) || \ + defined(__powerpc__) || defined(__powerpc64__) #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 #elif defined(_M_IX86) || defined(__i386__) #if defined(_WIN32) // Windows uses a 64bit wide floating point stack. #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 #else #undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS #endif // _WIN32 ++++++ mozilla-prefer_plugin_pref.patch ++++++ --- /var/tmp/diff_new_pack.OcauOO/_old 2012-07-20 10:24:27.000000000 +0200 +++ /var/tmp/diff_new_pack.OcauOO/_new 2012-07-20 10:24:27.000000000 +0200 @@ -4,7 +4,7 @@ diff --git a/dom/plugins/base/nsPluginHost.cpp b/dom/plugins/base/nsPluginHost.cpp --- a/dom/plugins/base/nsPluginHost.cpp +++ b/dom/plugins/base/nsPluginHost.cpp -@@ -1580,17 +1580,48 @@ nsPluginHost::FindPluginForType(const ch +@@ -1561,17 +1561,45 @@ nsPluginHost::FindPluginForType(const ch bool aCheckEnabled) { if (!aMimeType) { @@ -13,18 +13,15 @@ LoadPlugins(); -+ 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; ++ nsAdoptingCString pluginPath = Preferences::GetCString(mimetypePrefChar); ++ preferredPluginPath = (char*) pluginPath.get(); + nsPluginTag *plugin = mPlugins; ++ + if(preferredPluginPath) { + while (nsnull != plugin) { + if (0 == PL_strcasecmp(plugin->mFileName.get(), preferredPluginPath) || ++++++ mozilla-repo.patch ++++++ --- /var/tmp/diff_new_pack.OcauOO/_old 2012-07-20 10:24:27.000000000 +0200 +++ /var/tmp/diff_new_pack.OcauOO/_new 2012-07-20 10:24:27.000000000 +0200 @@ -1,10 +1,10 @@ # HG changeset patch -# Parent 271b5143e89573cbbde51d0b830a6116756a52e6 +# Parent d50497c25f208e4868a386f081edc790a505795c diff --git a/build/Makefile.in b/build/Makefile.in --- a/build/Makefile.in +++ b/build/Makefile.in -@@ -89,17 +89,17 @@ DEFINES += -DMOZ_APP_VERSION="$(MOZ_APP_ +@@ -95,17 +95,17 @@ DEFINES += -DMOZ_APP_VERSION="$(MOZ_APP_ APP_INI_DEPS += $(DEPTH)/config/autoconf.mk MOZ_SOURCE_STAMP := $(firstword $(shell cd $(topsrcdir)/$(MOZ_BUILD_APP)/.. && hg parent --template="{node|short}\n" 2>/dev/null)) @@ -48,7 +48,7 @@ diff --git a/toolkit/mozapps/installer/package-name.mk b/toolkit/mozapps/installer/package-name.mk --- a/toolkit/mozapps/installer/package-name.mk +++ b/toolkit/mozapps/installer/package-name.mk -@@ -161,20 +161,20 @@ SYMBOL_ARCHIVE_BASENAME = $(PKG_BASENAME +@@ -162,20 +162,20 @@ SYMBOL_ARCHIVE_BASENAME = $(PKG_BASENAME TEST_PACKAGE = $(PKG_BASENAME).tests.zip ifneq (,$(wildcard $(DIST)/bin/application.ini)) @@ -74,22 +74,28 @@ diff --git a/toolkit/xre/Makefile.in b/toolkit/xre/Makefile.in --- a/toolkit/xre/Makefile.in +++ b/toolkit/xre/Makefile.in -@@ -229,17 +229,17 @@ DEFINES += -DHAVE_USR_LIB64_DIR - endif - endif +@@ -240,20 +240,20 @@ endif MOZ_SOURCE_STAMP ?= $(firstword $(shell hg -R $(topsrcdir) parent --template="{node|short}\n" 2>/dev/null)) - # strip a trailing slash from the repo URL because it's not always present, - # and we want to construct a working URL in buildconfig.html - # make+shell+sed = awful - _dollar=$$ --SOURCE_REPO := $(shell cd $(topsrcdir) && hg showconfig paths.default 2>/dev/null | head -n1 | sed -e "s/^ssh:/http:/" -e "s/\/$(_dollar)//" ) -+SOURCE_REPO ?= $(shell cd $(topsrcdir) && hg showconfig paths.default 2>/dev/null | head -n1 | sed -e "s/^ssh:/http:/" -e "s/\/$(_dollar)//" ) - ifdef MOZ_SOURCE_STAMP - INIARGS = --sourcestamp=$(MOZ_SOURCE_STAMP) - # extra sanity check for old versions of hg - # that don't support showconfig - ifeq (http,$(patsubst http%,http,$(SOURCE_REPO))) - INIARGS += --sourcerepo=$(SOURCE_REPO) - endif + + INIARGS = --sourcestamp=$(MOZ_SOURCE_STAMP) + + # strip a trailing slash from the repo URL because it's not always present, + # and we want to construct a working URL in buildconfig.html +- SOURCE_REPO := $(firstword $(shell hg --repository $(topsrcdir) showconfig paths.default 2>/dev/null)) +- SOURCE_REPO := $(strip $(SOURCE_REPO)) +- SOURCE_REPO := $(patsubst ssh://%,http://%,$(SOURCE_REPO)) +- SOURCE_REPO := $(patsubst %/,%,$(SOURCE_REPO)) ++ SOURCE_REPO ?= $(firstword $(shell hg --repository $(topsrcdir) showconfig paths.default 2>/dev/null)) ++ SOURCE_REPO ?= $(strip $(SOURCE_REPO)) ++ SOURCE_REPO ?= $(patsubst ssh://%,http://%,$(SOURCE_REPO)) ++ SOURCE_REPO ?= $(patsubst %/,%,$(SOURCE_REPO)) + $(call errorIfEmpty,SOURCE_REPO) + + # extra sanity check for old versions of hg, no showconfig support + ifeq (http,$(patsubst http%,http,$(SOURCE_REPO))) + INIARGS += --sourcerepo=$(SOURCE_REPO) + endif + + endif # MOZ_SOURCE_STAMP ++++++ mozilla-shared-nss-db.patch ++++++ --- /var/tmp/diff_new_pack.OcauOO/_old 2012-07-20 10:24:27.000000000 +0200 +++ /var/tmp/diff_new_pack.OcauOO/_new 2012-07-20 10:24:27.000000000 +0200 @@ -7,10 +7,10 @@ diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in --- a/config/autoconf.mk.in +++ b/config/autoconf.mk.in -@@ -581,16 +581,20 @@ MOZ_LIBNOTIFY_LIBS = @MOZ_LIBNOTIFY_LIBS - MOZ_ENABLE_LIBNOTIFY = @MOZ_ENABLE_LIBNOTIFY@ +@@ -590,16 +590,20 @@ MOZ_ENABLE_LIBNOTIFY = @MOZ_ENABLE_LIBNO MOZ_ALSA_LIBS = @MOZ_ALSA_LIBS@ + MOZ_ALSA_CFLAGS = @MOZ_ALSA_CFLAGS@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ @@ -31,7 +31,7 @@ diff --git a/configure.in b/configure.in --- a/configure.in +++ b/configure.in -@@ -8213,16 +8213,31 @@ AC_SUBST(QCMS_LIBS) +@@ -8180,16 +8180,31 @@ AC_SUBST(QCMS_LIBS) dnl ======================================================== dnl HarfBuzz @@ -66,7 +66,7 @@ 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 -@@ -118,12 +118,14 @@ EXTRA_DEPS = $(NSS_DEP_LIBS) +@@ -119,12 +119,14 @@ EXTRA_DEPS = $(NSS_DEP_LIBS) DEFINES += \ -DNSS_ENABLE_ECC \ -DDLL_PREFIX=\"$(DLL_PREFIX)\" \ @@ -109,7 +109,7 @@ #include "nsNetUtil.h" #include "nsAppDirectoryServiceDefs.h" #include "nsDirectoryService.h" -@@ -1733,18 +1740,34 @@ nsNSSComponent::InitializeNSS(bool showW +@@ -1776,18 +1783,34 @@ nsNSSComponent::InitializeNSS(bool showW ConfigureInternalPKCS11Token(); // The NSS_INIT_NOROOTINIT flag turns off the loading of the root certs @@ -149,7 +149,7 @@ diff --git a/toolkit/library/Makefile.in b/toolkit/library/Makefile.in --- a/toolkit/library/Makefile.in +++ b/toolkit/library/Makefile.in -@@ -471,17 +471,17 @@ EXTRA_DSO_LDOPTS += -INCREMENTAL:NO +@@ -439,17 +439,17 @@ EXTRA_DSO_LDOPTS += -INCREMENTAL:NO endif endif endif ++++++ mozilla-yarr-pcre.patch ++++++ --- /var/tmp/diff_new_pack.OcauOO/_old 2012-07-20 10:24:27.000000000 +0200 +++ /var/tmp/diff_new_pack.OcauOO/_new 2012-07-20 10:24:27.000000000 +0200 @@ -1,15 +1,21 @@ +# HG changeset patch +# Parent 831eeca7b7cfa9ae2458d9efafe168027259965f +# User Landry Breuil <lan...@openbsd.org> +Bug 691898 - Use YARR regexp interpreter instead of PCRE on platforms where YARR JIT is not supported r=dmandelin +PCRE doesn't build anyway. + diff --git a/js/src/Makefile.in b/js/src/Makefile.in --- a/js/src/Makefile.in +++ b/js/src/Makefile.in -@@ -332,30 +332,33 @@ CPPSRCS += checks.cc \ - platform.cc \ - utils.cc \ - $(NONE) - +@@ -315,30 +315,33 @@ ifeq (mips, $(findstring mips,$(TARGET_C + CPPSRCS += TrampolineMIPS.cpp + endif # - # END enclude sources for V8 dtoa + # END enclude sources for the method JIT ############################################# + endif + -# For architectures without YARR JIT, PCRE is faster than the YARR -# interpreter (bug 684559). - @@ -70,7 +76,7 @@ diff --git a/js/src/vm/RegExpObject-inl.h b/js/src/vm/RegExpObject-inl.h --- a/js/src/vm/RegExpObject-inl.h +++ b/js/src/vm/RegExpObject-inl.h -@@ -132,16 +132,17 @@ RegExpObject::setMultiline(bool enabled) +@@ -132,26 +132,28 @@ RegExpObject::setMultiline(bool enabled) } inline void @@ -88,10 +94,21 @@ return cx->methodJitEnabled; #else return true; + #endif + } ++#endif + + inline bool + RegExpToShared(JSContext *cx, JSObject &obj, RegExpGuard *g) + { + JS_ASSERT(ObjectClassIs(obj, ESClass_RegExp, cx)); + if (obj.isRegExp()) + return obj.asRegExp().getShared(cx, g); + return Proxy::regexp_toShared(cx, &obj, g); diff --git a/js/src/vm/RegExpObject.cpp b/js/src/vm/RegExpObject.cpp --- a/js/src/vm/RegExpObject.cpp +++ b/js/src/vm/RegExpObject.cpp -@@ -162,17 +162,16 @@ MatchPairs::checkAgainst(size_t inputLen +@@ -163,17 +163,16 @@ MatchPairs::checkAgainst(size_t inputLen continue; JS_ASSERT(size_t(p.limit) <= inputLength); } @@ -109,7 +126,7 @@ JS_NOT_REACHED("Called reportYarrError with value for no error"); return; #define COMPILE_EMSG(__code, __msg) \ -@@ -194,52 +193,16 @@ RegExpCode::reportYarrError(JSContext *c +@@ -195,73 +194,36 @@ RegExpCode::reportYarrError(JSContext *c COMPILE_EMSG(QuantifierTooLarge, JSMSG_BAD_QUANTIFIER); COMPILE_EMSG(EscapeUnterminated, JSMSG_TRAILING_SLASH); #undef COMPILE_EMSG @@ -157,16 +174,100 @@ bool RegExpCode::compile(JSContext *cx, JSLinearString &pattern, unsigned *parenCount, RegExpFlag flags) { - #if ENABLE_YARR_JIT +-#if ENABLE_YARR_JIT /* Parse the pattern. */ ErrorCode yarrError; YarrPattern yarrPattern(pattern, bool(flags & IgnoreCaseFlag), bool(flags & MultilineFlag), &yarrError); + if (yarrError) { + reportYarrError(cx, NULL, yarrError); + return false; + } + *parenCount = yarrPattern.m_numSubpatterns; + + /* + * The YARR JIT compiler attempts to compile the parsed pattern. If + * it cannot, it informs us via |codeBlock.isFallBack()|, in which + * case we have to bytecode compile it. + */ + +-#ifdef JS_METHODJIT ++#if ENABLE_YARR_JIT && defined(JS_METHODJIT) + if (isJITRuntimeEnabled(cx) && !yarrPattern.m_containsBackreferences) { + JSC::ExecutableAllocator *execAlloc = cx->runtime->getExecutableAllocator(cx); + if (!execAlloc) { + js_ReportOutOfMemory(cx); + return false; + } + + JSGlobalData globalData(execAlloc); +@@ -272,58 +234,41 @@ RegExpCode::compile(JSContext *cx, JSLin + #endif + + WTF::BumpPointerAllocator *bumpAlloc = cx->runtime->getBumpPointerAllocator(cx); + if (!bumpAlloc) { + js_ReportOutOfMemory(cx); + return false; + } + ++#if ENABLE_YARR_JIT + codeBlock.setFallBack(true); ++#endif + byteCode = byteCompile(yarrPattern, bumpAlloc).get(); + return true; +-#else /* !defined(ENABLE_YARR_JIT) */ +- int error = 0; +- compiled = jsRegExpCompile(pattern.chars(), pattern.length(), +- ignoreCase() ? JSRegExpIgnoreCase : JSRegExpDoNotIgnoreCase, +- multiline() ? JSRegExpMultiline : JSRegExpSingleLine, +- parenCount, &error); +- if (error) { +- reportPCREError(cx, error); +- return false; +- } +- return true; +-#endif + } + + RegExpRunStatus + RegExpCode::execute(JSContext *cx, const jschar *chars, size_t length, size_t start, + int *output, size_t outputCount) + { + int result; + #if ENABLE_YARR_JIT + (void) cx; /* Unused. */ + if (codeBlock.isFallBack()) + result = JSC::Yarr::interpret(byteCode, chars, start, length, output); + else + result = JSC::Yarr::execute(codeBlock, chars, start, length, output); + #else +- result = jsRegExpExecute(cx, compiled, chars, length, start, output, outputCount); ++ result = JSC::Yarr::interpret(byteCode, chars, start, length, output); + #endif + + if (result == -1) + return RegExpRunStatus_Success_NotFound; + +-#if !ENABLE_YARR_JIT +- if (result < 0) { +- reportPCREError(cx, result); +- return RegExpRunStatus_Error; +- } +-#endif +- + JS_ASSERT(result >= 0); + return RegExpRunStatus_Success; + } + + /* RegExpObject */ + + static void + regexp_trace(JSTracer *trc, JSObject *obj) diff --git a/js/src/vm/RegExpObject.h b/js/src/vm/RegExpObject.h --- a/js/src/vm/RegExpObject.h +++ b/js/src/vm/RegExpObject.h -@@ -46,20 +46,18 @@ - #include <stddef.h> +@@ -47,20 +47,18 @@ + #include "jscntxt.h" #include "jsobj.h" #include "js/TemplateLib.h" @@ -187,6 +288,91 @@ * * RegExpObject - The JS-visible object whose .[[Class]] equals "RegExp" * +@@ -108,78 +106,61 @@ class RegExpObjectBuilder + + JSObject * + CloneRegExpObject(JSContext *cx, JSObject *obj, JSObject *proto); + + namespace detail { + + class RegExpCode + { +-#if ENABLE_YARR_JIT + typedef JSC::Yarr::BytecodePattern BytecodePattern; + typedef JSC::Yarr::ErrorCode ErrorCode; ++ typedef JSC::Yarr::YarrPattern YarrPattern; ++#if ENABLE_YARR_JIT + typedef JSC::Yarr::JSGlobalData JSGlobalData; + typedef JSC::Yarr::YarrCodeBlock YarrCodeBlock; +- typedef JSC::Yarr::YarrPattern YarrPattern; + + /* Note: Native code is valid only if |codeBlock.isFallBack() == false|. */ + YarrCodeBlock codeBlock; ++#endif + BytecodePattern *byteCode; +-#else +- JSRegExp *compiled; +-#endif + + public: + RegExpCode() + : + #if ENABLE_YARR_JIT + codeBlock(), ++#endif + byteCode(NULL) +-#else +- compiled(NULL) +-#endif + { } + + ~RegExpCode() { + #if ENABLE_YARR_JIT + codeBlock.release(); ++#endif + if (byteCode) + Foreground::delete_<BytecodePattern>(byteCode); +-#else +- if (compiled) +- jsRegExpFree(compiled); +-#endif + } + + static bool checkSyntax(JSContext *cx, TokenStream *tokenStream, JSLinearString *source) { +-#if ENABLE_YARR_JIT + ErrorCode error = JSC::Yarr::checkSyntax(*source); + if (error == JSC::Yarr::NoError) + return true; + + reportYarrError(cx, tokenStream, error); + return false; +-#else +-# error "Syntax checking not implemented for !ENABLE_YARR_JIT" +-#endif + } + + #if ENABLE_YARR_JIT + static inline bool isJITRuntimeEnabled(JSContext *cx); ++#endif + static void reportYarrError(JSContext *cx, TokenStream *ts, JSC::Yarr::ErrorCode error); +-#else +- static void reportPCREError(JSContext *cx, int error); +-#endif + + static size_t getOutputSize(size_t pairCount) { +-#if ENABLE_YARR_JIT + return pairCount * 2; +-#else +- return pairCount * 3; /* Should be x2, but PCRE has... needs. */ +-#endif + } + + bool compile(JSContext *cx, JSLinearString &pattern, unsigned *parenCount, RegExpFlag flags); + + + RegExpRunStatus + execute(JSContext *cx, const jschar *chars, size_t length, size_t start, + int *output, size_t outputCount); diff --git a/js/src/yarr/wtfbridge.h b/js/src/yarr/wtfbridge.h --- a/js/src/yarr/wtfbridge.h +++ b/js/src/yarr/wtfbridge.h ++++++ mozilla.sh.in ++++++ --- /var/tmp/diff_new_pack.OcauOO/_old 2012-07-20 10:24:27.000000000 +0200 +++ /var/tmp/diff_new_pack.OcauOO/_new 2012-07-20 10:24:27.000000000 +0200 @@ -57,7 +57,7 @@ MOZ_DIST_BIN="%PREFIX" MOZ_DIST_LIB="%PROGDIR" MOZ_APPNAME="%APPNAME" -MOZ_PROGRAM="$MOZ_DIST_LIB/$MOZ_APPNAME-bin" +MOZ_PROGRAM="$MOZ_DIST_LIB/$MOZ_APPNAME" MOZ_APP_LAUNCHER="$MOZ_DIST_LIB/$MOZ_APPNAME.sh" if [ "$0" = "$MOZ_APP_LAUNCHER" ]; then @@ -133,10 +133,7 @@ trap " [ -f \"$tmpfile\" ] && /bin/rm -f -- \"$tmpfile\"" 0 1 2 3 13 15 echo -e "set args ${1+"$@"}\nrun" > $tmpfile echo "$moz_debugger $MOZ_PROGRAM -x $tmpfile" - $moz_debugger "$MOZ_PROGRAM" -x $tmpfile + exec $moz_debugger "$MOZ_PROGRAM" -x $tmpfile else - $MOZ_PROGRAM "$@" + exec $MOZ_PROGRAM "$@" fi -exitcode=$? - -exit $exitcode ++++++ source-stamp.txt ++++++ --- /var/tmp/diff_new_pack.OcauOO/_old 2012-07-20 10:24:27.000000000 +0200 +++ /var/tmp/diff_new_pack.OcauOO/_new 2012-07-20 10:24:27.000000000 +0200 @@ -1,2 +1,2 @@ -REV=f48d675ffa9f +REV=e5728a4e106c REPO=http://hg.mozilla.org/releases/mozilla-release -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org