Hello community, here is the log from the commit of package seamonkey.1844 for openSUSE:12.2:Update checked in at 2013-07-11 08:29:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:12.2:Update/seamonkey.1844 (Old) and /work/SRC/openSUSE:12.2:Update/.seamonkey.1844.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "seamonkey.1844" Changes: -------- New Changes file: --- /dev/null 2013-07-10 19:42:08.835707958 +0200 +++ /work/SRC/openSUSE:12.2:Update/.seamonkey.1844.new/seamonkey.changes 2013-07-11 08:29:45.000000000 +0200 @@ -0,0 +1,2818 @@ +------------------------------------------------------------------- +Sat Jun 29 14:22:45 UTC 2013 - w...@rosenauer.org + +- update to SeaMonkey 2.19 (bnc#825935) + * removed obsolete patches + + mozilla-gstreamer-760140.patch + * GStreamer support does not build on 12.1 anymore (build only + on 12.2 and later) + * MFSA 2013-49/CVE-2013-1682/CVE-2013-1683 + Miscellaneous memory safety hazards + * MFSA 2013-50/CVE-2013-1684/CVE-2013-1685/CVE-2013-1686 + Memory corruption found using Address Sanitizer + * MFSA 2013-51/CVE-2013-1687 (bmo#863933, bmo#866823) + Privileged content access and execution via XBL + * MFSA 2013-52/CVE-2013-1688 (bmo#873966) + Arbitrary code execution within Profiler + * MFSA 2013-53/CVE-2013-1690 (bmo#857883) + Execution of unmapped memory through onreadystatechange event + * MFSA 2013-54/CVE-2013-1692 (bmo#866915) + Data in the body of XHR HEAD requests leads to CSRF attacks + * MFSA 2013-55/CVE-2013-1693 (bmo#711043) + SVG filters can lead to information disclosure + * MFSA 2013-56/CVE-2013-1694 (bmo#848535) + PreserveWrapper has inconsistent behavior + * MFSA 2013-57/CVE-2013-1695 (bmo#849791) + Sandbox restrictions not applied to nested frame elements + * MFSA 2013-58/CVE-2013-1696 (bmo#761667) + X-Frame-Options ignored when using server push with multi-part + responses + * MFSA 2013-59/CVE-2013-1697 (bmo#858101) + XrayWrappers can be bypassed to run user defined methods in a + privileged context + * MFSA 2013-60/CVE-2013-1698 (bmo#876044) + getUserMedia permission dialog incorrectly displays location + * MFSA 2013-61/CVE-2013-1699 (bmo#840882) + Homograph domain spoofing in .com, .net and .name + +------------------------------------------------------------------- +Tue May 28 20:52:21 UTC 2013 - w...@rosenauer.org + +- update to SeaMonkey 2.17.1 + +------------------------------------------------------------------- +Tue Apr 9 06:45:05 UTC 2013 - w...@rosenauer.org + +- revert to use GStreamer 0.10 on 12.3 (bnc#814101) + +------------------------------------------------------------------- +Tue Apr 2 14:18:30 UTC 2013 - w...@rosenauer.org + +- update to SeaMonkey 2.17 (bnc#813026) + * requires NSPR 4.9.5 and NSS 3.14.3 + * mozilla-webrtc-ppc.patch included upstream + * MFSA 2013-30/CVE-2013-0788/CVE-2013-0789 + Miscellaneous memory safety hazards + * MFSA 2013-31/CVE-2013-0800 (bmo#825721) + Out-of-bounds write in Cairo library + * MFSA 2013-35/CVE-2013-0796 (bmo#827106) + WebGL crash with Mesa graphics driver on Linux + * MFSA 2013-36/CVE-2013-0795 (bmo#825697) + Bypass of SOW protections allows cloning of protected nodes + * MFSA 2013-37/CVE-2013-0794 (bmo#626775) + Bypass of tab-modal dialog origin disclosure + * MFSA 2013-38/CVE-2013-0793 (bmo#803870) + Cross-site scripting (XSS) using timed history navigations + * MFSA 2013-39/CVE-2013-0792 (bmo#722831) + Memory corruption while rendering grayscale PNG images +- use GStreamer 1.0 starting with 12.3 (mozilla-gstreamer-1.patch) + +------------------------------------------------------------------- +Fri Mar 15 17:34:54 UTC 2013 - pce...@suse.com + +- update to SeaMonkey 2.16.2 + +------------------------------------------------------------------- +Sat Mar 9 09:15:53 UTC 2013 - w...@rosenauer.org + +- update to SeaMonkey 2.16.1 (bnc#808243) + * MFSA 2013-29/CVE-2013-0787 (bmo#848644) + Use-after-free in HTML Editor + +------------------------------------------------------------------- +Mon Feb 18 07:41:44 UTC 2013 - w...@rosenauer.org + +- update to SeaMonkey 2.16 (bnc#804248) + * MFSA 2013-21/CVE-2013-0783/2013-0784 + Miscellaneous memory safety hazards + * MFSA 2013-22/CVE-2013-0772 (bmo#801366) + Out-of-bounds read in image rendering + * MFSA 2013-23/CVE-2013-0765 (bmo#830614) + Wrapped WebIDL objects can be wrapped again + * MFSA 2013-24/CVE-2013-0773 (bmo#809652) + Web content bypass of COW and SOW security wrappers + * MFSA 2013-25/CVE-2013-0774 (bmo#827193) + Privacy leak in JavaScript Workers + * MFSA 2013-26/CVE-2013-0775 (bmo#831095) + Use-after-free in nsImageLoadingContent + * MFSA 2013-27/CVE-2013-0776 (bmo#796475) + Phishing on HTTPS connection through malicious proxy + * MFSA 2013-28/CVE-2013-0780/CVE-2013-0782/CVE-2013-0777/ + CVE-2013-0778/CVE-2013-0779/CVE-2013-0781 + Use-after-free, out of bounds read, and buffer overflow issues + found using Address Sanitizer +- removed obsolete patches + * mozilla-webrtc.patch + * mozilla-gstreamer-803287.patch + +------------------------------------------------------------------- +Mon Feb 4 12:27:38 UTC 2013 - w...@rosenauer.org + +- update to SeaMonkey 2.15.2 + * Applications could not be removed from the "Application details" + dialog under Preferences, Helper Applications (bmo#826771). + * View / Message Body As could show menu items out of context + (bmo#831348) + +------------------------------------------------------------------- +Sun Jan 20 09:15:53 UTC 2013 - w...@rosenauer.org + +- update to SeaMonkey 2.15.1 + * backed out bmo#677092 (removed patch) + * fixed problems involving HTTP proxy transactions + +------------------------------------------------------------------- +Sun Jan 13 16:38:35 UTC 2013 - w...@rosenauer.org + +- backed out restartless language packs as it broke multi-locale + setup (bmo#677092, bmo#818468) + +------------------------------------------------------------------- +Tue Jan 8 18:32:43 UTC 2013 - w...@rosenauer.org + +- update to SeaMonkey 2.15 (bnc#796895) + * MFSA 2013-01/CVE-2013-0749/CVE-2013-0769/CVE-2013-0770 + Miscellaneous memory safety hazards + * MFSA 2013-02/CVE-2013-0760/CVE-2013-0762/CVE-2013-0766/CVE-2013-0767 + CVE-2013-0761/CVE-2013-0763/CVE-2013-0771/CVE-2012-5829 + Use-after-free and buffer overflow issues found using Address Sanitizer + * MFSA 2013-03/CVE-2013-0768 (bmo#815795) + Buffer Overflow in Canvas + * MFSA 2013-04/CVE-2012-0759 (bmo#802026) + URL spoofing in addressbar during page loads + * MFSA 2013-05/CVE-2013-0744 (bmo#814713) + Use-after-free when displaying table with many columns and column groups + * MFSA 2013-06/CVE-2013-0751 (bmo#790454) + Touch events are shared across iframes + * MFSA 2013-07/CVE-2013-0764 (bmo#804237) + Crash due to handling of SSL on threads + * MFSA 2013-08/CVE-2013-0745 (bmo#794158) + AutoWrapperChanger fails to keep objects alive during garbage collection + * MFSA 2013-09/CVE-2013-0746 (bmo#816842) + Compartment mismatch with quickstubs returned values + * MFSA 2013-10/CVE-2013-0747 (bmo#733305) + Event manipulation in plugin handler to bypass same-origin policy + * MFSA 2013-11/CVE-2013-0748 (bmo#806031) + Address space layout leaked in XBL objects + * MFSA 2013-12/CVE-2013-0750 (bmo#805121) + Buffer overflow in Javascript string concatenation + * MFSA 2013-13/CVE-2013-0752 (bmo#805024) + Memory corruption in XBL with XML bindings containing SVG + * MFSA 2013-14/CVE-2013-0757 (bmo#813901) + Chrome Object Wrapper (COW) bypass through changing prototype + * MFSA 2013-15/CVE-2013-0758 (bmo#813906) + Privilege escalation through plugin objects + * MFSA 2013-16/CVE-2013-0753 (bmo#814001) + Use-after-free in serializeToStream + * MFSA 2013-17/CVE-2013-0754 (bmo#814026) + Use-after-free in ListenerManager + * MFSA 2013-18/CVE-2013-0755 (bmo#814027) + Use-after-free in Vibrate + * MFSA 2013-19/CVE-2013-0756 (bmo#814029) + Use-after-free in Javascript Proxy objects +- requires NSS 3.14.1 (MFSA 2013-20, CVE-2013-0743) +- reenable WebRTC +- added mozilla-libproxy-compat.patch for libproxy API compat + on openSUSE 11.2 and earlier + +------------------------------------------------------------------- +Tue Dec 18 13:08:40 UTC 2012 - w...@rosenauer.org + +- update to SeaMonkey 2.14.1 + * fix regressions from 2.14 release + +------------------------------------------------------------------- +Tue Nov 20 20:44:06 UTC 2012 - w...@rosenauer.org + +- update to SeaMonkey 2.14 (bnc#790140) + * MFSA 2012-91/CVE-2012-5842/CVE-2012-5843 + Miscellaneous memory safety hazards + * MFSA 2012-92/CVE-2012-4202 (bmo#758200) + Buffer overflow while rendering GIF images + * MFSA 2012-93/CVE-2012-4201 (bmo#747607) + evalInSanbox location context incorrectly applied + * MFSA 2012-94/CVE-2012-5836 (bmo#792857) + Crash when combining SVG text on path with CSS + * MFSA 2012-96/CVE-2012-4204 (bmo#778603) + Memory corruption in str_unescape ++++ 2621 more lines (skipped) ++++ between /dev/null ++++ and /work/SRC/openSUSE:12.2:Update/.seamonkey.1844.new/seamonkey.changes New: ---- _constraints add-plugins.sh.in compare-locales.tar.bz2 create-tar.sh find-external-requires.sh l10n-2.19.tar.bz2 mozilla-language.patch mozilla-libproxy-compat.patch mozilla-nongnome-proxies.patch mozilla-ntlm-full-path.patch mozilla-ppc.patch mozilla-prefer_plugin_pref.patch mozilla-shared-nss-db.patch mozilla-sle11.patch mozilla-ua-locale.patch mozilla.sh.in seamonkey-2.19-source.tar.bz2 seamonkey-desktop.tar.bz2 seamonkey-rpmlintrc seamonkey-shared-nss-db.patch seamonkey-ua-locale.patch seamonkey.changes seamonkey.spec search-addons.tar.bz2 suse-default-prefs.js ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ seamonkey.spec ++++++ # # spec file for package seamonkey # # Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # 2006-2013 Wolfgang Rosenauer # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %if %suse_version > 1220 %define gstreamer_ver 0.10 %else %define gstreamer_ver 0.10 %endif Name: seamonkey BuildRequires: Mesa-devel BuildRequires: autoconf213 BuildRequires: dbus-1-glib-devel BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: hunspell-devel BuildRequires: libgnomeui-devel BuildRequires: libidl-devel BuildRequires: libnotify-devel BuildRequires: nss-shared-helper-devel BuildRequires: python BuildRequires: startup-notification-devel BuildRequires: unzip BuildRequires: update-desktop-files BuildRequires: xorg-x11-libXt-devel BuildRequires: yasm BuildRequires: zip %if %suse_version > 1110 BuildRequires: libiw-devel BuildRequires: libproxy-devel %else BuildRequires: wireless-tools %endif %if %suse_version > 1210 BuildRequires: pkgconfig(gstreamer-%gstreamer_ver) BuildRequires: pkgconfig(gstreamer-app-%gstreamer_ver) BuildRequires: pkgconfig(gstreamer-plugins-base-%gstreamer_ver) %endif Provides: web_browser Provides: browser(npapi) Version: 2.19 Release: 0 %define releasedate 2013062900 Summary: The successor of the Mozilla Application Suite License: MPL-2.0 Group: Productivity/Networking/Web/Browsers Url: http://www.mozilla.org/projects/seamonkey Source: seamonkey-%{version}-source.tar.bz2 Source1: seamonkey-desktop.tar.bz2 Source2: add-plugins.sh.in Source3: mozilla.sh.in Source4: suse-default-prefs.js Source5: l10n-%{version}.tar.bz2 Source6: search-addons.tar.bz2 Source7: seamonkey-rpmlintrc Source8: find-external-requires.sh Source9: create-tar.sh Source10: compare-locales.tar.bz2 Patch1: mozilla-nongnome-proxies.patch Patch2: mozilla-prefer_plugin_pref.patch Patch3: mozilla-shared-nss-db.patch Patch4: mozilla-sle11.patch Patch5: mozilla-language.patch Patch7: mozilla-ntlm-full-path.patch Patch8: mozilla-ua-locale.patch Patch9: mozilla-ppc.patch Patch12: mozilla-libproxy-compat.patch Patch20: seamonkey-ua-locale.patch Patch21: seamonkey-shared-nss-db.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: /bin/sh coreutils Provides: seamonkey-mail = %{version} Obsoletes: seamonkey-mail <= 2.0 Provides: seamonkey-spellchecker = %{version} Obsoletes: seamonkey-spellchecker <= 2.0 %define progname %{name} %define prefix /usr %define progdir %_libdir/%{progname} %define libgssapi libgssapi_krb5.so.2 ### build options %define has_system_cairo 0 %define localize 1 ### build options end %define _use_internal_dependency_generator 0 %define __find_requires sh %{SOURCE8} %global provfind sh -c "grep -v '.so' | %__find_provides" %global __find_provides %provfind # the following conditions are always met in Factory by definition # so using %opensuse_bs is secure for now BuildRequires: mozilla-nspr-devel PreReq: mozilla-nspr >= %(rpm -q --queryformat '%{VERSION}' mozilla-nspr) BuildRequires: mozilla-nss-devel >= 3.14.3 PreReq: mozilla-nss >= %(rpm -q --queryformat '%{VERSION}' mozilla-nss) %description Originally based on the Netscape Communicator source, the SeaMonkey project grew to be the most advanced web browser currently available. It supports new techniques like CSS2, MathML, SVG, XML, transparent PNGs, and its look is fully theme-able. %package irc Summary: IRC for SeaMonkey Group: Productivity/Networking/IRC PreReq: %{name} = %{version} %description irc An IRC Client (Chatzilla) for SeaMonkey. %package venkman Summary: The SeaMonkey JavaScript Debugger Group: Development/Tools/Debuggers PreReq: %{name} = %{version} %description venkman A javascript debugger for the SeaMonkey web browser. %package dom-inspector Summary: The SeaMonkey DOM Inspector Group: Development/Tools/Navigators PreReq: %{name} = %{version} %description dom-inspector This is a tool that allows you to inspect the DOM for web pages in SeaMonkey. This is of great use to people who are doing SeaMonkey chrome development or web page development. %if %localize %package translations-common Summary: Common translations for SeaMonkey Group: System/Localization Provides: locale(%{name}:ca;cs;de;en_GB;es_AR;es_ES;fi;fr;hu;it;ja;nb_NO;nl;pl;pt_PT;ru;sv_SE;zh_CN) PreReq: %{name} = %{version} %description translations-common This package contains several optional languages for the user interface of SeaMonkey. %package translations-other Summary: Extra translations for SeaMonkey Group: System/Localization Provides: locale(%{name}:be;gl;lt;sk;tr;uk) PreReq: %{name} = %{version} %description translations-other This package contains several optional languages for the user interface of SeaMonkey. %endif %prep %if %localize %setup -n seamonkey -b 1 -b 5 -b 10 -q %else %setup -n seamonkey -b 1 -q %endif # mozilla patches pushd mozilla %patch1 -p1 %patch2 -p1 %patch3 -p1 %if %suse_version < 1120 %patch4 -p1 %endif %patch5 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch12 -p1 popd # comm patches %patch20 -p1 %patch21 -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" {} + # export SUSE_ASNEEDED=0 export MOZ_BUILD_DATE=%{releasedate} export MOZILLA_OFFICIAL=1 export BUILD_OFFICIAL=1 export CFLAGS="$RPM_OPT_FLAGS -Os -fno-strict-aliasing" export CXXFLAGS="$CFLAGS" export MOZCONFIG=$RPM_BUILD_DIR/mozconfig # cat << EOF > $MOZCONFIG mk_add_options MOZILLA_OFFICIAL=1 mk_add_options BUILD_OFFICIAL=1 mk_add_options MOZ_MILESTONE_RELEASE=1 mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs} mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj ac_add_options --enable-application=suite ac_add_options --libdir=%{progdir} ac_add_options --prefix=%{prefix} %if %localize ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n %endif ac_add_options --disable-tests ac_add_options --enable-optimize ac_add_options --disable-debug --disable-dtd-debug ac_add_options --enable-libxul ac_add_options --with-system-nspr ac_add_options --with-system-nss ac_add_options --with-system-zlib #ac_add_options --with-system-jpeg # ac_add_options--with-system-png # no apng support ac_add_options --enable-ldap-experimental ac_add_options --disable-installer ac_add_options --disable-mochitest ac_add_options --disable-crashreporter ac_add_options --disable-updater ac_add_options --enable-startup-notification ac_add_options --enable-system-hunspell #ac_add_options --enable-system-mozldap %if %has_system_cairo ac_add_options --enable-system-cairo %endif %if %suse_version > 1110 ac_add_options --enable-libproxy %endif %if %suse_version > 1210 ac_add_options --enable-gstreamer %endif EOF make -f client.mk build # %install cd ../obj make -C suite/installer STRIP=/bin/true MOZ_PKG_FATAL_WARNINGS=0 # copy tree into RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{progdir} cp -rf $RPM_BUILD_DIR/obj/mozilla/dist/seamonkey/* $RPM_BUILD_ROOT%{progdir} # remove some executable permissions find $RPM_BUILD_ROOT%{progdir} \ -name "*.js" -o \ -name "*.jsm" -o \ -name "*.rdf" -o \ -name "*.properties" -o \ -name "*.dtd" -o \ -name "*.txt" -o \ -name "*.xml" -o \ -name "*.css" \ | xargs chmod a-x # remove mkdir.done files from installed base find $RPM_BUILD_ROOT%{progdir} -name ".mkdir.done" | xargs rm -f %if %localize rm -f %{_tmppath}/translations.* touch %{_tmppath}/translations.{common,other} for locale in $(awk '{ print $1; }' ../seamonkey/suite/locales/shipped-locales); do case $locale in ja-JP-mac|en-US|gl) ;; *) pushd $RPM_BUILD_DIR/compare-locales PYTHONPATH=lib \ scripts/compare-locales \ -m ../l10n-merged/$locale \ ../seamonkey/suite/locales/l10n-moz2.0.ini ../l10n $locale popd LOCALE_MERGEDIR=$RPM_BUILD_DIR/l10n-merged/$locale \ make -C suite/locales langpack-$locale || continue cp -rL mozilla/dist/xpi-stage/locale-$locale \ $RPM_BUILD_ROOT%{progdir}/extensions/langpack-$loc...@seamonkey.mozilla.org rm $RPM_BUILD_ROOT%{progdir}/extensions/langpack-$loc...@seamonkey.mozilla.org/chrome/.mkdir.done # remove prefs and profile defaults from langpack rm -rf $RPM_BUILD_ROOT%{progdir}/extensions/langpack-$loc...@seamonkey.mozilla.org/defaults # check against the fixed common list and sort into the right filelist _matched=0 for _match in \ ar ca cs da de en-GB es-AR es-CL es-ES fi fr hu it ja ko nb-NO nl pl pt-BR pt-PT ru sv-SE zh-CN zh-TW; do [ "$_match" = "$locale" ] && _matched=1 done [ $_matched -eq 1 ] && _l10ntarget=common || _l10ntarget=other echo %{progdir}/extensions/langpack-$loc...@seamonkey.mozilla.org \ >> %{_tmppath}/translations.$_l10ntarget ;; esac done %endif # overwrite the mozilla start-script and link it to /usr/bin mkdir --parents $RPM_BUILD_ROOT%{_bindir} sed "s:%%PREFIX:%{prefix}:g s:%%PROGDIR:%{progdir}:g s:%%APPNAME:seamonkey:g" \ %{SOURCE3} > $RPM_BUILD_ROOT%{progdir}/%{progname}.sh chmod 755 $RPM_BUILD_ROOT%{progdir}/%{progname}.sh ln -sf ../..%{progdir}/%{progname}.sh $RPM_BUILD_ROOT%{_bindir}/%{progname} # apply SUSE defaults sed -e 's,RPM_VERSION,%{version}-%{release},g #s,GSSAPI,%{libgssapi},g' \ %{SOURCE4} > suse-default-prefs cp suse-default-prefs $RPM_BUILD_ROOT%{progdir}/defaults/pref/all-openSUSE.js rm suse-default-prefs # Desktop definition mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications install -m 644 $RPM_BUILD_DIR/*.desktop \ $RPM_BUILD_ROOT%{_datadir}/applications mkdir -p $RPM_BUILD_ROOT/usr/share/pixmaps/ install -m 644 $RPM_BUILD_DIR/*.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/ # install add-plugins.sh sed "s:%%PROGDIR:%{progdir}:g s:%%APPNAME:%{progname}:g" \ %{SOURCE2} > $RPM_BUILD_ROOT%{progdir}/add-plugins.sh chmod 755 $RPM_BUILD_ROOT%{progdir}/add-plugins.sh # %suse_update_desktop_file seamonkey Network WebBrowser GTK %suse_update_desktop_file seamonkey-mail Network Email GTK %suse_update_desktop_file seamonkey-composer Network WebDevelopment GTK # excludes rm -f $RPM_BUILD_ROOT%{progdir}/license.txt rm -f $RPM_BUILD_ROOT%{progdir}/README rm -f $RPM_BUILD_ROOT%{progdir}/removed-files rm -f $RPM_BUILD_ROOT%{progdir}/run-mozilla.sh rm -f $RPM_BUILD_ROOT%{progdir}/seamonkey rm -f $RPM_BUILD_ROOT%{progdir}/precomplete rm -f $RPM_BUILD_ROOT%{progdir}/updater rm -f $RPM_BUILD_ROOT%{progdir}/updater.ini rm -f $RPM_BUILD_ROOT%{progdir}/update.locale rm -f $RPM_BUILD_ROOT%{progdir}/update-settings.ini rm -f $RPM_BUILD_ROOT%{progdir}/icons/updater.png rm -f $RPM_BUILD_ROOT%{progdir}/dictionaries/* # Some sites use different partitions for /usr/(lib|lib64) and /usr/share. Since you # can't create hardlinks across partitions, we'll do this more than once. %fdupes $RPM_BUILD_ROOT%{progdir} %fdupes $RPM_BUILD_ROOT%{_datadir} %clean rm -rf $RPM_BUILD_ROOT rm -rf %{_tmppath}/translations.* %post %{progdir}/add-plugins.sh > /dev/null 2>&1 exit 0 %preun rm -f %{progdir}/dictionaries/* exit 0 %triggerin -- myspell-dictionary %{progdir}/add-plugins.sh > /dev/null 2>&1 exit 0 %triggerpostun -- myspell-dictionary %{progdir}/add-plugins.sh > /dev/null 2>&1 exit 0 %files %defattr(-,root,root) %{_bindir}/%{progname} %dir %{progdir} %{progdir}/components/ %{progdir}/defaults/ %dir %{progdir}/dictionaries/ %dir %{progdir}/extensions/ %dir %{progdir}/chrome/ %dir %{progdir}/distribution/ %dir %{progdir}/distribution/extensions/ #%exclude %{progdir}/distribution/extensions/debu...@mozilla.org.xpi %{progdir}/chrome/icons %{progdir}/extensions/mod...@themes.mozilla.org.xpi %{progdir}/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi %{progdir}/isp/ %{progdir}/searchplugins/ %{progdir}/add-plugins.sh %{progdir}/application.ini %{progdir}/blocklist.xml %{progdir}/chrome.manifest %{progdir}/dependentlibs.list %{progdir}/*.so %{progdir}/mozilla-xremote-client %{progdir}/omni.ja %{progdir}/platform.ini %{progdir}/plugin-container %{progdir}/%{progname}.sh %{progdir}/seamonkey-bin %{_datadir}/applications/*.desktop %{_datadir}/pixmaps/*.png %files irc %defattr(-,root,root) %{progdir}/distribution/extensions/{59c81df5-4b7a-477b-912d-4e0fdf64e5f2}.xpi %files venkman %defattr(-,root,root) %{progdir}/distribution/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}.xpi %files dom-inspector %defattr(-,root,root) %{progdir}/distribution/extensions/inspector*.xpi %if %localize %files translations-common -f %{_tmppath}/translations.common %defattr(-,root,root) %files translations-other -f %{_tmppath}/translations.other %defattr(-,root,root) %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 ++++++ create-tar.sh ++++++ #!/bin/bash CHANNEL="release" BRANCH="releases/comm-$CHANNEL" RELEASE_TAG="SEAMONKEY_2_19_RELEASE" VERSION="2.19" echo "cloning $BRANCH..." hg clone http://hg.mozilla.org/$BRANCH seamonkey pushd seamonkey hg update -r $RELEASE_TAG echo "running client.py..." [ "$RELEASE_TAG" == "default" ] || \ _extra="--comm-rev=$RELEASE_TAG --mozilla-rev=$RELEASE_TAG --inspector-rev=$RELEASE_TAG --venkman-rev=$RELEASE_TAG --chatzilla-rev=$RELEASE_TAG" python client.py checkout $_extra --mozilla-repo=http://hg.mozilla.org/releases/mozilla-$CHANNEL popd echo "creating archive..." tar cjf seamonkey-$VERSION-source.tar.bz2 --exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=CVS seamonkey # l10n echo "fetching locales..." if [ -e shipped-locales ]; then SHIPPED_LOCALES=shipped-locales else SHIPPED_LOCALES=seamonkey/suite/locales/shipped-locales fi test ! -d l10n && mkdir l10n for locale in $(awk '{ print $1; }' $SHIPPED_LOCALES); do case $locale in ja-JP-mac|en-US) ;; *) hg clone http://hg.mozilla.org/releases/l10n/mozilla-$CHANNEL/$locale l10n/$locale hg -R l10n/$locale up -C $RELEASE_TAG ;; esac done echo "creating l10n archive..." tar cjf l10n-$VERSION.tar.bz2 \ --exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=calendar \ --exclude=mail \ 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 ++++++ find-external-requires.sh ++++++ #!/bin/sh # Finds requirements provided outside of the current file set filelist=$( sed "s/[]['\"*?{}]/\\\\\&/g" ) provides=$( echo "$filelist" | /usr/lib/rpm/find-provides ) echo "$filelist" \ | /usr/lib/rpm/find-requires \ | grep -F -v "$provides" \ | sort -u ++++++ mozilla-language.patch ++++++ # HG changeset patch # User Wolfgang Rosenauer <w...@rosenauer.org> # Parent df748bfc0eaca6dedf086cfd7167392416bfae27 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 @@ -127,16 +127,17 @@ nsLocaleService::nsLocaleService(void) nsRefPtr<nsLocale> resultLocale(new nsLocale()); NS_ENSURE_TRUE_VOID(resultLocale); #ifdef MOZ_WIDGET_QT const char* lang = QLocale::system().name().toUtf8(); #else // Get system configuration const char* lang = getenv("LANG"); + const char* language = getenv("LANGUAGE"); #endif nsAutoString xpLocale, platformLocale; nsAutoString category, category_platform; int i; for( i = 0; i < LocaleListLength; i++ ) { nsresult result; @@ -155,16 +156,21 @@ nsLocaleService::nsLocaleService(void) } else { CopyASCIItoUTF16(lang, platformLocale); result = nsPosixLocale::GetXPLocale(lang, xpLocale); } } if (NS_FAILED(result)) { return; } + // LANGUAGE is overriding LC_MESSAGES + if (i == LC_MESSAGES && language && *language) { + CopyASCIItoUTF16(language, platformLocale); + result = nsPosixLocale::GetXPLocale(language, xpLocale); + } resultLocale->AddCategory(category, xpLocale); resultLocale->AddCategory(category_platform, platformLocale); } mSystemLocale = do_QueryInterface(resultLocale); mApplicationLocale = do_QueryInterface(resultLocale); #endif // XP_UNIX #ifdef XP_OS2 ++++++ mozilla-libproxy-compat.patch ++++++ # HG changeset patch # Parent 99164862ccce7947259465dcf9edbf6375d56413 # User Wolfgang Rosenauer <w...@rosenauer.org> No bug - libproxy API change picked up in bmo#769764 but fails in openSUSE 11.2 and earlier. Still cast to char* to make "all" happy Note: Remove that patch when openSUSE 11.2 runs out of any support! diff --git a/toolkit/system/unixproxy/nsLibProxySettings.cpp b/toolkit/system/unixproxy/nsLibProxySettings.cpp --- a/toolkit/system/unixproxy/nsLibProxySettings.cpp +++ b/toolkit/system/unixproxy/nsLibProxySettings.cpp @@ -67,17 +67,17 @@ nsUnixSystemProxySettings::GetProxyForUR if (!mProxyFactory) { mProxyFactory = px_proxy_factory_new(); } NS_ENSURE_TRUE(mProxyFactory, NS_ERROR_NOT_AVAILABLE); char **proxyArray = nullptr; proxyArray = px_proxy_factory_get_proxies(mProxyFactory, - PromiseFlatCString(aSpec).get()); + (char *) (PromiseFlatCString(aSpec).get())); NS_ENSURE_TRUE(proxyArray, NS_ERROR_NOT_AVAILABLE); // Translate libproxy's output to PAC string as expected // libproxy returns an array of proxies in the format: // <procotol>://[username:password@]proxy:port // or // direct:// // ++++++ 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 --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp --- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp +++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp @@ -50,24 +50,28 @@ nsUnixSystemProxySettings::GetMainThread // dbus prevents us from being threadsafe, but this routine should not block anyhow *aMainThreadOnly = true; return NS_OK; } nsresult nsUnixSystemProxySettings::Init() { - mSchemeProxySettings.Init(5); - mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID); - if (mGSettings) { - mGSettings->GetCollectionForSchema(NS_LITERAL_CSTRING("org.gnome.system.proxy"), - getter_AddRefs(mProxySettings)); - } - if (!mProxySettings) { - mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID); + // only use GSettings if that is a GNOME session + const char* sessionType = PR_GetEnv("DESKTOP_SESSION"); + if (sessionType && !strcmp(sessionType, "gnome")) { + mSchemeProxySettings.Init(5); + mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID); + if (mGSettings) { + mGSettings->GetCollectionForSchema(NS_LITERAL_CSTRING("org.gnome.system.proxy"), + getter_AddRefs(mProxySettings)); + } + if (!mProxySettings) { + mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID); + } } return NS_OK; } bool nsUnixSystemProxySettings::IsProxyMode(const char* aMode) { ++++++ mozilla-ntlm-full-path.patch ++++++ # HG changeset patch # User Petr Cerny <pce...@novell.com> # Parent 7308e4a7c1f769f4bbbc90870b849cadd99495a6 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 @@ -168,17 +168,17 @@ static uint8_t* ExtractMessage(const nsA nsresult nsAuthSambaNTLM::SpawnNTLMAuthHelper() { const char* username = PR_GetEnv("USER"); if (!username) return NS_ERROR_FAILURE; const char* const args[] = { - "ntlm_auth", + "/usr/bin/ntlm_auth", "--helper-protocol", "ntlmssp-client-1", "--use-cached-creds", "--username", username, nullptr }; bool isOK = SpawnIOChild(const_cast<char* const*>(args), &mChildPID, &mFromChildFD, &mToChildFD); if (!isOK) ++++++ mozilla-ppc.patch ++++++ # HG changeset patch # Parent 2c9bf1336fd0811e0112953334df4c81c717e6ff # 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 @@ -159,17 +159,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; @@ -180,17 +180,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 @@ -179,17 +179,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/mozjemalloc/jemalloc.c b/memory/mozjemalloc/jemalloc.c --- a/memory/mozjemalloc/jemalloc.c +++ b/memory/mozjemalloc/jemalloc.c @@ -1099,17 +1099,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. * Platform specific page size conditions copied from js/public/HeapAPI.h */ 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 @@ -50,17 +50,17 @@ // 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(__avr32__) || \ defined(__hppa__) || defined(__ia64__) || \ - defined(__mips__) || defined(__powerpc__) || \ + defined(__mips__) || defined(__powerpc__) || defined(__powerpc64__) || \ defined(__sparc__) || defined(__sparc) || defined(__s390__) || \ defined(__SH4__) || defined(__alpha__) || \ defined(_MIPS_ARCH_MIPS32R2) #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 #elif defined(_M_IX86) || defined(__i386__) || defined(__i386) #if defined(_WIN32) // Windows uses a 64bit wide floating point stack. #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 ++++++ mozilla-prefer_plugin_pref.patch ++++++ From: Ubuntu Subject: introduce a pref to prefer certain plugins for mime-types 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 @@ -1334,17 +1334,51 @@ nsPluginHost::FindPluginForType(const ch if (!aMimeType) { return nullptr; } LoadPlugins(); InfallibleTArray<nsPluginTag*> matchingPlugins; + char *preferredPluginPath = nullptr; + nsAutoCString mimetypePrefString ("modules.plugins.mimetype."); + mimetypePrefString.Append(aMimeType); + const char *mimetypePrefChar = mimetypePrefString.get(); + nsAdoptingCString pluginPath = Preferences::GetCString(mimetypePrefChar); + preferredPluginPath = (char*) pluginPath.get(); + nsPluginTag *plugin = mPlugins; + + if(preferredPluginPath) { + while (plugin) { + if (!aCheckEnabled || plugin->IsEnabled()) { + if (0 == PL_strcasecmp(plugin->mFileName.get(), preferredPluginPath) || + 0 == PL_strcasecmp(plugin->mFullPath.get(), preferredPluginPath)) { + matchingPlugins.AppendElement(plugin); + } + } + plugin = plugin->mNext; + } + + // now lets search for substrings + plugin = mPlugins; + while (plugin) { + if (!aCheckEnabled || plugin->IsEnabled()) { + if (nullptr != PL_strstr(plugin->mFileName.get(), preferredPluginPath) || + nullptr != PL_strstr(plugin->mFullPath.get(), preferredPluginPath)) { + matchingPlugins.AppendElement(plugin); + } + } + plugin = plugin->mNext; + } + + return FindPreferredPlugin(matchingPlugins); + } + while (plugin) { if (!aCheckEnabled || plugin->IsActive()) { int32_t mimeCount = plugin->mMimeTypes.Length(); for (int32_t i = 0; i < mimeCount; i++) { if (0 == PL_strcasecmp(plugin->mMimeTypes[i].get(), aMimeType)) { matchingPlugins.AppendElement(plugin); break; } ++++++ 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/configure.in b/configure.in --- a/configure.in +++ b/configure.in @@ -8303,16 +8303,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 SIL Graphite dnl ======================================================== MOZ_GRAPHITE_LIBS='$(DEPTH)/gfx/graphite2/src/$(LIB_PREFIX)mozgraphite2.$(LIB_SUFFIX)' AC_SUBST(MOZ_GRAPHITE_LIBS) dnl ======================================================== dnl OTS 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 @@ -93,16 +93,19 @@ DEFINES += \ EXPORTS += \ CryptoTask.h \ nsNSSShutDown.h \ ScopedNSSTypes.h \ nsRandomGenerator.h \ $(NULL) +LOCAL_INCLUDES += $(NSSHELPER_CFLAGS) +EXTRA_DSO_LDOPTS += $(NSSHELPER_LIBS) + EXPORTS_NAMESPACES = mozilla EXPORTS_mozilla += \ PublicSSL.h \ $(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 @@ -3,16 +3,23 @@ * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifdef MOZ_LOGGING #define FORCE_PR_LOG 1 #endif +#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 "nsCertVerificationThread.h" #include "nsNetUtil.h" #include "nsAppDirectoryServiceDefs.h" #include "nsDirectoryService.h" @@ -1682,18 +1689,34 @@ nsNSSComponent::InitializeNSS(bool showW 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". uint32_t 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_SM_NO_NSSHELPER")) { + init_rv = ::NSS_Initialize(profileStr.get(), "", "", + SECMOD_DB, init_flags); + } else { + init_rv = ::nsshelp_open_db ("Seamonkey", 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 @@ -501,17 +501,17 @@ EXTRA_DSO_LDOPTS += -INCREMENTAL:NO endif endif endif EXTRA_DSO_LDOPTS += $(LIBS_DIR) $(EXTRA_DSO_LIBS) 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 QTKit \ -framework IOKit \ -F/System/Library/PrivateFrameworks -framework CoreUI \ ++++++ mozilla-sle11.patch ++++++ Subject: Patches needed to build on SLE11/11.1 References: https://bugzilla.mozilla.org/show_bug.cgi?id=513422 diff --git a/xpcom/glue/SSE.cpp b/xpcom/glue/SSE.cpp --- a/xpcom/glue/SSE.cpp +++ b/xpcom/glue/SSE.cpp @@ -12,26 +12,77 @@ namespace { // SSE.h has parallel #ifs which declare MOZILLA_SSE_HAVE_CPUID_DETECTION. // We can't declare these functions in the header file, however, because // <intrin.h> conflicts with <windows.h> on MSVC 2005, and some files want to // include both SSE.h and <windows.h>. #ifdef HAVE_CPUID_H // cpuid.h is available on gcc 4.3 and higher on i386 and x86_64 -#include <cpuid.h> +//#include <cpuid.h> enum CPUIDRegister { eax = 0, ebx = 1, ecx = 2, edx = 3 }; +#ifdef __i386__ +#define _my_cpuid(level, a, b, c, d) \ + __asm__ ("xchg{l}\t{%%}ebx, %1\n\t" \ + "cpuid\n\t" \ + "xchg{l}\t{%%}ebx, %1\n\t" \ + : "=a" (a), "=r" (b), "=c" (c), "=d" (d) \ + : "0" (level)) +#else +#define _my_cpuid(level, a, b, c, d) \ + __asm__ ("cpuid\n\t" \ + : "=a" (a), "=b" (b), "=c" (c), "=d" (d) \ + : "0" (level)) +#endif + +static __inline unsigned int +my_cpuid_max (unsigned int __ext, unsigned int *__sig) +{ + unsigned int __eax, __ebx, __ecx, __edx; + +#ifdef __i386__ + __asm__ ("pushf{l|d}\n\t" + "pushf{l|d}\n\t" + "pop{l}\t%0\n\t" + "mov{l}\t{%0, %1|%1, %0}\n\t" + "xor{l}\t{%2, %0|%0, %2}\n\t" + "push{l}\t%0\n\t" + "popf{l|d}\n\t" + "pushf{l|d}\n\t" + "pop{l}\t%0\n\t" + "popf{l|d}\n\t" + : "=&r" (__eax), "=&r" (__ebx) + : "i" (0x00200000)); + + if (!((__eax ^ __ebx) & 0x00200000)) + return 0; +#endif + + /* Host supports cpuid. Return highest supported cpuid input value. */ + _my_cpuid (__ext, __eax, __ebx, __ecx, __edx); + + if (__sig) + *__sig = __ebx; + + return __eax; +} + static bool has_cpuid_bit(unsigned int level, CPUIDRegister reg, unsigned int bit) { unsigned int regs[4]; - return __get_cpuid(level, ®s[0], ®s[1], ®s[2], ®s[3]) && - (regs[reg] & bit); + + unsigned int __ext = level & 0x80000000; + if (my_cpuid_max(__ext, 0) < level) + return false; + + _my_cpuid(level, regs[0], regs[1], regs[2], regs[3]); + return !!(unsigned(regs[reg]) & bit); } #elif defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_AMD64)) // MSVC 2005 or newer on x86-32 or x86-64 #include <intrin.h> enum CPUIDRegister { eax = 0, ebx = 1, ecx = 2, edx = 3 }; ++++++ mozilla-ua-locale.patch ++++++ From: upstream Subject: allow reading general.useragent.locale from user profile References: https://bugzilla.mozilla.org/show_bug.cgi?id=542999 http://bugzilla.novell.com/show_bug.cgi?id=582654 diff --git a/chrome/src/nsChromeRegistryChrome.cpp b/chrome/src/nsChromeRegistryChrome.cpp --- a/chrome/src/nsChromeRegistryChrome.cpp +++ b/chrome/src/nsChromeRegistryChrome.cpp @@ -281,20 +281,21 @@ nsChromeRegistryChrome::GetSelectedLocal return NS_OK; } nsresult nsChromeRegistryChrome::SelectLocaleFromPref(nsIPrefBranch* prefs) { nsresult rv; - bool matchOSLocale = false; + bool matchOSLocale = false, userLocaleOverride = false; + prefs->PrefHasUserValue(SELECTED_LOCALE_PREF, &userLocaleOverride); rv = prefs->GetBoolPref(MATCH_OS_LOCALE_PREF, &matchOSLocale); - if (NS_SUCCEEDED(rv) && matchOSLocale) { + if (NS_SUCCEEDED(rv) && matchOSLocale && !userLocaleOverride) { // compute lang and region code only when needed! nsAutoCString uiLocale; rv = getUILangCountry(uiLocale); if (NS_SUCCEEDED(rv)) mSelectedLocale = uiLocale; } else { nsXPIDLCString provider; ++++++ mozilla.sh.in ++++++ #!/bin/sh # # ***** BEGIN LICENSE BLOCK ***** # Version: MPL 1.1/GPL 2.0/LGPL 2.1 # # The contents of this file are subject to the Mozilla Public License Version # 1.1 (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # http://www.mozilla.org/MPL/ # # Software distributed under the License is distributed on an "AS IS" basis, # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License # for the specific language governing rights and limitations under the # License. # # The Original Code is mozilla.org Code. # # The Initial Developer of the Original Code is # Netscape Communications Corporation. # Portions created by the Initial Developer are Copyright (C) 1998 # the Initial Developer. All Rights Reserved. # # Contributor(s): # Wolfgang Rosenauer <wolfgang.rosena...@suse.de> # <w...@rosenauer.org> # # Alternatively, the contents of this file may be used under the terms of # either the GNU General Public License Version 2 or later (the "GPL"), or # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), # in which case the provisions of the GPL or the LGPL are applicable instead # of those above. If you wish to allow use of your version of this file only # under the terms of either the GPL or the LGPL, and not to allow others to # 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 ***** ## ## Usage: ## ## $ mozilla [args] ## ## This script is meant to run a mozilla program from the mozilla ## rpm installation. ## ## The script will setup all the environment voodoo needed to make ## mozilla work. cmdname=`basename $0` ## ## Variables ## MOZ_DIST_BIN="%PREFIX" MOZ_DIST_LIB="%PROGDIR" MOZ_APPNAME="%APPNAME" MOZ_PROGRAM="$MOZ_DIST_LIB/$MOZ_APPNAME-bin" MOZ_APP_LAUNCHER="$MOZ_DIST_LIB/$MOZ_APPNAME.sh" if [ "$0" = "$MOZ_APP_LAUNCHER" ]; then [ -h "/usr/bin/$MOZ_APPNAME" ] && \ _link=$(readlink -f "/usr/bin/$MOZ_APPNAME") if [ "$_link" = "$MOZ_APP_LAUNCHER" ]; then export MOZ_APP_LAUNCHER="/usr/bin/$MOZ_APPNAME" fi else export MOZ_APP_LAUNCHER="/usr/bin/$MOZ_APPNAME" fi mozilla_lib=`file $MOZ_PROGRAM` LIB=lib echo $mozilla_lib | grep -q -E 'ELF.64-bit.*(x86-64|S/390|PowerPC)' && LIB=lib64 BROWSER_PLUGIN_DIR=/usr/$LIB/browser-plugins if [ ! -d $BROWSER_PLUGIN_DIR ]; then 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 # needed for SUN Java under Xorg >= 7.2 export LIBXCB_ALLOW_SLOPPY_LOCK=1 ## if [ -z "$MOZ_PLUGIN_PATH" ]; then export MOZ_PLUGIN_PATH=$BROWSER_PLUGIN_DIR else # make sure that BROWSER_PLUGIN_DIR is in MOZ_PLUGIN_PATH echo "$MOZ_PLUGIN_PATH" | grep "$BROWSER_PLUGIN_DIR" 2>&1 >/dev/null _retval=$? if [ ${_retval} -ne 0 ]; then export MOZ_PLUGIN_PATH=$MOZ_PLUGIN_PATH:$BROWSER_PLUGIN_DIR fi fi # disable Gnome crash dialog (doesn't make sense anyway) export GNOME_DISABLE_CRASH_DIALOG=1 moz_debug=0 script_args="" pass_arg_count=0 while [ $# -gt $pass_arg_count ] do case "$1" in -d | --debugger) moz_debugger=$2; if [ "${moz_debugger}" != "" ]; then shift 2 moz_debug=1 else echo "-d requires an argument" exit 1 fi ;; *) # Move the unrecognized argument to the end of the list. arg="$1" shift set -- "$@" "$arg" pass_arg_count=`expr $pass_arg_count + 1` ;; esac done if [ $moz_debug -eq 1 ]; then tmpfile=`mktemp /tmp/mozargs.XXXXXX` || { echo "Cannot create temporary file" >&2; exit 1; } 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 else $MOZ_PROGRAM "$@" fi exitcode=$? exit $exitcode ++++++ seamonkey-rpmlintrc ++++++ addFilter("no-jar-manifest") ++++++ seamonkey-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/configure.in b/configure.in --- a/configure.in +++ b/configure.in @@ -6405,16 +6405,30 @@ fi AC_SUBST(MOZ_CAIRO_LIBS) dnl qcms dnl ======================================================== QCMS_LIBS='$(call EXPAND_LIBNAME_PATH,mozqcms,$(DEPTH)/gfx/qcms)' AC_SUBST(QCMS_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 HarfBuzz dnl ======================================================== MOZ_HARFBUZZ_LIBS='$(DEPTH)/mozilla/gfx/harfbuzz/src/$(LIB_PREFIX)mozharfbuzz.$(LIB_SUFFIX)' AC_SUBST(MOZ_HARFBUZZ_LIBS) dnl ======================================================== ++++++ seamonkey-ua-locale.patch ++++++ diff --git a/suite/locales/en-US/suite-l10n.js b/suite/locales/en-US/suite-l10n.js --- a/suite/locales/en-US/suite-l10n.js +++ b/suite/locales/en-US/suite-l10n.js @@ -1,8 +1,8 @@ # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. #filter substitution -pref("general.useragent.locale", "@AB_CD@"); +pref("general.useragent.locale", "chrome://global/locale/intl.properties"); pref("spellchecker.dictionary", "@AB_CD@"); ++++++ suse-default-prefs.js ++++++ pref("browser.display.use_system_colors", true); pref("browser.startup.homepage_override.mstone", "ignore"); pref("general.smoothScroll", true); pref("font.default", "sans-serif"); pref("network.negotiate-auth.gsslib", "GSSAPI"); pref("print.print_edge_top", 14); // 1/100 of an inch pref("print.print_edge_left", 16); // 1/100 of an inch pref("print.print_edge_right", 16); // 1/100 of an inch pref("print.print_edge_bottom", 14); // 1/100 of an inch pref("intl.locale.matchOS", true); // do not disable system-global or app-global extensions pref("extensions.autoDisableScopes", 3); pref("extensions.shownSelectionUI", true); -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org