Hello community, here is the log from the commit of package MozillaThunderbird.3780 for openSUSE:13.1:Update checked in at 2015-05-24 16:18:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:13.1:Update/MozillaThunderbird.3780 (Old) and /work/SRC/openSUSE:13.1:Update/.MozillaThunderbird.3780.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MozillaThunderbird.3780" Changes: -------- New Changes file: --- /dev/null 2015-05-15 19:41:08.266053825 +0200 +++ /work/SRC/openSUSE:13.1:Update/.MozillaThunderbird.3780.new/MozillaThunderbird.changes 2015-05-24 16:18:21.000000000 +0200 @@ -0,0 +1,2162 @@ +------------------------------------------------------------------- +Sat May 9 07:22:49 UTC 2015 - w...@rosenauer.org + +- update to Thunderbird 31.7.0 (bnc#930622) + * MFSA 2015-46/CVE-2015-2708 + Miscellaneous memory safety hazards + * MFSA 2015-47/VE-2015-0797 (bmo#1080995) + Buffer overflow parsing H.264 video with Linux Gstreamer + * MFSA 2015-48/CVE-2015-2710 (bmo#1149542) + Buffer overflow with SVG content and CSS + * MFSA 2015-51/CVE-2015-2713 (bmo#1153478) + Use-after-free during text processing with vertical text enabled + * MFSA 2015-54/CVE-2015-2716 (bmo#1140537) + Buffer overflow when parsing compressed XML + * MFSA 2015-57/CVE-2011-3079 (bmo#1087565) + Privilege escalation through IPC channel messages + +------------------------------------------------------------------- +Tue Mar 31 05:02:16 UTC 2015 - w...@rosenauer.org + +- update to Thunderbird 31.6.0 (bnc#925368) + * MFSA 2015-30/CVE-2015-0815 + Miscellaneous memory safety hazards + * MFSA 2015-31/CVE-2015-0813 (bmo#1106596)) + Use-after-free when using the Fluendo MP3 GStreamer plugin + * MFSA 2015-33/CVE-2015-0816 (bmo#1144991) + resource:// documents can load privileged pages + * MFSA-2015-37/CVE-2015-0807 (bmo#1111834) + CORS requests should not follow 30x redirections after preflight + * MFSA-2015-40/CVE-2015-0801 (bmo#1146339) + Same-origin bypass through anchor navigation + +------------------------------------------------------------------- +Mon Feb 23 12:42:57 UTC 2015 - w...@rosenauer.org + +- update to Thunderbird 31.5.0 (bnc#917597) + * MFSA 2015-11/CVE-2015-0836 + Miscellaneous memory safety hazards + * MFSA 2015-12/CVE-2015-0833 (bmo#945192) + Invoking Mozilla updater will load locally stored DLL files + (Windows only) + * MFSA 2015-16/CVE-2015-0831 (bmo#1130514) + Use-after-free in IndexedDB + * MFSA 2015-19/CVE-2015-0827 (bmo#1117304) + Out-of-bounds read and write while rendering SVG content + * MFSA 2015-24/CVE-2015-0822 (bmo#1110557) + Reading of local files through manipulation of form autocomplete + +------------------------------------------------------------------- +Sat Jan 10 18:33:52 UTC 2015 - w...@rosenauer.org + +- update to Thunderbird 31.4.0 (bnc#910669) + * MFSA 2015-01/CVE-2014-8634/CVE-2014-8635 + Miscellaneous memory safety hazards + * MFSA 2015-03/CVE-2014-8638 (bmo#1080987) + sendBeacon requests lack an Origin header + * MFSA 2015-04/CVE-2014-8639 (bmo#1095859) + Cookie injection through Proxy Authenticate responses +- added mozilla-icu-strncat.patch to fix post build checks + +------------------------------------------------------------------- +Sun Nov 30 08:37:33 UTC 2014 - w...@rosenauer.org + +- update to Thunderbird 31.3.0 (bnc#908009) + * MFSA 2014-83/CVE-2014-1587 + Miscellaneous memory safety hazards + * MFSA 2014-85/CVE-2014-1590 (bmo#1087633) + XMLHttpRequest crashes with some input streams + * MFSA 2014-87/CVE-2014-1592 (bmo#1088635) + Use-after-free during HTML5 parsing + * MFSA 2014-88/CVE-2014-1593 (bmo#1085175) + Buffer overflow while parsing media content + * MFSA 2014-89/CVE-2014-1594 (bmo#1074280) + Bad casting from the BasicThebesLayer to BasicContainerLayer + +------------------------------------------------------------------- +Sun Nov 16 21:22:00 UTC 2014 - Led <led...@gmail.com> + +- fix bashism in mozilla.sh script + +------------------------------------------------------------------- +Tue Nov 4 08:16:43 UTC 2014 - guilla...@opensuse.org + +- Limit RAM usage during link for ARM + +------------------------------------------------------------------- +Sat Oct 25 18:41:27 UTC 2014 - w...@rosenauer.org + +- remove add-plugins.sh and use /usr/share/myspell directly + (bnc#900639) + +------------------------------------------------------------------- +Sun Oct 12 22:47:42 UTC 2014 - w...@rosenauer.org + +- update to Thunderbird 31.2.0 (bnc#900941) + * MFSA 2014-74/CVE-2014-1574 + Miscellaneous memory safety hazards + * MFSA 2014-75/CVE-2014-1576 (bmo#1041512) + Buffer overflow during CSS manipulation + * MFSA 2014-76/CVE-2014-1577 (bmo#1012609) + Web Audio memory corruption issues with custom waveforms + * MFSA 2014-77/CVE-2014-1578 (bmo#1063327) + Out-of-bounds write with WebM video + * MFSA 2014-79/CVE-2014-1581 (bmo#1068218) + Use-after-free interacting with text directionality + * MFSA 2014-81/CVE-2014-1585/CVE-2014-1586 (bmo#1062876, bmo#1062981) + Inconsistent video sharing within iframe +- added basic appdata definition + +------------------------------------------------------------------- +Wed Sep 24 09:15:02 UTC 2014 - w...@rosenauer.org + +- update to Thunderbird 31.1.2 + +------------------------------------------------------------------- +Tue Sep 9 12:53:41 UTC 2014 - wolfg...@rosenauer.org + +- update to Thunderbird 31.1.1 + * Fixed an issue where mailing lists with spaces in their names + couldn't be autocompleted (bmo#1060901) + * Fixed an occasional startup crash (bmo#1005336) + +------------------------------------------------------------------- +Fri Aug 29 13:02:19 UTC 2014 - w...@rosenauer.org + +- update to Thunderbird 31.1.0 (bnc#894370) + * MFSA 2014-67/CVE-2014-1553/CVE-2014-1562 + Miscellaneous memory safety hazards + * MFSA 2014-68/CVE-2014-1563 (bmo#1018524) + Use-after-free during DOM interactions with SVG + * MFSA 2014-69/CVE-2014-1564 (bmo#1045977) + Uninitialized memory use during GIF rendering + * MFSA 2014-70/CVE-2014-1565 (bmo#1047831) + Out-of-bounds read in Web Audio audio timeline + * MFSA 2014-72/CVE-2014-1567 (bmo#1037641) + Use-after-free setting text directionality +- added mozilla-nullptr-gcc45.patch to build on gcc 4.5 dists + (e.g. openSUSE 11.4) + +------------------------------------------------------------------- +Sun Jul 27 20:25:46 UTC 2014 - w...@rosenauer.org + +- update to Thunderbird 31.0 + * based on Gecko 31 + * Autocompleting email addresses now matches against any part of + the name or email + * Composing a mail to a newsgroup will now autocomplete newsgroup + names + * Insecure NTLM (pre-NTLMv2) authentication disabled +- rebased patches +- removed enigmail entirely from source package +- removed obsolete patches + * libffi-ppc64le.patch + * ppc64le-support.patch + * xpcom-ppc64le.patch +- use GStreamer 1.0 after 13.1 +- switched source archives to use xz instead of bz2 + +------------------------------------------------------------------- +Sun Jul 20 15:59:49 UTC 2014 - w...@rosenauer.org + +- update to Thunderbird 24.7.0 (bnc#887746) + * MFSA 2014-56/CVE-2014-1547/CVE-2014-1548 + Miscellaneous memory safety hazards + * MFSA 2014-61/CVE-2014-1555 (bmo#1023121) + Use-after-free with FireOnStateChange event + * MFSA 2014-62/CVE-2014-1556 (bmo#1028891) + Exploitable WebGL crash with Cesium JavaScript library + * MFSA 2014-63/CVE-2014-1544 (bmo#963150) + Use-after-free while when manipulating certificates in the trusted cache + (solved with NSS 3.16.2 requirement) + * MFSA 2014-64/CVE-2014-1557 (bmo#913805) + Crash in Skia library when scaling high quality images +- disabled enigmail build as with version 1.7 it's a standalone + source package + +------------------------------------------------------------------- +Sat Jun 7 09:07:06 UTC 2014 - w...@rosenauer.org + +- update to Thunderbird 24.6.0 (bnc#881874) + * MFSA 2014-48/CVE-2014-1533/CVE-2014-1534 + (bmo#921622, bmo#967354, bmo#969517, bmo#969549, bmo#973874, + bmo#978652, bmo#978811, bmo#988719, bmo#990868, bmo#991981, + bmo#992274, bmo#994907, bmo#995679, bmo#995816, bmo#995817, + bmo#996536, bmo#996715, bmo#999651, bmo#1000598, + bmo#1000960, bmo#1002340, bmo#1005578, bmo#1007223, + bmo#1009952, bmo#1011007) + Miscellaneous memory safety hazards (rv:30.0 / rv:24.6) + * MFSA 2014-49/CVE-2014-1536/CVE-2014-1537/CVE-2014-1538 + (bmo#989994, bmo#999274, bmo#1005584) + Use-after-free and out of bounds issues found using Address Sanitizer + * MFSA 2014-52/CVE-2014-1541 (bmo#1000185) + Use-after-free with SMIL Animation Controller + * MFSA 2014-55/CVE-2014-1545 (bmo#1018783) + Out of bounds write in NSPR +- require NSPR 4.10.6 because of MFSA 2014-55/CVE-2014-1545 + ++++ 1965 more lines (skipped) ++++ between /dev/null ++++ and /work/SRC/openSUSE:13.1:Update/.MozillaThunderbird.3780.new/MozillaThunderbird.changes New: ---- MozillaThunderbird.changes MozillaThunderbird.spec _constraints compare-locales.tar.xz create-tar.sh find-external-requires.sh kde.js l10n-31.7.0.tar.xz mozilla-arm-disable-edsp.patch mozilla-icu-strncat.patch mozilla-kde.patch mozilla-language.patch mozilla-nongnome-proxies.patch mozilla-nullptr-gcc45.patch mozilla-ppc.patch mozilla-shared-nss-db.patch mozilla.sh.in suse-default-prefs.js tb-develdirs.patch tb-ssldap.patch thunderbird-31.7.0-source.tar.xz thunderbird-rpmlintrc thunderbird-shared-nss-db.patch thunderbird.appdata.xml thunderbird.desktop ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ MozillaThunderbird.spec ++++++ # # spec file for package MozillaThunderbird # # Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # 2006-2015 Wolfgang Rosenauer <w...@rosenauer.org> # # 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/ # %define mainversion 31.7.0 %define update_channel release %if %suse_version > 1210 %if %suse_version > 1310 %define gstreamer_ver 1.0 %define gstreamer 1 %else %define gstreamer_ver 0.10 %endif %endif %define with_kde 1 Name: MozillaThunderbird BuildRequires: Mesa-devel BuildRequires: autoconf213 BuildRequires: dbus-1-glib-devel BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: hunspell-devel BuildRequires: libcurl-devel BuildRequires: libgnomeui-devel BuildRequires: libidl-devel BuildRequires: libnotify-devel BuildRequires: mozilla-nspr-devel >= 4.10.6 BuildRequires: mozilla-nss-devel >= 3.16.5 BuildRequires: nss-shared-helper-devel BuildRequires: python BuildRequires: startup-notification-devel BuildRequires: unzip BuildRequires: update-desktop-files BuildRequires: xorg-x11-libXt-devel BuildRequires: xz BuildRequires: yasm BuildRequires: zip BuildRequires: pkgconfig(libpulse) %if %suse_version > 1210 BuildRequires: pkgconfig(gstreamer-%gstreamer_ver) BuildRequires: pkgconfig(gstreamer-app-%gstreamer_ver) BuildRequires: pkgconfig(gstreamer-plugins-base-%gstreamer_ver) %if 0%{?gstreamer} == 1 Requires: libgstreamer-1_0-0 Recommends: gstreamer-fluendo-mp3 Recommends: gstreamer-plugin-libav %else Requires: libgstreamer-0_10-0 Recommends: gstreamer-0_10-fluendo-mp3 Recommends: gstreamer-0_10-plugins-ffmpeg %endif %endif Version: %{mainversion} Release: 0 %define releasedate 2015050800 Provides: thunderbird = %{version} %if %{with_kde} # this is needed to match this package with the kde4 helper package without the main package # having a hard requirement on the kde4 package %define kde_helper_version 6 Provides: mozilla-kde4-version = %{kde_helper_version} %endif Summary: The Stand-Alone Mozilla Mail Component License: MPL-2.0 Group: Productivity/Networking/Email/Clients Url: http://www.mozilla.org/products/thunderbird/ Source: thunderbird-%{version}-source.tar.xz Source1: thunderbird.desktop Source3: mozilla.sh.in Source4: l10n-%{version}.tar.xz #Source5: shipped-locales Source6: suse-default-prefs.js Source7: find-external-requires.sh Source8: thunderbird-rpmlintrc Source9: thunderbird.appdata.xml Source10: create-tar.sh Source11: compare-locales.tar.xz Source12: kde.js # Gecko/Toolkit Patch1: mozilla-shared-nss-db.patch Patch2: mozilla-language.patch Patch3: mozilla-nongnome-proxies.patch Patch4: mozilla-kde.patch Patch5: mozilla-arm-disable-edsp.patch Patch6: mozilla-ppc.patch Patch7: mozilla-nullptr-gcc45.patch Patch8: mozilla-icu-strncat.patch # Thunderbird/mail Patch20: tb-ssldap.patch Patch21: tb-develdirs.patch Patch22: thunderbird-shared-nss-db.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: coreutils fileutils textutils /bin/sh Recommends: libcanberra0 ### build options %ifnarch ppc ppc64 ppc64le %arm %define crashreporter 1 %else %define crashreporter 0 %endif %define has_system_cairo 0 %define localize 1 ### build options end %define _use_internal_dependency_generator 0 %define __find_requires sh %{SOURCE7} %global provfind sh -c "grep -v '.so' | %__find_provides" %global __find_provides %provfind Requires: mozilla-nspr >= %(rpm -q --queryformat '%{VERSION}' mozilla-nspr) Requires: mozilla-nss >= %(rpm -q --queryformat '%{VERSION}' mozilla-nss) Conflicts: thunderbird-esr %define progname thunderbird %define progdir %{_prefix}/%_lib/thunderbird %define libgssapi libgssapi_krb5.so.2 %if %suse_version > 1130 %define desktop_file_name thunderbird %else %define desktop_file_name %{name} %endif %description Mozilla Thunderbird is a redesign of the Mozilla Mail component. It is written using the XUL user interface language and designed to be cross-platform. It is a stand-alone application instead of part of the Mozilla application suite. %if %localize %package translations-common Summary: Common translations for MozillaThunderbird Group: System/Localization Provides: locale(%{name}:ar;ca;cs;da;de;el;en_GB;es_AR;es_ES;fi;fr;hu;it;ja;ko;nb_NO;nl;pl;pt_BR;pt_PT;ru;sv_SE;zh_CN;zh_TW) PreReq: %{name} = %{mainversion} Obsoletes: %{name}-translations < %{version}-%{release} %description translations-common This package contains several optional languages for the user interface of MozillaThunderbird. %package translations-other Summary: Extra translations for MozillaThunderbird Group: System/Localization Provides: locale(%{name}:ast;be;bg;bn_BD;br;et;eu;fy_NL;ga_IE;gd;gl;he;hr;hy_AM;id;is;lt;nn_NO;pa_IN;rm;ro;si;sk;sl;sq;sr;ta_LK;tr;uk;vi) PreReq: %{name} = %{mainversion} Obsoletes: %{name}-translations < %{version}-%{release} %description translations-other This package contains several optional languages for the user interface of MozillaThunderbird. %endif %package devel Summary: Mozilla Thunderbird SDK Group: Development/Libraries/Other Requires: mozilla-nspr-devel >= %(rpm -q --queryformat '%{VERSION}' mozilla-nspr-devel) PreReq: mozilla-nss-devel >= %(rpm -q --queryformat '%{VERSION}' mozilla-nss-devel) PreReq: %{name} = %{mainversion} %description devel Software Development Kit to build plugins/extensions against Thunderbird. %if %crashreporter %package buildsymbols Summary: Breakpad buildsymbols for %{name} Group: Development/Debug %description buildsymbols This subpackage contains the Breakpad created and compatible debugging symbols meant for upload to Mozilla's crash collector database. %endif %prep %setup -n thunderbird -q -b 4 -b 11 # xulrunner patches pushd mozilla %patch1 -p1 %patch2 -p1 %patch3 -p1 %if %{with_kde} %patch4 -p1 %endif %patch5 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 popd # comm-central patches %patch20 -p1 %patch21 -p1 %patch22 -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" {} + # %if %{with_kde} kdehelperversion=$(cat mozilla/toolkit/xre/nsKDEUtils.cpp | grep '#define KMOZILLAHELPER_VERSION' | cut -d ' ' -f 3) if test "$kdehelperversion" != %{kde_helper_version}; then echo fix kde helper version in the .spec file exit 1 fi %endif export SUSE_ASNEEDED=0 export MOZ_BUILD_DATE=%{releasedate} export MOZILLA_OFFICIAL=1 export BUILD_OFFICIAL=1 %if %{update_channel} == "esr" export MOZ_ESR=1 %endif export CFLAGS="$RPM_OPT_FLAGS -Os -fno-strict-aliasing" %ifarch ppc64 ppc64le export CFLAGS="$CFLAGS -mminimal-toc" %endif %ifarch %arm # Limit RAM usage during link export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads" %endif 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=$RPM_BUILD_DIR/obj ac_add_options --enable-application=mail ac_add_options --prefix=%{_prefix} ac_add_options --libdir=%{progdir} ac_add_options --includedir=%{_includedir} ac_add_options --disable-tests ac_add_options --disable-debug ac_add_options --enable-optimize ac_add_options --with-system-nspr ac_add_options --with-system-nss ac_add_options --with-system-jpeg ac_add_options --with-system-zlib ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n ac_add_options --disable-updater #ac_add_options --with-system-png # no apng support ac_add_options --enable-system-hunspell ac_add_options --disable-installer ac_add_options --disable-mochitest ac_add_options --enable-startup-notification ac_add_options --enable-official-branding ac_add_options --disable-necko-wifi ac_add_options --enable-update-channel=%{update_channel} %if 0%{?gstreamer} == 1 ac_add_options --enable-gstreamer=1.0 %endif %if %suse_version > 1130 ac_add_options --disable-gnomevfs ac_add_options --enable-gio %endif %if %suse_version < 1220 ac_add_options --disable-gstreamer %endif %if %has_system_cairo ac_add_options --enable-system-cairo %endif %if ! %crashreporter ac_add_options --disable-crashreporter %endif # Disable neon for arm as it does not build correctly %ifarch %arm ac_add_options --disable-neon %endif EOF make -f client.mk build %install cd $RPM_BUILD_DIR/obj make -C mail/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/thunderbird/* \ $RPM_BUILD_ROOT%{progdir} %if %{with_kde} # install kde.js install -m 644 %{SOURCE12} $RPM_BUILD_ROOT%{progdir}/defaults/pref/kde.js # make sure that instantApply is true by default # (TODO: mozilla-kde.patch needs to be improved to really not load kde.js in non-KDE envs) echo 'pref("browser.preferences.instantApply", true);' > $RPM_BUILD_ROOT%{progdir}/defaults/pref/all-thunderbird.js %endif # build additional locales %if %localize %if 0%{?SOURCE5:1} cp %SOURCE5 ../thunderbird/mail/locales/shipped-locales %endif rm -f %{_tmppath}/translations.* touch %{_tmppath}/translations.{common,other} for locale in $(awk '{ print $1; }' ../thunderbird/mail/locales/shipped-locales); do case $locale in ja-JP-mac|en-US) # locales not to be included in translations package ;; *) pushd $RPM_BUILD_DIR/compare-locales PYTHONPATH=lib \ scripts/compare-locales -m ../l10n-merged/$locale \ ../thunderbird/mail/locales/l10n.ini ../l10n $locale popd LOCALE_MERGEDIR=$RPM_BUILD_DIR/l10n-merged/$locale \ make -C mail/locales langpack-$locale || continue cp -rL mozilla/dist/xpi-stage/locale-$locale \ $RPM_BUILD_ROOT%{progdir}/extensions/langpack-$loc...@thunderbird.mozilla.org # remove prefs and profile defaults from langpack rm -rf $RPM_BUILD_ROOT%{progdir}/extensions/langpack-$loc...@thunderbird.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 el 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...@thunderbird.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:thunderbird:g s:%%PROFILE:.thunderbird: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} # freedesktop definition mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications install -m 644 %{SOURCE1} \ $RPM_BUILD_ROOT%{_datadir}/applications/%{desktop_file_name}.desktop # appdata mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata cp %{SOURCE9} $RPM_BUILD_ROOT%{_datadir}/appdata/%{desktop_file_name}.appdata.xml # apply SUSE defaults sed -e 's,RPM_VERSION,%{mainversion},g s,GSSAPI,%{libgssapi},g' \ %{SOURCE6} > suse-default-prefs cp suse-default-prefs $RPM_BUILD_ROOT%{progdir}/defaults/pref/all-opensuse.js rm suse-default-prefs # use correct locale for useragent cat > $RPM_BUILD_ROOT%{progdir}/defaults/pref/all-l10n.js << EOF pref("general.useragent.locale", "chrome://global/locale/intl.properties"); EOF ########## # DEVEL # mkdir -p $RPM_BUILD_ROOT%{_includedir}/%{progname} chmod a+x mozilla/dist/sdk/bin/*.py cp -rL mozilla/dist/sdk/bin/* $RPM_BUILD_ROOT%{_libdir}/%{progname}/ cp -rL mozilla/dist/sdk/lib/*.a $RPM_BUILD_ROOT%{_libdir}/%{progname}/ cp -rL mozilla/dist/idl/* $RPM_BUILD_ROOT%{_includedir}/%{progname}/ cp -rL mozilla/dist/include/* $RPM_BUILD_ROOT%{_includedir}/%{progname}/ #mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig/ #install -m 755 $RPM_BUILD_DIR/thunderbird/mozilla/build/unix/thunderbird-*.pc \ # $RPM_BUILD_ROOT%{_libdir}/pkgconfig/ #rm $RPM_BUILD_ROOT%{_libdir}/pkgconfig/thunderbird-nss.pc #ln -sf nss.pc $RPM_BUILD_ROOT%{_libdir}/pkgconfig/thunderbird-nss.pc # # # remove spurious executable bits find $RPM_BUILD_ROOT/usr/include/%{progname} -type f -exec chmod a-x {} \; find $RPM_BUILD_ROOT%{_libdir}/%{progname} \ -name "*.js" -o \ -name "*.jsm" -o \ -name "*.rdf" -o \ -name "*.properties" -o \ -name "*.dtd" -o \ -name "*.css" | xargs chmod a-x # remove mkdir.done files from installed base find $RPM_BUILD_ROOT%{progdir} -name ".mkdir.done" | xargs rm # for size in 16 22 24 32 48 256; do mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${size}x${size}/apps/ ln -sf %{progdir}/chrome/icons/default/default$size.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${size}x${size}/apps/%{progname}.png done %suse_update_desktop_file %{desktop_file_name} Network Email GTK # excluded files rm -f $RPM_BUILD_ROOT%{progdir}/thunderbird rm -f $RPM_BUILD_ROOT%{progdir}/removed-files 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}/dictionaries/en-US* rm -f $RPM_BUILD_ROOT%{progdir}/nspr-config # 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%{_libdir}/mozilla %fdupes $RPM_BUILD_ROOT%{_datadir} %fdupes $RPM_BUILD_ROOT%{_includedir} %if %crashreporter SYMBOLS_NAME="thunderbird-%{mainversion}-%{release}.%{_arch}-%{suse_version}-symbols" make buildsymbols \ SYMBOL_INDEX_NAME="$SYMBOLS_NAME.txt" \ SYMBOL_ARCHIVE_BASENAME="$SYMBOLS_NAME" if [ -e mozilla/dist/*symbols.zip ]; then mkdir -p $RPM_BUILD_ROOT%{_datadir}/mozilla/ cp mozilla/dist/*symbols.zip $RPM_BUILD_ROOT%{_datadir}/mozilla/ fi %endif %clean rm -rf $RPM_BUILD_ROOT %if %localize rm -rf %{_tmppath}/translations.* %endif %post %if %suse_version > 1130 %icon_theme_cache_post %endif exit 0 %postun %if %suse_version > 1130 %icon_theme_cache_postun %endif exit 0 %files %defattr(-,root,root) %attr(755,root,root) %{progdir}/%{progname}.sh %dir %{progdir} %{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}/run-mozilla.sh %{progdir}/thunderbird-bin # crashreporter files %if %crashreporter %{progdir}/crashreporter %{progdir}/crashreporter.ini %{progdir}/Throbber-small.gif %endif %{progdir}/components/ %dir %{progdir}/chrome/ %{progdir}/chrome/icons/ %dir %{progdir}/dictionaries/ %{progdir}/defaults/ %dir %{progdir}/extensions/ %{progdir}/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd} %{progdir}/isp/ %{progdir}/searchplugins/ %{_datadir}/appdata/ %{_datadir}/applications/%{desktop_file_name}.desktop %{_datadir}/icons/hicolor/*/apps/%{progname}.png %{_bindir}/%{progname} %if %localize %files translations-common -f %{_tmppath}/translations.common %defattr(-,root,root) %files translations-other -f %{_tmppath}/translations.other %defattr(-,root,root) %endif %files devel %defattr(-,root,root) %{_libdir}/%{progname}/*.a %{_libdir}/%{progname}/*.py %{_libdir}/%{progname}/*.pyc %{_libdir}/%{progname}/ply/ %{_libdir}/%{progname}/xpcshell #%{_libdir}/pkgconfig/*.pc %{_includedir}/%{progname}/ %if %crashreporter %files buildsymbols %defattr(-,root,root) %{_datadir}/mozilla/ %endif %changelog ++++++ create-tar.sh ++++++ #!/bin/bash CHANNEL="esr31" BRANCH="releases/comm-$CHANNEL" RELEASE_TAG="THUNDERBIRD_31_7_0_RELEASE" VERSION="31.7.0" echo "cloning $BRANCH..." hg clone http://hg.mozilla.org/$BRANCH thunderbird pushd thunderbird hg update -r $RELEASE_TAG echo "running client.py..." [ "$RELEASE_TAG" == "default" ] || _extra="--comm-rev=$RELEASE_TAG --mozilla-rev=$RELEASE_TAG" # temporary! _extra="--mozilla-repo=http://hg.mozilla.org/releases/mozilla-$CHANNEL $_extra" python client.py checkout --skip-chatzilla --skip-venkman $_extra popd echo "creating archive..." tar cJf thunderbird-$VERSION-source.tar.xz --exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=CVS thunderbird # l10n # http://l10n.mozilla.org/dashboard/?tree=tb30x -> shipped-locales echo "fetching locales..." if [ -e shipped-locales ]; then SHIPPED_LOCALES=shipped-locales else SHIPPED_LOCALES=thunderbird/mail/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) ;; *) echo "fetching $locale ..." hg clone http://hg.mozilla.org/releases/l10n/mozilla-release/$locale l10n/$locale hg -R l10n/$locale up -C -r $RELEASE_TAG ;; esac done echo "creating l10n archive..." tar cJf l10n-$VERSION.tar.xz \ --exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=browser --exclude=calendar \ --exclude=suite \ l10n # compare-locales hg clone http://hg.mozilla.org/build/compare-locales tar cJf compare-locales.tar.xz --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 ++++++ kde.js ++++++ pref("browser.preferences.instantApply", false); ++++++ mozilla-arm-disable-edsp.patch ++++++ # HG changeset patch # User Adrian Schröter <adr...@suse.de> # Parent b945e0c3b145b6b2245f42bab52f911c2d1f6759 disable ESDP support (no BNC or BMO reference yet :-() diff --git a/mozglue/build/arm.h b/mozglue/build/arm.h --- a/mozglue/build/arm.h +++ b/mozglue/build/arm.h @@ -116,17 +116,17 @@ namespace mozilla { extern bool MFBT_DATA neon_enabled; #endif #endif } #if defined(MOZILLA_PRESUME_EDSP) # define MOZILLA_MAY_SUPPORT_EDSP 1 inline bool supports_edsp() { return true; } -#elif defined(MOZILLA_MAY_SUPPORT_EDSP) \ +#elif 0 \ && defined(MOZILLA_ARM_HAVE_CPUID_DETECTION) inline bool supports_edsp() { return arm_private::edsp_enabled; } #else inline bool supports_edsp() { return false; } #endif #if defined(MOZILLA_PRESUME_ARMV6) # define MOZILLA_MAY_SUPPORT_ARMV6 1 ++++++ mozilla-icu-strncat.patch ++++++ # HG changeset patch # Parent 29be2a4daa0f512d22bde85b97b5460839026571 # User Wolfgang Rosenauer <w...@rosenauer.org> From: Jan Engelhardt <jeng...@inai.de> Reference: http://bugs.icu-project.org/trac/ticket/7808 diff --git a/intl/icu/source/tools/pkgdata/pkgdata.cpp b/intl/icu/source/tools/pkgdata/pkgdata.cpp --- a/intl/icu/source/tools/pkgdata/pkgdata.cpp +++ b/intl/icu/source/tools/pkgdata/pkgdata.cpp @@ -1975,22 +1975,22 @@ static void loadLists(UPKGOptions *o, UE FILE *p = NULL; size_t n; static char buf[512] = ""; char cmdBuf[1024]; UErrorCode status = U_ZERO_ERROR; const char cmd[] = "icu-config --incpkgdatafile"; /* #1 try the same path where pkgdata was called from. */ - findDirname(progname, cmdBuf, 1024, &status); + findDirname(progname, cmdBuf, sizeof(cmdBuf), &status); if(U_SUCCESS(status)) { if (cmdBuf[0] != 0) { - uprv_strncat(cmdBuf, U_FILE_SEP_STRING, 1024); + uprv_strncat(cmdBuf, U_FILE_SEP_STRING, sizeof(cmdBuf)-1-strlen(cmdBuf)); } - uprv_strncat(cmdBuf, cmd, 1024); + uprv_strncat(cmdBuf, cmd, sizeof(cmdBuf)-1-strlen(cmdBuf)); if(verbose) { fprintf(stdout, "# Calling icu-config: %s\n", cmdBuf); } p = popen(cmdBuf, "r"); } if(p == NULL || (n = fread(buf, 1, 511, p)) <= 0) { ++++++ mozilla-kde.patch ++++++ ++++ 3695 lines (skipped) ++++++ mozilla-language.patch ++++++ # HG changeset patch # User Wolfgang Rosenauer <w...@rosenauer.org> # Parent 13eb644c1216aed92b29dbc63fc26ce66f98c66c 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 @@ -122,16 +122,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; @@ -150,16 +151,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 ++++++ 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 @@ -53,23 +53,27 @@ nsUnixSystemProxySettings::GetMainThread // dbus prevents us from being threadsafe, but this routine should not block anyhow *aMainThreadOnly = true; return NS_OK; } nsresult nsUnixSystemProxySettings::Init() { - 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")) { + 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-nullptr-gcc45.patch ++++++ # HG changeset patch # Parent c7f2d830f66744f9da21b93f80017d28b5fba9a0 # User Wolfgang Rosenauer <w...@rosenauer.org> Bug 1044581 - compilation error: bit_reader.cc:12:3: error: 'nullptr' was not declared in this scope diff --git a/content/media/fmp4/demuxer/bit_reader.cc b/content/media/fmp4/demuxer/bit_reader.cc --- a/content/media/fmp4/demuxer/bit_reader.cc +++ b/content/media/fmp4/demuxer/bit_reader.cc @@ -1,12 +1,13 @@ // Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include "nullptr.h" #include "mp4_demuxer/bit_reader.h" #include <algorithm> namespace mp4_demuxer { BitReader::BitReader(const uint8_t* data, off_t size) : data_(data), bytes_left_(size), num_remaining_bits_in_curr_byte_(0) { DCHECK(data_ != nullptr && bytes_left_ > 0); diff --git a/content/media/fmp4/moz.build b/content/media/fmp4/moz.build --- a/content/media/fmp4/moz.build +++ b/content/media/fmp4/moz.build @@ -2,16 +2,17 @@ # vim: set filetype=python: # 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/. EXPORTS += [ 'MP4Decoder.h', 'MP4Reader.h', + 'nullptr.h', 'PlatformDecoderModule.h', ] EXPORTS.mp4_demuxer += [ 'demuxer/aac.h', 'demuxer/audio_decoder_config.h', 'demuxer/avc.h', 'demuxer/basictypes.h', diff --git a/content/media/fmp4/nullptr.h b/content/media/fmp4/nullptr.h new file mode 100644 --- /dev/null +++ b/content/media/fmp4/nullptr.h @@ -0,0 +1,7 @@ + +// GCC does not understand nullptr until 4.6 +#if defined(__GNUC__) && !defined(__clang__) +#if __GNUC__ * 100 + __GNUC_MINOR__ < 406 +#define nullptr __null +#endif +#endif ++++++ mozilla-ppc.patch ++++++ # HG changeset patch # Parent 21d0e194954e451f0f1935d0ed68ee9eae432ddf # User Wolfgang Rosenauer <w...@rosenauer.org> Bug 746112 - RegExp hang on ppc64 in execute. 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 @@ -180,17 +180,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,17 @@ 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(__ia64__) && !defined(__sparc__) && !defined(__mips__) +#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !(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. ++++++ 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 @@ -8231,16 +8231,31 @@ if test "$MOZ_ENABLE_SKIA"; then MOZ_ENABLE_SKIA_GPU=1 AC_DEFINE(USE_SKIA_GPU) AC_SUBST(MOZ_ENABLE_SKIA_GPU) fi fi AC_SUBST(MOZ_ENABLE_SKIA) 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 disable xul dnl ======================================================== MOZ_ARG_DISABLE_BOOL(xul, [ --disable-xul Disable XUL], MOZ_XUL= ) if test "$MOZ_XUL"; then AC_DEFINE(MOZ_XUL) else diff --git a/security/manager/ssl/src/Makefile.in b/security/manager/ssl/src/Makefile.in new file mode 100644 --- /dev/null +++ b/security/manager/ssl/src/Makefile.in @@ -0,0 +1,8 @@ +#! gmake +# +# 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/. + +LOCAL_INCLUDES += $(NSSHELPER_CFLAGS) +EXTRA_DSO_LDOPTS += $(NSSHELPER_LIBS) 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 "ExtendedValidation.h" #include "NSSCertDBTrustDomain.h" #include "mozilla/Telemetry.h" #include "nsCertVerificationThread.h" #include "nsAppDirectoryServiceDefs.h" #include "nsComponentManagerUtils.h" @@ -1141,17 +1148,31 @@ nsNSSComponent::InitializeNSS() if (NS_FAILED(rv)) { nsPSMInitPanic::SetPanic(); return NS_ERROR_NOT_AVAILABLE; } SECStatus init_rv = SECFailure; if (!profileStr.IsEmpty()) { // First try to initialize the NSS DB in read/write mode. - SECStatus init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), false); +#ifdef MOZ_ENABLE_NSSHELPER + if (PR_GetEnv("MOZ_TB_NO_NSSHELPER")) { + init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), false); + } else { + uint32_t flags = NSS_INIT_NOROOTINIT | NSS_INIT_OPTIMIZESPACE; + init_rv = ::nsshelp_open_db ("Thunderbird", profileStr.get(), 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 = ::mozilla::psm::InitializeNSS(profileStr.get(), false); + } + } +#else + init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), false); +#endif // If that fails, attempt read-only mode. if (init_rv != SECSuccess) { PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("could not init NSS r/w in %s\n", profileStr.get())); init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), true); } if (init_rv != SECSuccess) { PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("could not init in r/o either\n")); } diff --git a/toolkit/library/libxul.mk b/toolkit/library/libxul.mk --- a/toolkit/library/libxul.mk +++ b/toolkit/library/libxul.mk @@ -146,17 +146,17 @@ OS_LIBS += $(call EXPAND_LIBNAME,mfuuid endif ifdef MOZ_DIRECTSHOW OS_LIBS += $(call EXPAND_LIBNAME,dmoguids wmcodecdspuuid strmiids msdmo) endif EXTRA_DSO_LDOPTS += $(LIBS_DIR) -EXTRA_DSO_LDOPTS += $(NSPR_LIBS) $(MOZALLOC_LIB) +EXTRA_DSO_LDOPTS += $(NSPR_LIBS) $(MOZALLOC_LIB) $(NSSHELPER_LIBS) ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa) OS_LIBS += \ $(TK_LIBS) \ $(NULL) endif ifeq (OpenBSD,$(OS_ARCH)) ++++++ 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 "set args ${1+"$@"}" > $tmpfile echo "run" >> $tmpfile echo "$moz_debugger $MOZ_PROGRAM -x $tmpfile" exec $moz_debugger "$MOZ_PROGRAM" -x $tmpfile else exec $MOZ_PROGRAM "$@" fi ++++++ suse-default-prefs.js ++++++ pref("general.useragent.vendor", "SUSE"); pref("general.useragent.vendorSub", "RPM_VERSION"); pref("font.default", "sans-serif"); pref("font.default.x-western", "sans-serif"); pref("font.name.monospace.x-western", "monospace"); pref("font.name.monospace.x-unicode", "monospace"); 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); // spellcheck pref("spellchecker.dictionary_path", "/usr/share/myspell"); ++++++ tb-develdirs.patch ++++++ diff --git a/config/baseconfig.mk b/config/baseconfig.mk --- a/config/baseconfig.mk +++ b/config/baseconfig.mk @@ -1,10 +1,10 @@ -includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) -idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) +includedir := $(includedir)/$(MOZ_APP_NAME) +idldir = $(datadir)/idl/$(MOZ_APP_NAME) installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION) MOZILLA_SRCDIR = $(topsrcdir)/mozilla MOZDEPTH = $(DEPTH)/mozilla DIST = $(MOZDEPTH)/dist # We do magic with OBJ_SUFFIX in config.mk, the following ensures we don't # manually use it before config.mk inclusion ++++++ tb-ssldap.patch ++++++ diff --git a/mail/installer/package-manifest.in b/mail/installer/package-manifest.in --- a/mail/installer/package-manifest.in +++ b/mail/installer/package-manifest.in @@ -268,16 +268,17 @@ #ifdef XP_WIN32 @BINPATH@/nsldap32v60@DLL_SUFFIX@ @BINPATH@/nsldappr32v60@DLL_SUFFIX@ @BINPATH@/nsldif32v60@DLL_SUFFIX@ #else @BINPATH@/@DLL_PREFIX@ldap60@DLL_SUFFIX@ @BINPATH@/@DLL_PREFIX@ldif60@DLL_SUFFIX@ @BINPATH@/@DLL_PREFIX@prldap60@DLL_SUFFIX@ +@BINPATH@/@DLL_PREFIX@ssldap60@DLL_SUFFIX@ #endif ; login manager @BINPATH@/components/loginmgr.xpt @BINPATH@/components/nsLoginInfo.js @BINPATH@/components/nsLoginManager.js @BINPATH@/components/nsLoginManagerPrompter.js @BINPATH@/components/passwordmgr.manifest ++++++ thunderbird-rpmlintrc ++++++ addFilter("no-jar-manifest") ++++++ thunderbird-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/mail/app/Makefile.in b/mail/app/Makefile.in --- a/mail/app/Makefile.in +++ b/mail/app/Makefile.in @@ -54,16 +54,17 @@ LOCAL_INCLUDES += \ -I$(MOZILLA_SRCDIR)/xpcom/build \ $(NULL) DEFINES += -DXPCOM_GLUE STL_FLAGS= LIBS += \ $(XPCOM_STANDALONE_GLUE_LDOPTS) \ + $(NSSHELPER_LIBS) \ $(NULL) ifdef MOZ_LINKER LIBS += $(MOZ_ZLIB_LIBS) endif ifndef MOZ_WINCONSOLE ifdef MOZ_DEBUG ++++++ thunderbird.desktop ++++++ [Desktop Entry] Encoding=UTF-8 Name=Thunderbird GenericName=Mail/News Client Comment=Mail/News Client TryExec=thunderbird Exec=thunderbird %u Icon=thunderbird Terminal=false Type=Application StartupNotify=true MimeType=x-scheme-handler/mailto;