commit MozillaThunderbird.5900 for openSUSE:13.2:Update
Hello community, here is the log from the commit of package MozillaThunderbird.5900 for openSUSE:13.2:Update checked in at 2016-11-25 19:53:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:13.2:Update/MozillaThunderbird.5900 (Old) and /work/SRC/openSUSE:13.2:Update/.MozillaThunderbird.5900.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "MozillaThunderbird.5900" Changes: -------- New Changes file: --- /dev/null 2016-10-27 01:54:32.792041256 +0200 +++ /work/SRC/openSUSE:13.2:Update/.MozillaThunderbird.5900.new/MozillaThunderbird.changes 2016-11-25 19:53:25.000000000 +0100 @@ -0,0 +1,2648 @@ +------------------------------------------------------------------- +Sat Nov 19 14:20:05 UTC 2016 - astieger@suse.com + +- Mozilla Thunderbird 45.5.0 (boo#1009026) +- Changed behavior: + * Changed recipient address entry: Arrow-keys now copy the pop-up + value to the input field. Mouse-hovered pop-up value can no + longer be confirmed with tab or enter key. This restores the + behavior of Thunderbird 24. + * Support changes to character limit in Twitter +- Bugs fixed: + * Reply with selected text containing quote resulted in wrong + quoting level indication + * Email invitation might not be displayed when description + contains non-ASCII characters + * Attempting to sort messages on the Date field whilst a quick + filter is applied got stuck on sort descending + * Mail address display at header pane displayed incorrectly if + the address contains UTF-8 according to RFC 6532 + +------------------------------------------------------------------- +Sat Oct 1 07:12:08 UTC 2016 - wr@rosenauer.org + +- update to Thunderbird 45.4.0 (boo#999701) + * Display name was truncated if no separating space before email + address. + * Recipient addresses were shown in wrong color in some circumstances. + * Additional spaces were inserted when drafts were edited. + * Mail saved as template copied In-Reply-To and References from + original email. + * Threading broken when editing message draft, due to loss of Message-ID + * "Apply columns to..." did not honor special folders + +------------------------------------------------------------------- +Tue Aug 30 06:55:14 UTC 2016 - wr@rosenauer.org + +- update to Thunderbird 45.3.0 (boo#991809) + * Disposition-Notification-To could not be used in + mail.compose.other.header + * "edit as new message" on a received message pre-filled the sender + as the composing identity. + * Certain messages caused corruption of the drafts summary database. + security fixes: + * MFSA 2016-62/CVE-2016-2836 + Miscellaneous memory safety hazards + * MFSA 2016-63/CVE-2016-2830 (bmo#1255270) + Favicon network connection can persist when page is closed + * MFSA 2016-64/CVE-2016-2838 (bmo#1279814) + Buffer overflow rendering SVG with bidirectional content + * MFSA 2016-65/CVE-2016-2839 (bmo#1275339) + Cairo rendering crash due to memory allocation issue with FFmpeg 0.10 + * MFSA 2016-67/CVE-2016-5252 (bmo#1268854) + Stack underflow during 2D graphics rendering + * MFSA 2016-70/CVE-2016-5254 (bmo#1266963) + Use-after-free when using alt key and toplevel menus + * MFSA 2016-72/CVE-2016-5258 (bmo#1279146) + Use-after-free in DTLS during WebRTC session shutdown + * MFSA 2016-73/CVE-2016-5259 (bmo#1282992) + Use-after-free in service workers with nested sync events + * MFSA 2016-76/CVE-2016-5262 (bmo#1277475) + Scripts on marquee tag can execute in sandboxed iframes + * MFSA 2016-77/CVE-2016-2837 (bmo#1274637) + Buffer overflow in ClearKey Content Decryption Module (CDM) + during video playback + * MFSA 2016-78/CVE-2016-5263 (bmo#1276897) + Type confusion in display transformation + * MFSA 2016-79/CVE-2016-5264 (bmo#1286183) + Use-after-free when applying SVG effects + * MFSA 2016-80/CVE-2016-5265 (bmo#1278013) + Same-origin policy violation using local HTML file and saved shortcut file + +------------------------------------------------------------------- +Fri Aug 5 13:47:12 UTC 2016 - pcerny@suse.com + +- Fix for possible buffer overrun (bsc#990856) + CVE-2016-6354 (bmo#1292534) + [mozilla-flex_buffer_overrun.patch] + +------------------------------------------------------------------- +Thu Jul 21 11:50:27 UTC 2016 - mailaender@opensuse.org + +- add a screenshot to appdata.xml + +------------------------------------------------------------------- +Thu Jun 30 09:18:14 UTC 2016 - wr@rosenauer.org + +- update to Thunderbird 45.2 (boo#983549) + Security fixes: + * CVE-2016-2818, CVE-2016-2815: Memory safety bugs (MFSA2016-49) +- drop mozilla-flexible-array-member-in-union.patch, upstream + +------------------------------------------------------------------- +Fri Jun 24 14:10:58 UTC 2016 - wr@rosenauer.org + +- mozilla-binutils-visibility.patch to fix build issues with + gcc/binutils combination used in Leap 42.2 (boo#984637) + +------------------------------------------------------------------- +Thu Jun 23 10:15:51 UTC 2016 - wr@rosenauer.org + +- build with -fno-delete-null-pointer-checks for Tumbleweed/gcc6 + as long as underlying issues have been addressed upstream + (boo#986162) + +------------------------------------------------------------------- +Mon Jun 13 20:28:01 UTC 2016 - agraf@suse.com + +- Fix running on 48bit va aarch64 (bsc#984126) + - Add patch mozilla-aarch64-48bit-va.patch + +------------------------------------------------------------------- +Fri May 27 12:51:23 UTC 2016 - wr@rosenauer.org + +- update to Thunderbird 45.1.1 + * When entering members into a mailing list, the enter key + dismissed the panel instead of just moving onto the next line + * Email without HTML elements was sent as HTML, despite + "Delivery Format: Auto-detect" option + * Options applied to a template were lost when the template was used + * Contacts could not be deleted when they were found through a search + * Views from global searches did not respect + "mail.threadpane.use_correspondents" + +------------------------------------------------------------------- +Wed May 25 18:20:24 UTC 2016 - badshah400@gmail.com + +- The conditional testing for gcc was failing for different + openSUSE versions, drop it and apply patches unconditionally. + +------------------------------------------------------------------- +Tue May 24 18:28:31 UTC 2016 - badshah400@gmail.com + +- Add patches to fix building with gcc >= 6: + + mozilla-gcc6.patch: patch taken from fedora's git and is + essentially identical to upstream firefox patch: + https://hg.mozilla.org/mozilla-central/rev/55212130f19d. + + mozilla-flexible-array-member-in-union.patch: patch taken + from upstream bmo#1272649. + +------------------------------------------------------------------- +Thu May 12 15:21:45 UTC 2016 - dimstar@opensuse.org + +- Copy the icons to /usr/share/icons instead of symlinking them: + in preparation for containerized apps (e.g. xdg-app) as well as + AppStream metadata extraction, there are a couple locations that + need to be real files for system integration (.desktop files, + icons, mime-type info). + +------------------------------------------------------------------- +Sat May 7 22:19:09 UTC 2016 - wr@rosenauer.org + +- update to Thunderbird 45.1.0 (boo#977333) + * MFSA 2016-39/CVE-2016-2806/CVE-2016-2807 (boo#977375, boo#977376) + Miscellaneous memory safety hazards + +------------------------------------------------------------------- +Wed Apr 27 04:26:56 UTC 2016 - badshah400@gmail.com + +- For openSUSE > 13.2, the build fails for i586 as it goes out of + memory. Prevent this from happening by disabing parallel build + in this particular case (i.e. do not pass + mk_add_options MOZ_MAKE_FLAGS%{?jobs:-j%jobs}). + +------------------------------------------------------------------- +Sat Apr 16 08:11:14 UTC 2016 - wr@rosenauer.org + +- update to Thunderbird 45.0 (boo#969894) + * Add a Correspondents column combining Sender and Recipient + * Much better support for XMPP chatrooms and commands + * Remote content exceptions: Improved options to add exceptions + * Implement option to always use HTML formatting to prevent + unexpected format loss when converting messages to plain text + * Use OpenStreetmap for maps (even allow the user to choose from + list of map services) + * Allow spell checking and dictionary selection in the subject line + * Allow editing of From when composing a message + * Add dropdown in compose to allow specific setting of font size + * Return/Enter in composer will now insert a new paragraph by + default (shift-Enter will insert a line break) + * Allow copying of name and email address from the message header + of an email + * Mail.ru supports OAuth authentication + * MFSA 2016-16/CVE-2016-1952/CVE-2016-1953 + Miscellaneous memory safety hazards + * MFSA 2016-17/CVE-2016-1954 (bmo#1243178) + Local file overwriting and potential privilege escalation through + CSP reports + * MFSA 2016-18/CVE-2016-1955 (bmo#1208946) + CSP reports fail to strip location information for embedded iframe pages + * MFSA 2016-19/CVE-2016-1956 (bmo#1199923) + Linux video memory DOS with Intel drivers + * MFSA 2016-20/CVE-2016-1957 (bmo#1227052) + Memory leak in libstagefright when deleting an array during MP4 + processing + * MFSA 2016-23/CVE-2016-1960/ZDI-CAN-3545 (bmo#1246014) + Use-after-free in HTML5 string parser + * MFSA 2016-24/CVE-2016-1961/ZDI-CAN-3574 (bmo#1249377) ++++ 2451 more lines (skipped) ++++ between /dev/null ++++ and /work/SRC/openSUSE:13.2:Update/.MozillaThunderbird.5900.new/MozillaThunderbird.changes New: ---- MozillaThunderbird.changes MozillaThunderbird.spec _constraints compare-locales.tar.xz create-tar.sh find-external-requires.sh kde.js l10n-45.5.0.tar.xz mozilla-aarch64-48bit-va.patch mozilla-binutils-visibility.patch mozilla-develdirs.patch mozilla-flex_buffer_overrun.patch mozilla-gcc6.patch mozilla-kde.patch mozilla-language.patch mozilla-no-stdcxx-check.patch mozilla-nongnome-proxies.patch mozilla.sh.in suse-default-prefs.js tb-ssldap.patch thunderbird-45.5.0-source.tar.xz thunderbird-rpmlintrc thunderbird.appdata.xml thunderbird.desktop ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ MozillaThunderbird.spec ++++++ # # spec file for package MozillaThunderbird # # Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # 2006-2016 Wolfgang Rosenauer <wr@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 45.5.0 %define update_channel release %define releasedate 2016111800 %if %suse_version > 1310 %define gstreamer_ver 1.0 %define gstreamer 1 %else %define gstreamer_ver 0.10 %endif %bcond_without mozilla_tb_kde4 %bcond_with mozilla_tb_valgrind %bcond_without mozilla_tb_optimize_for_size Name: MozillaThunderbird BuildRequires: Mesa-devel BuildRequires: autoconf213 BuildRequires: dbus-1-glib-devel BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: hunspell-devel BuildRequires: libXcomposite-devel BuildRequires: libcurl-devel BuildRequires: libgnomeui-devel BuildRequires: libidl-devel BuildRequires: libnotify-devel BuildRequires: mozilla-nspr-devel >= 4.12 BuildRequires: mozilla-nss-devel >= 3.21.3 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 %{with mozilla_tb_valgrind} BuildRequires: pkgconfig(valgrind) %endif 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 Version: %{mainversion} Release: 0 Provides: thunderbird = %{version} Provides: appdata() Provides: appdata(thunderbird.appdata.xml) %if %{with mozilla_tb_kde4} # 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-language.patch Patch2: mozilla-nongnome-proxies.patch Patch3: mozilla-kde.patch Patch4: mozilla-develdirs.patch Patch5: mozilla-no-stdcxx-check.patch Patch6: mozilla-gcc6.patch Patch8: mozilla-aarch64-48bit-va.patch Patch9: mozilla-binutils-visibility.patch # Thunderbird/mail Patch20: tb-ssldap.patch # hotfix Patch150: mozilla-flex_buffer_overrun.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: coreutils fileutils textutils /bin/sh Recommends: libcanberra0 ### build options %ifarch aarch64 ppc ppc64 ppc64le s390 s390x ia64 %arm %define crashreporter 0 %else %define crashreporter 1 %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 %if %{with mozilla_tb_kde4} %patch3 -p1 %endif %patch4 -p1 %patch5 -p1 %patch6 -p1 %patch8 -p1 %patch9 -p1 %patch150 -p1 popd # comm-central patches %patch20 -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 mozilla_tb_kde4} 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 -fno-strict-aliasing" %if 0%{?suse_version} > 1320 export CFLAGS="$CFLAGS -fno-delete-null-pointer-checks" %endif %if %{with mozilla_tb_optimize_for_size} export CFLAGS="$CFLAGS -Os" %endif %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 # -g might be part of RPM_OPT_FLAGS, depending on the debuginfo setting in prj config # gcc lacks a an explicit -noop, so use something similar to make sure -g # is not forced into CFLAGS export MOZ_DEBUG_FLAGS="-pipe" # cat << EOF > $MOZCONFIG mk_add_options MOZILLA_OFFICIAL=1 mk_add_options BUILD_OFFICIAL=1 mk_add_options MOZ_MILESTONE_RELEASE=1 %if 0%{?suse_version} > 1320 %ifarch i586 mk_add_options MOZ_MAKE_FLAGS=-j1 %else mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs} %endif %endif mk_add_options MOZ_OBJDIR=$RPM_BUILD_DIR/obj ac_add_options --enable-application=mail ac_add_options --enable-calendar 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 %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 %if %{with mozilla_tb_valgrind} ac_add_options --disable-jemalloc ac_add_options --enable-valgrind %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/dist/thunderbird/* \ $RPM_BUILD_ROOT%{progdir} %if %{with mozilla_tb_kde4} # 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 dist/xpi-stage/locale-$locale \ $RPM_BUILD_ROOT%{progdir}/extensions/langpack-$locale@thunderbird.mozilla.org # Lightning _shipcalendar=0 #for callocale in in $(awk '{ print $1; }' ../thunderbird/calendar/locales/shipped-locales); do # if [ "$locale" = "$callocale" ]; then # make -C mail/locales calendar-langpack-$locale || continue # cp -rL dist/xpi-stage/lightning-$locale \ # $RPM_BUILD_ROOT%{progdir}/extensions/lightning-langpack-$locale@thunderbird.mozilla.org # _shipcalendar=1 # fi #done # remove prefs and profile defaults from langpack rm -rf $RPM_BUILD_ROOT%{progdir}/extensions/langpack-$locale@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-$locale@thunderbird.mozilla.org \ >> %{_tmppath}/translations.$_l10ntarget if [ $_shipcalendar -eq 1 ]; then echo %{progdir}/extensions/lightning-langpack-$locale@thunderbird.mozilla.org \ >> %{_tmppath}/translations.$_l10ntarget fi 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 dist/sdk/bin/*.py cp -rL dist/sdk/bin/* $RPM_BUILD_ROOT%{_libdir}/%{progname}/ cp -rL dist/sdk/lib/*.a $RPM_BUILD_ROOT%{_libdir}/%{progname}/ cp -rL dist/idl/* $RPM_BUILD_ROOT%{_includedir}/%{progname}/ cp -rL 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/ cp %{buildroot}%{progdir}/chrome/icons/default/default$size.png \ %{buildroot}%{_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 dist/*symbols.zip ]; then mkdir -p $RPM_BUILD_ROOT%{_datadir}/mozilla/ cp dist/*symbols.zip $RPM_BUILD_ROOT%{_datadir}/mozilla/ fi %endif %clean rm -rf $RPM_BUILD_ROOT %if %localize rm -rf %{_tmppath}/translations.* %endif %post %icon_theme_cache_post exit 0 %postun %icon_theme_cache_postun exit 0 %files %defattr(-,root,root) %attr(755,root,root) %{progdir}/%{progname}.sh %dir %{progdir} %{progdir}/application.ini %{progdir}/blocklist.xml %{progdir}/dependentlibs.list %{progdir}/*.so %{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 %dir %{progdir}/chrome/ %{progdir}/chrome/icons/ %dir %{progdir}/dictionaries/ %{progdir}/distribution/ %{progdir}/defaults/ %dir %{progdir}/extensions/ %{progdir}/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi %{progdir}/isp/ %{_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}/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="esr45" BRANCH="releases/comm-$CHANNEL" RELEASE_TAG="THUNDERBIRD_45_5_0_RELEASE" VERSION="45.5.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=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-aarch64-48bit-va.patch ++++++ # HG changeset patch # User Zheng Xu <zheng.xu@linaro.org> # Date 1464657720 -7200 # Node ID dfaafbaaa2919a033c4c0abdd5830f4ea413bed6 # Parent 499f16ca85ec48d1896a1633730715f32bd62140 Bug 1143022 - Manually mmap on arm64 to ensure high 17 bits are clear. r=ehoogeveen There might be 48-bit VA on arm64 depending on kernel configuration. Manually mmap heap memory to align with the assumption made by JS engine. diff --git a/js/src/gc/Memory.cpp b/js/src/gc/Memory.cpp --- a/js/src/gc/Memory.cpp +++ b/js/src/gc/Memory.cpp @@ -430,17 +430,17 @@ InitMemorySubsystem() if (pageSize == 0) pageSize = allocGranularity = size_t(sysconf(_SC_PAGESIZE)); } static inline void* MapMemoryAt(void* desired, size_t length, int prot = PROT_READ | PROT_WRITE, int flags = MAP_PRIVATE | MAP_ANON, int fd = -1, off_t offset = 0) { -#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__)) +#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__)) || defined(__aarch64__) MOZ_ASSERT(0xffff800000000000ULL & (uintptr_t(desired) + length - 1) == 0); #endif void* region = mmap(desired, length, prot, flags, fd, offset); if (region == MAP_FAILED) return nullptr; /* * mmap treats the given address as a hint unless the MAP_FIXED flag is * used (which isn't usually what you want, as this overrides existing @@ -480,16 +480,51 @@ MapMemory(size_t length, int prot = PROT * as out of memory. */ if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) { if (munmap(region, length)) MOZ_ASSERT(errno == ENOMEM); return nullptr; } return region; +#elif defined(__aarch64__) + /* + * There might be similar virtual address issue on arm64 which depends on + * hardware and kernel configurations. But the work around is slightly + * different due to the different mmap behavior. + * + * TODO: Merge with the above code block if this implementation works for + * ia64 and sparc64. + */ + const uintptr_t start = UINT64_C(0x0000070000000000); + const uintptr_t end = UINT64_C(0x0000800000000000); + const uintptr_t step = ChunkSize; + /* + * Optimization options if there are too many retries in practice: + * 1. Examine /proc/self/maps to find an available address. This file is + * not always available, however. In addition, even if we examine + * /proc/self/maps, we may still need to retry several times due to + * racing with other threads. + * 2. Use a global/static variable with lock to track the addresses we have + * allocated or tried. + */ + uintptr_t hint; + void* region = MAP_FAILED; + for (hint = start; region == MAP_FAILED && hint + length <= end; hint += step) { + region = mmap((void*)hint, length, prot, flags, fd, offset); + if (region != MAP_FAILED) { + if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) { + if (munmap(region, length)) { + MOZ_ASSERT(errno == ENOMEM); + } + region = MAP_FAILED; + } + } + } + return region == MAP_FAILED ? nullptr : region; #else void* region = MozTaggedAnonymousMmap(nullptr, length, prot, flags, fd, offset, "js-gc-heap"); if (region == MAP_FAILED) return nullptr; return region; #endif } diff --git a/js/src/jsapi-tests/testGCAllocator.cpp b/js/src/jsapi-tests/testGCAllocator.cpp --- a/js/src/jsapi-tests/testGCAllocator.cpp +++ b/js/src/jsapi-tests/testGCAllocator.cpp @@ -307,48 +307,72 @@ void* mapMemoryAt(void* desired, size_t void* mapMemory(size_t length) { return nullptr; } void unmapPages(void* p, size_t size) { } #elif defined(XP_UNIX) void* mapMemoryAt(void* desired, size_t length) { -#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__)) +#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__)) || defined(__aarch64__) MOZ_RELEASE_ASSERT(0xffff800000000000ULL & (uintptr_t(desired) + length - 1) == 0); #endif void* region = mmap(desired, length, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0); if (region == MAP_FAILED) return nullptr; if (region != desired) { if (munmap(region, length)) MOZ_RELEASE_ASSERT(errno == ENOMEM); return nullptr; } return region; } void* mapMemory(size_t length) { - void* hint = nullptr; + int prot = PROT_READ | PROT_WRITE; + int flags = MAP_PRIVATE | MAP_ANON; + int fd = -1; + off_t offset = 0; + // The test code must be aligned with the implementation in gc/Memory.cpp. #if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__)) - hint = (void*)0x0000070000000000ULL; -#endif - void* region = mmap(hint, length, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0); + void* region = mmap((void*)0x0000070000000000, length, prot, flags, fd, offset); if (region == MAP_FAILED) return nullptr; -#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__)) - if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000ULL) { + if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) { if (munmap(region, length)) MOZ_RELEASE_ASSERT(errno == ENOMEM); return nullptr; } + return region; +#elif defined(__aarch64__) + const uintptr_t start = UINT64_C(0x0000070000000000); + const uintptr_t end = UINT64_C(0x0000800000000000); + const uintptr_t step = ChunkSize; + uintptr_t hint; + void* region = MAP_FAILED; + for (hint = start; region == MAP_FAILED && hint + length <= end; hint += step) { + region = mmap((void*)hint, length, prot, flags, fd, offset); + if (region != MAP_FAILED) { + if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) { + if (munmap(region, length)) { + MOZ_RELEASE_ASSERT(errno == ENOMEM); + } + region = MAP_FAILED; + } + } + } + return region == MAP_FAILED ? nullptr : region; +#else + void* region = mmap(nullptr, length, prot, flags, fd, offset); + if (region == MAP_FAILED) + return nullptr; + return region; #endif - return region; } void unmapPages(void* p, size_t size) { if (munmap(p, size)) MOZ_RELEASE_ASSERT(errno == ENOMEM); } ++++++ mozilla-binutils-visibility.patch ++++++ # HG changeset patch # User Wolfgang Rosenauer <wr@rosenauer.org> # Parent 83bc32d997c714b607db1ffa71f02b30e1484a75 From: NetBSD Subject: Workaround for gcc/binutils combination in Leap 42.2 References: https://bugzilla.opensuse.org/show_bug.cgi?id=984637 diff --git a/xpcom/components/Module.h b/xpcom/components/Module.h --- a/xpcom/components/Module.h +++ b/xpcom/components/Module.h @@ -120,17 +120,17 @@ struct Module #if defined(MOZILLA_INTERNAL_API) # define NSMODULE_NAME(_name) _name##_NSModule # if defined(_MSC_VER) # pragma section(".kPStaticModules$M", read) # pragma comment(linker, "/merge:.kPStaticModules=.rdata") # define NSMODULE_SECTION __declspec(allocate(".kPStaticModules$M"), dllexport) # elif defined(__GNUC__) # if defined(__ELF__) -# define NSMODULE_SECTION __attribute__((section(".kPStaticModules"), visibility("protected"))) +# define NSMODULE_SECTION __attribute__((section(".kPStaticModules"), visibility("default"))) # elif defined(__MACH__) # define NSMODULE_SECTION __attribute__((section("__DATA, .kPStaticModules"), visibility("default"))) # elif defined (_WIN32) # define NSMODULE_SECTION __attribute__((section(".kPStaticModules"), dllexport)) # endif # endif # if !defined(NSMODULE_SECTION) # error Do not know how to define sections. ++++++ mozilla-develdirs.patch ++++++ diff --git a/config/baseconfig.mk b/config/baseconfig.mk --- a/config/baseconfig.mk +++ b/config/baseconfig.mk @@ -1,16 +1,16 @@ # This file is normally included by autoconf.mk, but it is also used # directly in python/mozbuild/mozbuild/base.py for gmake validation. # We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending # whether a normal build is happening or whether the check is running. -includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) -idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) -installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) -sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION) +includedir := $(includedir)/$(MOZ_APP_NAME) +idldir = $(datadir)/idl/$(MOZ_APP_NAME) +installdir = $(libdir)/$(MOZ_APP_NAME) +sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel ifeq (.,$(DEPTH)) DIST = dist else DIST = $(DEPTH)/dist endif # We do magic with OBJ_SUFFIX in config.mk, the following ensures we don't # manually use it before config.mk inclusion ++++++ mozilla-flex_buffer_overrun.patch ++++++ # HG changeset patch # Parent c8e8364b303892fdb5a574b96411d2d8f699a15e Patch lexical parser files generated by flex which may be potentially exploitable in a buffer overrun. These seem to come from an upstream projects (CMU Sphinx and ANGLE) so it should be fixed there in the first place. CVE-2016-6354 https://bugzilla.suse.com/show_bug.cgi?id=990856 diff --git a/gfx/angle/src/compiler/preprocessor/Tokenizer.cpp b/gfx/angle/src/compiler/preprocessor/Tokenizer.cpp --- a/gfx/angle/src/compiler/preprocessor/Tokenizer.cpp +++ b/gfx/angle/src/compiler/preprocessor/Tokenizer.cpp @@ -1375,17 +1375,17 @@ static int yy_get_next_buffer (yyscan_t if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) /* don't do the read, it's not guaranteed to return an EOF, * just force an EOF */ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0; else { - yy_size_t num_to_read = + int num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) { /* Not enough room in the buffer - grow it. */ /* just a shorter name for the current buffer */ YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; diff --git a/gfx/angle/src/compiler/translator/glslang_lex.cpp b/gfx/angle/src/compiler/translator/glslang_lex.cpp --- a/gfx/angle/src/compiler/translator/glslang_lex.cpp +++ b/gfx/angle/src/compiler/translator/glslang_lex.cpp @@ -2269,17 +2269,17 @@ static int yy_get_next_buffer (yyscan_t if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) /* don't do the read, it's not guaranteed to return an EOF, * just force an EOF */ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0; else { - yy_size_t num_to_read = + int num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) { /* Not enough room in the buffer - grow it. */ /* just a shorter name for the current buffer */ YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; diff --git a/media/sphinxbase/src/libsphinxbase/lm/jsgf_scanner.c b/media/sphinxbase/src/libsphinxbase/lm/jsgf_scanner.c --- a/media/sphinxbase/src/libsphinxbase/lm/jsgf_scanner.c +++ b/media/sphinxbase/src/libsphinxbase/lm/jsgf_scanner.c @@ -1242,17 +1242,17 @@ static int yy_get_next_buffer (yyscan_t if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) /* don't do the read, it's not guaranteed to return an EOF, * just force an EOF */ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0; else { - yy_size_t num_to_read = + int num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) { /* Not enough room in the buffer - grow it. */ /* just a shorter name for the current buffer */ YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; ++++++ mozilla-gcc6.patch ++++++ diff -up firefox-44.0/nsprpub/config/make-system-wrappers.pl.back firefox-44.0/nsprpub/config/make-system-wrappers.pl --- firefox-44.0/nsprpub/config/make-system-wrappers.pl.back 2016-01-24 00:23:49.000000000 +0100 +++ firefox-44.0/nsprpub/config/make-system-wrappers.pl 2016-02-02 14:58:45.064112655 +0100 @@ -19,7 +19,9 @@ while (<STDIN>) { open OUT, ">$output_dir/$_"; print OUT "#pragma GCC system_header\n"; # suppress include_next warning print OUT "#pragma GCC visibility push(default)\n"; + print OUT "#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS\n"; print OUT "#include_next \<$_\>\n"; + print OUT "#undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS\n"; print OUT "#pragma GCC visibility pop\n"; close OUT; } diff -up firefox-44.0/mozglue/build/arm.cpp.old firefox-44.0/mozglue/build/arm.cpp --- firefox-44.0/mozglue/build/arm.cpp.old 2016-02-03 10:07:29.879526500 +0100 +++ firefox-44.0/mozglue/build/arm.cpp 2016-02-03 10:08:11.062697517 +0100 @@ -104,7 +104,9 @@ check_neon(void) # elif defined(__linux__) || defined(ANDROID) # include <stdio.h> +#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS # include <stdlib.h> +#undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS # include <string.h> enum{ ++++++ mozilla-kde.patch ++++++ ++++ 3785 lines (skipped) ++++++ mozilla-language.patch ++++++ # HG changeset patch # User Wolfgang Rosenauer <wr@rosenauer.org> # Parent 5a29924228527f8882c83cf62d470963ea1ce62e # Parent 55b6ae7fd3ebf28f960031801f1948dfc1bd80d2 Bug 583793 - Firefox interface language set to LANG, ignores LANGUAGE diff --git a/intl/locale/nsLocaleService.cpp b/intl/locale/nsLocaleService.cpp --- a/intl/locale/nsLocaleService.cpp +++ b/intl/locale/nsLocaleService.cpp @@ -122,16 +122,17 @@ nsLocaleService::nsLocaleService(void) RefPtr<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; @@ -158,16 +159,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-no-stdcxx-check.patch ++++++ # HG changeset patch # User Wolfgang Rosenauer <wr@rosenauer.org> # Parent e96e9b3997ea31024687aaa1e9aa5ccf78bc0ee9 diff --git a/config/config.mk b/config/config.mk --- a/config/config.mk +++ b/config/config.mk @@ -653,17 +653,16 @@ ifeq ($(MOZ_WIDGET_TOOLKIT),android) # of the linker command line), if libmozglue.so ends up after libc.so, all # hell breaks loose, so better safe than sorry, and check it's actually the # case. CHECK_MOZGLUE_ORDER = @$(TOOLCHAIN_PREFIX)readelf -d $(1) | grep NEEDED | awk '{ libs[$$NF] = ++n } END { if (libs["[libmozglue.so]"] && libs["[libc.so]"] < libs["[libmozglue.so]"]) { print "libmozglue.so must be linked before libc.so"; exit 1 } }' endif define CHECK_BINARY $(call CHECK_GLIBC,$(1)) -$(call CHECK_STDCXX,$(1)) $(call CHECK_TEXTREL,$(1)) $(call LOCAL_CHECKS,$(1)) $(call CHECK_MOZGLUE_ORDER,$(1)) endef # autoconf.mk sets OBJ_SUFFIX to an error to avoid use before including # this file OBJ_SUFFIX := $(_OBJ_SUFFIX) ++++++ 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.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.rosenauer@suse.de> # <wr@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-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 @@ -329,16 +329,17 @@ @RESPATH@/components/mozldap.xpt @RESPATH@/components/nsAbLDAPAttributeMap.js @RESPATH@/components/nsAbLDAPAutoCompleteSearch.js @RESPATH@/components/nsLDAPProtocolHandler.js @RESPATH@/components/ldapComponents.manifest @BINPATH@/@DLL_PREFIX@ldap60@DLL_SUFFIX@ @BINPATH@/@DLL_PREFIX@ldif60@DLL_SUFFIX@ @BINPATH@/@DLL_PREFIX@prldap60@DLL_SUFFIX@ +@BINPATH@/@DLL_PREFIX@ssldap60@DLL_SUFFIX@ ; download progress for jsdownloads @RESPATH@/components/DownloadsStartup.js ; Protocol/Content handling @RESPATH@/components/nsSMTPProtocolHandler.js @RESPATH@/components/nsSMTPProtocolHandler.manifest ++++++ thunderbird-rpmlintrc ++++++ addFilter("no-jar-manifest") ++++++ 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;
participants (1)
-
root@hilbert.suse.de