Hello community, here is the log from the commit of package MozillaThunderbird for openSUSE:Factory checked in at 2018-09-10 12:29:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/MozillaThunderbird (Old) and /work/SRC/openSUSE:Factory/.MozillaThunderbird.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MozillaThunderbird" Mon Sep 10 12:29:19 2018 rev:195 rq:632921 version:60.0 Changes: -------- --- /work/SRC/openSUSE:Factory/MozillaThunderbird/MozillaThunderbird.changes 2018-07-17 09:36:33.198537874 +0200 +++ /work/SRC/openSUSE:Factory/.MozillaThunderbird.new/MozillaThunderbird.changes 2018-09-10 12:29:20.342881201 +0200 @@ -1,0 +2,76 @@ +Sat Aug 25 18:59:41 UTC 2018 - astie...@suse.com + +- remove non-free untar licenced code from distributed tarball + +------------------------------------------------------------------- +Wed Aug 15 09:09:03 UTC 2018 - bjorn....@gmail.com + +- Add conditional for pkgconfig(gconf-2.0) BuildRequires, and pass + conditional --disable-gconf to configure: no longer pull in + obsolete gconf2 for Tumbleweed. + +------------------------------------------------------------------- +Fri Aug 3 06:02:53 UTC 2018 - w...@rosenauer.org + +- update to Thunderbird 60.0: + https://www.thunderbird.net/en-US/thunderbird/60.0/releasenotes/ + * Improved message handling and composing + * Improved handling of message templates + * Support for OAuth2 and FIDO U2F + * Various Calendar improvements + * Various fixes and changes to e-mail workflow + * Various IMAP fixes + * Native desktop notifications +- Security fixes which can not, in general, be exploited through + email, but are potential risks in browser or browser-like contexts: + MFSA 2018-19 (bsc#1098998) + * CVE-2018-12359 (bmo#1459162) + Buffer overflow using computed size of canvas element + * CVE-2018-12360 (bmo#1459693) + Use-after-free when using focus() + * CVE-2018-12361 (bmo#1463244) + Integer overflow in SwizzleData + * CVE-2018-12362 (bmo#1452375) + Integer overflow in SSSE3 scaler + * CVE-2018-5156 (bmo#1453127) + Media recorder segmentation fault when track type is changed + during capture + * CVE-2018-12363 (bmo#1464784) + Use-after-free when appending DOM nodes + * CVE-2018-12364 (bmo#1436241) + CSRF attacks through 307 redirects and NPAPI plugins + * CVE-2018-12365 (bmo#1459206) + Compromised IPC child process can list local filenames + * CVE-2018-12371 (bmo#1465686) + Integer overflow in Skia library during edge builder allocation + * CVE-2018-12366 (bmo#1464039) + Invalid data handling during QCMS transformations + * CVE-2018-12367 (bmo#1462891) + Timing attack mitigation of PerformanceNavigationTiming + * CVE-2018-5187 (bmo#1461324,bmo#1414829,bmo#1395246,bmo#1467938, + bmo#1461619,bmo#1425930,bmo#1438556,bmo#1454285,bmo#1459568, + bmo#1463884) + Memory safety bugs fixed in Firefox 61, Firefox ESR 60.1, and + Thunderbird 60 + * CVE-2018-5188 (bmo#1456189,bmo#1456975,bmo#1465898,bmo#1392739, + bmo#1451297,bmo#1464063,bmo#1437842,bmo#1442722,bmo#1452576, + bmo#1450688,bmo#1458264,bmo#1458270,bmo#1465108,bmo#1464829, + bmo#1464079,bmo#1463494,bmo#1458048) + Memory safety bugs fixed in Firefox 61, Firefox ESR 60.1, Firefox + ESR 52.9, and Thunderbird 60 +- requires NSPR 4.19 and NSS 3.36.4 +- source archives are now signed directly + (removed checksum signature check) +- imported patches from Firefox 60 + * mozilla-bmo1375074.patch + * mozilla-bmo1464766.patch + * mozilla-i586-DecoderDoctorLogger.patch + * mozilla-i586-domPrefs.patch +- removed obsolete patches + * mozilla-language.patch + * tb-ssldap.patch + * mozilla-develdirs.patch +- removed -devel subpackage as old-style extensions are mainly gone +- storing of remote content settings fixed (boo#1084603) + +------------------------------------------------------------------- Old: ---- MozillaThunderbird.keyring SHA512SUMS SHA512SUMS.asc l10n-52.9.1.tar.xz mozilla-develdirs.patch mozilla-language.patch tb-ssldap.patch thunderbird-52.9.1.source.tar.xz New: ---- l10n-60.0.tar.xz mozilla-bmo1375074.patch mozilla-bmo1464766.patch mozilla-i586-DecoderDoctorLogger.patch mozilla-i586-domPrefs.patch thunderbird-60.0.source.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ MozillaThunderbird.spec ++++++ --- /var/tmp/diff_new_pack.uIyYu8/_old 2018-09-10 12:29:31.762863702 +0200 +++ /var/tmp/diff_new_pack.uIyYu8/_new 2018-09-10 12:29:31.762863702 +0200 @@ -17,34 +17,37 @@ # -%define mainversion 52.9.1 +%define mainversion 60.0 %define update_channel release -%define releasedate 20180709124824 +%define releasedate 20180731173940 %bcond_without mozilla_tb_kde4 %bcond_with mozilla_tb_valgrind %bcond_without mozilla_tb_optimize_for_size -%if 0%{?suse_version} > 1320 -%define mozilla_use_gtk3 1 -%endif - Name: MozillaThunderbird BuildRequires: Mesa-devel BuildRequires: alsa-devel BuildRequires: autoconf213 BuildRequires: dbus-1-glib-devel BuildRequires: fdupes +%if 0%{?suse_version} <= 1320 +BuildRequires: gcc7-c++ +%else BuildRequires: gcc-c++ -BuildRequires: hunspell-devel +%endif +BuildRequires: cargo +#BuildRequires: hunspell-devel BuildRequires: libXcomposite-devel BuildRequires: libcurl-devel BuildRequires: libidl-devel BuildRequires: libnotify-devel -BuildRequires: mozilla-nspr-devel >= 4.13.1 -BuildRequires: mozilla-nss-devel >= 3.28.6 +BuildRequires: mozilla-nspr-devel >= 4.19 +BuildRequires: mozilla-nss-devel >= 3.36.4 BuildRequires: python BuildRequires: python2-xml +BuildRequires: rust >= 1.24 +BuildRequires: rust-std BuildRequires: startup-notification-devel BuildRequires: unzip BuildRequires: update-desktop-files @@ -52,23 +55,26 @@ BuildRequires: xz BuildRequires: yasm BuildRequires: zip +%if 0%{?suse_version} < 1550 BuildRequires: pkgconfig(gconf-2.0) >= 1.2.1 +%endif BuildRequires: pkgconfig(gdk-x11-2.0) BuildRequires: pkgconfig(glib-2.0) >= 2.22 BuildRequires: pkgconfig(gobject-2.0) -BuildRequires: pkgconfig(gobject-2.0) BuildRequires: pkgconfig(gtk+-2.0) >= 2.18.0 +BuildRequires: pkgconfig(gtk+-3.0) >= 3.4.0 BuildRequires: pkgconfig(gtk+-unix-print-2.0) +BuildRequires: pkgconfig(gtk+-unix-print-3.0) BuildRequires: pkgconfig(libffi) BuildRequires: pkgconfig(libpulse) %if %{with mozilla_tb_valgrind} BuildRequires: pkgconfig(valgrind) %endif -%if 0%{?mozilla_use_gtk3} -BuildRequires: pkgconfig(glib-2.0) -BuildRequires: pkgconfig(gobject-2.0) -BuildRequires: pkgconfig(gtk+-3.0) >= 3.4.0 -BuildRequires: pkgconfig(gtk+-unix-print-3.0) +%if 0%{?suse_version} > 1320 +BuildRequires: llvm-clang-devel >= 3.9.0 +%else +# this covers the workaround to compile on Leap 42 in OBS +BuildRequires: clang4-devel %endif # libavcodec is required for H.264 support but the # openSUSE version is currently not able to play H.264 @@ -90,29 +96,28 @@ License: MPL-2.0 Group: Productivity/Networking/Email/Clients Url: http://www.mozilla.org/products/thunderbird/ -Source: http://ftp.mozilla.org/pub/thunderbird/releases/%{version}/source/thunderbird-%{version}.source.tar.xz +# Source: http://ftp.mozilla.org/pub/thunderbird/releases/%%{version}/source/thunderbird-%%{version}.source.tar.xz +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 Source8: thunderbird-rpmlintrc Source9: thunderbird.appdata.xml Source10: create-tar.sh Source11: compare-locales.tar.xz Source12: kde.js -Source13: http://ftp.mozilla.org/pub/thunderbird/releases/%{version}/SHA512SUMS -Source14: http://ftp.mozilla.org/pub/thunderbird/releases/%{version}/SHA512SUMS.asc -Source15: http://ftp.mozilla.org/pub/thunderbird/releases/%{version}/KEY#/%{name}.keyring +#Source13: thunderbird-%{version}.source.tar.xz.asc +#Source14: http://ftp.mozilla.org/pub/thunderbird/releases/%{version}/KEY#/%{name}.keyring # 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-aarch64-startup-crash.patch -# Thunderbird/mail -Patch20: tb-ssldap.patch +Patch7: mozilla-bmo1375074.patch +Patch8: mozilla-bmo1464766.patch +Patch9: mozilla-i586-DecoderDoctorLogger.patch +Patch10: mozilla-i586-domPrefs.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: coreutils fileutils textutils /bin/sh Recommends: libcanberra0 @@ -171,19 +176,7 @@ 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 @@ -194,21 +187,20 @@ %endif %prep -echo "`grep thunderbird-%{version}.source.tar.xz %{SOURCE13} | head -n1 | cut -c-128` %{SOURCE0}" | sha512sum -c %setup -n thunderbird-%{version} -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 -popd -# comm-central patches -%patch20 -p1 +%patch7 -p1 +%patch8 -p1 +%ifarch %ix86 +%patch9 -p1 +%patch10 -p1 +%endif %build # no need to add build time to binaries @@ -218,7 +210,7 @@ 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) +kdehelperversion=$(cat toolkit/xre/nsKDEUtils.cpp | grep '#define KMOZILLAHELPER_VERSION' | cut -d ' ' -f 3) if test "$kdehelperversion" != %{kde_helper_version}; then echo fix kde helper version in the .spec file exit 1 @@ -231,6 +223,9 @@ %if %{update_channel} == "esr" export MOZ_ESR=1 %endif +%if 0%{?suse_version} <= 1320 +export CC=gcc-7 +%endif export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" %if 0%{?suse_version} > 1320 export CFLAGS="$CFLAGS -fno-delete-null-pointer-checks" @@ -238,11 +233,17 @@ %ifarch ppc64 ppc64le export CFLAGS="$CFLAGS -mminimal-toc" %endif +%ifarch %arm +export CFLAGS="${CFLAGS/-g / }" +%endif %ifarch %ix86 %arm # Limit RAM usage during link export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads" %endif export CXXFLAGS="$CFLAGS" +%ifarch %{arm} +export RUSTFLAGS="-Cdebuginfo=0" +%endif 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 @@ -261,7 +262,7 @@ %endif %endif mk_add_options MOZ_OBJDIR=$RPM_BUILD_DIR/obj -ac_add_options --enable-application=mail +ac_add_options --enable-application=comm/mail ac_add_options --enable-calendar ac_add_options --prefix=%{_prefix} ac_add_options --libdir=%{progdir} @@ -273,15 +274,22 @@ %if 0%{?suse_version} > 1320 ac_add_options --enable-optimize="-g -O2" %endif -%ifarch %arm +%ifarch %ix86 %arm %if 0%{?suse_version} > 1230 -ac_add_options --disable-optimize +#ac_add_options --disable-optimize +%endif +%endif +%ifarch %arm +ac_add_options --disable-elf-hack +%endif +%ifarch x86_64 +%if 0%{?suse_version} >= 1550 +ac_add_options --disable-elf-hack %endif %endif -%if 0%{?mozilla_use_gtk3} ac_add_options --enable-default-toolkit=cairo-gtk3 -%else -ac_add_options --enable-default-toolkit=cairo-gtk2 +%if 0%{?suse_version} >= 1550 +ac_add_options --disable-gconf %endif ac_add_options --with-system-nspr ac_add_options --with-system-nss @@ -290,7 +298,7 @@ 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 --enable-system-hunspell ac_add_options --enable-startup-notification ac_add_options --enable-official-branding ac_add_options --disable-necko-wifi @@ -306,11 +314,11 @@ ac_add_options --enable-valgrind %endif EOF -make -f client.mk build +./mach build %install cd $RPM_BUILD_DIR/obj -make -C mail/installer STRIP=/bin/true MOZ_PKG_FATAL_WARNINGS=0 +make -C comm/mail/installer STRIP=/bin/true MOZ_PKG_FATAL_WARNINGS=0 # copy tree into RPM_BUILD_ROOT mkdir -p %{buildroot}%{progdir} cp -rf $RPM_BUILD_DIR/obj/dist/thunderbird/* \ @@ -324,20 +332,17 @@ %endif # build additional locales %if %localize -%if 0%{?SOURCE5:1} -cp %SOURCE5 ../thunderbird/mail/locales/shipped-locales -%endif truncate -s 0 %{_tmppath}/translations.{common,other} -sed -r '/^(ja-JP-mac|en-US|$)/d;s/ .*$//' $RPM_BUILD_DIR/thunderbird-%{version}/mail/locales/shipped-locales \ +sed -r '/^(ja-JP-mac|en-US|$)/d;s/ .*$//' $RPM_BUILD_DIR/thunderbird-%{version}/comm/mail/locales/shipped-locales \ | xargs -P 8 -n 1 -I {} /bin/sh -c ' locale=$1 pushd $RPM_BUILD_DIR/compare-locales PYTHONPATH=lib \ scripts/compare-locales -m ../l10n-merged/$locale \ - ../thunderbird-%{version}/mail/locales/l10n.ini ../l10n $locale + ../thunderbird-%{version}/comm/mail/locales/l10n.ini ../l10n $locale popd LOCALE_MERGEDIR=$RPM_BUILD_DIR/l10n-merged/$locale \ - make -C mail/locales langpack-$locale + make -C comm/mail/locales langpack-$locale cp -rL dist/xpi-stage/locale-$locale \ %{buildroot}%{progdir}/extensions/langpack-$loc...@thunderbird.mozilla.org # remove prefs and profile defaults from langpack @@ -378,24 +383,7 @@ cat > %{buildroot}%{progdir}/defaults/pref/all-l10n.js << EOF pref("general.useragent.locale", "chrome://global/locale/intl.properties"); EOF -########## -# DEVEL -# -mkdir -p %{buildroot}%{_includedir}/%{progname} -chmod a+x dist/sdk/bin/*.py -cp -rL dist/sdk/bin/* %{buildroot}%{_libdir}/%{progname}/ -cp -rL dist/sdk/lib/*.a %{buildroot}%{_libdir}/%{progname}/ -cp -rL dist/idl/* %{buildroot}%{_includedir}/%{progname}/ -cp -rL dist/include/* %{buildroot}%{_includedir}/%{progname}/ -#mkdir -p %{buildroot}%{_libdir}/pkgconfig/ -#install -m 755 $RPM_BUILD_DIR/thunderbird/mozilla/build/unix/thunderbird-*.pc \ -# %{buildroot}%{_libdir}/pkgconfig/ -#rm %{buildroot}%{_libdir}/pkgconfig/thunderbird-nss.pc -#ln -sf nss.pc %{buildroot}%{_libdir}/pkgconfig/thunderbird-nss.pc -# -# # remove spurious executable bits -find %{buildroot}/usr/include/%{progname} -type f -exec chmod a-x {} \; find %{buildroot}%{_libdir}/%{progname} \ -name "*.js" -o \ -name "*.jsm" -o \ @@ -407,7 +395,7 @@ # remove mkdir.done files from installed base find $RPM_BUILD_ROOT%{progdir} -type f -name ".mkdir.done" -delete -print # -for size in 16 22 24 32 48 256; do +for size in 16 22 24 32 48 64 128; do mkdir -p %{buildroot}%{_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 @@ -427,7 +415,6 @@ %fdupes %{buildroot}%{progdir} %fdupes %{buildroot}%{_libdir}/mozilla %fdupes %{buildroot}%{_datadir} -%fdupes %{buildroot}%{_includedir} %if %crashreporter SYMBOLS_NAME="thunderbird-%{mainversion}-%{release}.%{_arch}-%{suse_version}-symbols" make buildsymbols \ @@ -462,16 +449,14 @@ %{progdir}/chrome.manifest %{progdir}/dependentlibs.list %{progdir}/fonts/ -%if 0%{?mozilla_use_gtk3} %dir %{progdir}/gtk2 %{progdir}/gtk2/libmozgtk.so -%endif -%{progdir}/icudt58l.dat %{progdir}/*.so %{progdir}/omni.ja +%{progdir}/minidump-analyzer +%{progdir}/pingsender %{progdir}/platform.ini %{progdir}/plugin-container -%{progdir}/run-mozilla.sh %{progdir}/thunderbird-bin # crashreporter files %if %crashreporter @@ -493,7 +478,6 @@ %{_bindir}/%{progname} %if %localize - %files translations-common -f %{_tmppath}/translations.common %defattr(-,root,root) @@ -501,15 +485,6 @@ %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) ++++++ _constraints ++++++ --- /var/tmp/diff_new_pack.uIyYu8/_old 2018-09-10 12:29:31.802863641 +0200 +++ /var/tmp/diff_new_pack.uIyYu8/_new 2018-09-10 12:29:31.806863635 +0200 @@ -2,10 +2,32 @@ <constraints> <hardware> <disk> - <size unit="G">16</size> + <size unit="G">20</size> </disk> <memory> - <size unit="M">9000</size> + <size unit="G">12</size> </memory> </hardware> + <overwrite> + <conditions> + <arch>armv6l</arch> + <arch>armv7l</arch> + </conditions> + <hardware> + <memory> + <size unit="M">2600</size> + </memory> + </hardware> + </overwrite> + <overwrite> + <conditions> + <arch>aarch64</arch> + </conditions> + <hardware> + <memory> + <size unit="G">9</size> + </memory> + </hardware> + </overwrite> </constraints> + ++++++ compare-locales.tar.xz ++++++ ++++++ create-tar.sh ++++++ --- /var/tmp/diff_new_pack.uIyYu8/_old 2018-09-10 12:29:31.874863531 +0200 +++ /var/tmp/diff_new_pack.uIyYu8/_new 2018-09-10 12:29:31.874863531 +0200 @@ -1,11 +1,23 @@ #!/bin/bash -CHANNEL="esr52" +CHANNEL="esr60" BRANCH="releases/comm-$CHANNEL" -RELEASE_TAG="THUNDERBIRD_52_9_1_RELEASE" -VERSION="52.9.1" +RELEASE_TAG="c73d49cb8736" +MOZ_RELEASE_TAG="abae89412348" +VERSION="60.0" VERSION_SUFFIX="" -LOCALE_FILE="thunderbird-$VERSION/mail/locales/shipped-locales" +LOCALE_FILE="thunderbird-$VERSION/comm/mail/locales/l10n-changesets.json" + +# check required tools +test -x /usr/bin/hg || ( echo "hg missing: execute zypper in mercurial"; exit 5 ) +test -x /usr/bin/jq || ( echo "jq missing: execute zypper in jq"; exit 5 ) + +# use parallel compression, if available +compression='-J' +pixz -h > /dev/null 2>&1 +if (($? != 127)); then + compression='-Ipixz' +fi # we might have an upstream archive already and can skip the checkout if [ -e thunderbird-$VERSION$VERSION_SUFFIX.source.tar.xz ]; then @@ -13,8 +25,14 @@ # still need to extract the locale information from the archive echo "extract locale list" tar -xf thunderbird-$VERSION$VERSION_SUFFIX.source.tar.xz $LOCALE_FILE + # remove non-free untar licenced code from distributed tarball + xz -d -v thunderbird-$VERSION$VERSION_SUFFIX.source.tar.xz && \ + tar -v --wildcards --delete -f thunderbird-$VERSION$VERSION_SUFFIX.source.tar \ + "thunderbird-${VERSION}/comm/other-licenses/7zstub" \ + "thunderbird-${VERSION}/other-licenses/7zstub" \ + && \ + xz -9 -v thunderbird-$VERSION$VERSION_SUFFIX.source.tar else - # thunderbird if [ -d thunderbird-$VERSION ]; then pushd thunderbird-$VERSION _repourl=$(hg paths) @@ -33,46 +51,56 @@ fi if [ ! -d thunderbird-$VERSION ]; then echo "cloning new $BRANCH..." - hg clone http://hg.mozilla.org/$BRANCH thunderbird-$VERSION + hg clone http://hg.mozilla.org/releases/mozilla-$CHANNEL thunderbird-$VERSION + hg clone http://hg.mozilla.org/releases/comm-$CHANNEL thunderbird-$VERSION/comm fi pushd thunderbird-$VERSION - hg update --check - 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 + hg update --check $MOZ_RELEASE_TAG + pushd comm + hg update --check $RELEASE_TAG + popd popd echo "creating archive..." - tar cJf thunderbird-$VERSION.source.tar.xz --exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=CVS thunderbird-${VERSION} + rm -rf thunderbird-${VERSION}/{,comm/}other-licenses/7zstub + tar $compression -cf thunderbird-$VERSION.source.tar.xz --exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=CVS thunderbird-${VERSION} fi # l10n # http://l10n.mozilla.org/dashboard/?tree=tb30x -> shipped-locales echo "fetching locales..." test ! -d l10n && mkdir l10n -for locale in $(awk '{ print $1; }' $LOCALE_FILE); do +jq -r 'to_entries[]| "\(.key) \(.value|.revision)"' $LOCALE_FILE | \ + while read locale changeset ; 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 - ) & + echo "reading changeset information for $locale" + echo "fetching $locale changeset $changeset ..." + #( + if [ -d l10n/$locale/.hg ]; then + (cd l10n/$locale; hg pull) + else + hg clone http://hg.mozilla.org/l10n-central/$locale l10n/$locale + fi + [ "$RELEASE_TAG" == "default" ] || hg -R l10n/$locale up -C -r $changeset + #) & ;; esac done wait echo "creating l10n archive..." -tar cJf l10n-$VERSION.tar.xz \ +tar $compression -cf l10n-$VERSION.tar.xz \ --exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=browser \ --exclude=suite \ l10n # compare-locales echo "creating 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 +if [ -d compare-locales/.hg ]; then + (cd compare-locales; hg pull) +else + hg clone http://hg.mozilla.org/build/compare-locales +fi +tar $compression -cf compare-locales.tar.xz --exclude=.hgtags --exclude=.hgignore --exclude=.hg compare-locales ++++++ l10n-52.9.1.tar.xz -> l10n-60.0.tar.xz ++++++ /work/SRC/openSUSE:Factory/MozillaThunderbird/l10n-52.9.1.tar.xz /work/SRC/openSUSE:Factory/.MozillaThunderbird.new/l10n-60.0.tar.xz differ: char 26, line 1 ++++++ mozilla-aarch64-startup-crash.patch ++++++ --- /var/tmp/diff_new_pack.uIyYu8/_old 2018-09-10 12:29:31.906863481 +0200 +++ /var/tmp/diff_new_pack.uIyYu8/_new 2018-09-10 12:29:31.906863481 +0200 @@ -1,14 +1,15 @@ # HG changeset patch # Parent a5cfa3aa11a9d3391df49de6fc5a0e5232c12c10 +# Parent 3005da37da3f1e2c568b1675307d10860182d214 Bug 991344 - Rpi3: Firefox crashes after a few seconds of usage diff --git a/netwerk/base/nsIOService.cpp b/netwerk/base/nsIOService.cpp --- a/netwerk/base/nsIOService.cpp +++ b/netwerk/base/nsIOService.cpp -@@ -830,17 +830,23 @@ nsIOService::NewChannelFromURIWithProxyF - consoleService->LogStringMessage(NS_LITERAL_STRING( - "Http channel implementation doesn't support nsIUploadChannel2. An extension has supplied a non-functional http protocol handler. This will break behavior and in future releases not work at all." - ).get()); +@@ -887,17 +887,23 @@ nsIOService::NewChannelFromURIWithProxyF + "doesn't support nsIUploadChannel2. An extension has " + "supplied a non-functional http protocol handler. This will " + "break behavior and in future releases not work at all."); } gHasWarnedUploadChannel2 = true; } ++++++ mozilla-bmo1375074.patch ++++++ # HG changeset patch # User Lars T Hansen <lhan...@mozilla.com> # Date 1519822672 -3600 # Node ID 800abe66894d6b07b24bccecbf6a65e2261076f6 # Parent 223c97459e96183eb616aed39147207bdb953ba8 Bug 1375074 - Save and restore non-volatile x28 on ARM64 for generated unboxed object constructor. r=sstangl diff --git a/js/src/jit-test/tests/bug1375074.js b/js/src/jit-test/tests/bug1375074.js new file mode 100644 --- /dev/null +++ b/js/src/jit-test/tests/bug1375074.js @@ -0,0 +1,18 @@ +// This forces the VM to start creating unboxed objects and thus stresses a +// particular path into generated code for a specialized unboxed object +// constructor. + +var K = 2000; // 2000 should be plenty +var s = "["; +var i; +for ( i=0; i < K-1; i++ ) + s = s + `{"i":${i}},`; +s += `{"i":${i}}]`; +var v = JSON.parse(s); + +assertEq(v.length == K, true); + +for ( i=0; i < K; i++) { + assertEq(v[i] instanceof Object, true); + assertEq(v[i].i, i); +} diff --git a/js/src/vm/UnboxedObject.cpp b/js/src/vm/UnboxedObject.cpp --- a/js/src/vm/UnboxedObject.cpp +++ b/js/src/vm/UnboxedObject.cpp @@ -90,17 +90,25 @@ UnboxedLayout::makeConstructorCode(JSCon masm.loadPtr(Address(masm.getStackPointer(), sizeof(void*)), propertiesReg); masm.loadPtr(Address(masm.getStackPointer(), 2 * sizeof(void*)), newKindReg); #else propertiesReg = IntArgReg0; newKindReg = IntArgReg1; #endif #ifdef JS_CODEGEN_ARM64 - // ARM64 communicates stack address via sp, but uses a pseudo-sp for addressing. + // ARM64 communicates stack address via sp, but uses a pseudo-sp (PSP) for + // addressing. The register we use for PSP may however also be used by + // calling code, and it is nonvolatile, so save it. Do this as a special + // case first because the generic save/restore code needs the PSP to be + // initialized already. + MOZ_ASSERT(PseudoStackPointer64.Is(masm.GetStackPointer64())); + masm.Str(PseudoStackPointer64, vixl::MemOperand(sp, -16, vixl::PreIndex)); + + // Initialize the PSP from the SP. masm.initStackPtr(); #endif MOZ_ASSERT(propertiesReg.volatile_()); MOZ_ASSERT(newKindReg.volatile_()); AllocatableGeneralRegisterSet regs(GeneralRegisterSet::All()); regs.take(propertiesReg); @@ -228,17 +236,32 @@ UnboxedLayout::makeConstructorCode(JSCon if (object != ReturnReg) masm.movePtr(object, ReturnReg); // Restore non-volatile registers which were saved on entry. if (ScratchDoubleReg.volatile_()) masm.pop(ScratchDoubleReg); masm.PopRegsInMask(savedNonVolatileRegisters); +#ifdef JS_CODEGEN_ARM64 + // Now restore the value that was in the PSP register on entry, and return. + + // Obtain the correct SP from the PSP. + masm.Mov(sp, PseudoStackPointer64); + + // Restore the saved value of the PSP register, this value is whatever the + // caller had saved in it, not any actual SP value, and it must not be + // overwritten subsequently. + masm.Ldr(PseudoStackPointer64, vixl::MemOperand(sp, 16, vixl::PostIndex)); + + // Perform a plain Ret(), as abiret() will move SP <- PSP and that is wrong. + masm.Ret(vixl::lr); +#else masm.abiret(); +#endif masm.bind(&failureStoreOther); // There was a failure while storing a value which cannot be stored at all // in the unboxed object. Initialize the object so it is safe for GC and // return null. masm.initUnboxedObjectContents(object, templateObject); ++++++ mozilla-bmo1464766.patch ++++++ # HG changeset patch # User Mike Hommey <mh+mozi...@glandium.org> # Date 1527491713 -32400 # Node ID c28becad0c10b906454d7e424f9a9402799ea8dd # Parent a830c8302c71a45e019fe14e16945b32346b2253 Bug 1464766 - Allow to relax the addon signature requirements. r?rhelmer diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js --- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js @@ -1256,16 +1256,19 @@ pref("print.print_via_parent", true); pref("print.print_via_parent", false); #endif // Pref used by the spellchecker extension to control the // maximum number of misspelled words that will be underlined // in a document. pref("extensions.spellcheck.inline.max-misspellings", 500); +// Add-on manager scoped allowing unsigned addons. None by default. +pref("extensions.unsignedScopes", 12, locked); + // Prefs used by libeditor. Prefs specific to seamonkey composer // belong in comm-central/editor/ui/composer.js pref("editor.use_custom_colors", false); pref("editor.singleLine.pasteNewlines", 2); pref("editor.use_css", false); pref("editor.css.default_length_unit", "px"); pref("editor.resizing.preserve_ratio", true); diff --git a/toolkit/mozapps/extensions/content/extensions.js b/toolkit/mozapps/extensions/content/extensions.js --- a/toolkit/mozapps/extensions/content/extensions.js +++ b/toolkit/mozapps/extensions/content/extensions.js @@ -47,16 +47,17 @@ XPCOMUtils.defineLazyPreferenceGetter(th const PREF_DISCOVERURL = "extensions.webservice.discoverURL"; const PREF_DISCOVER_ENABLED = "extensions.getAddons.showPane"; const PREF_GETADDONS_CACHE_ENABLED = "extensions.getAddons.cache.enabled"; const PREF_GETADDONS_CACHE_ID_ENABLED = "extensions.%ID%.getAddons.cache.enabled"; const PREF_UI_TYPE_HIDDEN = "extensions.ui.%TYPE%.hidden"; const PREF_UI_LASTCATEGORY = "extensions.ui.lastCategory"; const PREF_LEGACY_EXCEPTIONS = "extensions.legacy.exceptions"; const PREF_LEGACY_ENABLED = "extensions.legacy.enabled"; +const PREF_UNSIGNED_SCOPES = "extensions.unsignedScopes"; const LOADING_MSG_DELAY = 100; const UPDATES_RECENT_TIMESPAN = 2 * 24 * 3600000; // 2 days (in milliseconds) const UPDATES_RELEASENOTES_TRANSFORMFILE = "chrome://mozapps/content/extensions/updateinfo.xsl"; const XMLURI_PARSE_ERROR = "http://www.mozilla.org/newlayout/xml/parsererror.xml"; @@ -229,19 +230,21 @@ function loadView(aViewId) { function isCorrectlySigned(aAddon) { // Add-ons without an "isCorrectlySigned" property are correctly signed as // they aren't the correct type for signing. return aAddon.isCorrectlySigned !== false; } function isDisabledUnsigned(addon) { - let signingRequired = (addon.type == "locale") ? - AddonSettings.LANGPACKS_REQUIRE_SIGNING : - AddonSettings.REQUIRE_SIGNING; + let unsignedScopes = Services.prefs.getIntPref(PREF_UNSIGNED_SCOPES, 0); + let signingRequired = !(addon.scope & unsignedScopes) && + ((addon.type == "locale") ? + AddonSettings.LANGPACKS_REQUIRE_SIGNING : + AddonSettings.REQUIRE_SIGNING); return signingRequired && !isCorrectlySigned(addon); } function isLegacyExtension(addon) { let legacy = false; if (addon.type == "extension" && !addon.isWebExtension) { legacy = true; } diff --git a/toolkit/mozapps/extensions/internal/XPIProvider.jsm b/toolkit/mozapps/extensions/internal/XPIProvider.jsm --- a/toolkit/mozapps/extensions/internal/XPIProvider.jsm +++ b/toolkit/mozapps/extensions/internal/XPIProvider.jsm @@ -66,16 +66,17 @@ const PREF_XPI_STATE = const PREF_BLOCKLIST_ITEM_URL = "extensions.blocklist.itemURL"; const PREF_BOOTSTRAP_ADDONS = "extensions.bootstrappedAddons"; const PREF_PENDING_OPERATIONS = "extensions.pendingOperations"; const PREF_SKIN_SWITCHPENDING = "extensions.dss.switchPending"; const PREF_SKIN_TO_SELECT = "extensions.lastSelectedSkin"; const PREF_GENERAL_SKINS_SELECTEDSKIN = "general.skins.selectedSkin"; const PREF_EM_EXTENSION_FORMAT = "extensions."; const PREF_EM_ENABLED_SCOPES = "extensions.enabledScopes"; +const PREF_EM_UNSIGNED_SCOPES = "extensions.unsignedScopes"; const PREF_EM_STARTUP_SCAN_SCOPES = "extensions.startupScanScopes"; const PREF_EM_SHOW_MISMATCH_UI = "extensions.showMismatchUI"; const PREF_XPI_ENABLED = "xpinstall.enabled"; const PREF_XPI_WHITELIST_REQUIRED = "xpinstall.whitelist.required"; const PREF_XPI_DIRECT_WHITELISTED = "xpinstall.whitelist.directRequest"; const PREF_XPI_FILE_WHITELISTED = "xpinstall.whitelist.fileRequest"; // xpinstall.signatures.required only supported in dev builds const PREF_XPI_SIGNATURES_REQUIRED = "xpinstall.signatures.required"; @@ -801,17 +802,19 @@ function isDisabledLegacy(addon) { * The add-on to check * @return true if the add-on should not be appDisabled */ function isUsableAddon(aAddon) { // Hack to ensure the default theme is always usable if (aAddon.type == "theme" && aAddon.internalName == XPIProvider.defaultSkin) return true; - if (mustSign(aAddon.type) && !aAddon.isCorrectlySigned) { + let unsignedScopes = Services.prefs.getIntPref(PREF_EM_UNSIGNED_SCOPES, 0); + if (!(aAddon._installLocation.scope & unsignedScopes) && + mustSign(aAddon.type) && !aAddon.isCorrectlySigned) { logger.warn(`Add-on ${aAddon.id} is not correctly signed.`); if (Services.prefs.getBoolPref(PREF_XPI_SIGNATURES_DEV_ROOT, false)) { logger.warn(`Preference ${PREF_XPI_SIGNATURES_DEV_ROOT} is set.`); } return false; } if (aAddon.blocklistState == nsIBlocklistService.STATE_BLOCKED) { diff --git a/toolkit/mozapps/extensions/internal/XPIProviderUtils.js b/toolkit/mozapps/extensions/internal/XPIProviderUtils.js --- a/toolkit/mozapps/extensions/internal/XPIProviderUtils.js +++ b/toolkit/mozapps/extensions/internal/XPIProviderUtils.js @@ -39,16 +39,17 @@ var logger = Log.repository.getLogger(LO const KEY_PROFILEDIR = "ProfD"; const FILE_JSON_DB = "extensions.json"; // The last version of DB_SCHEMA implemented in SQLITE const LAST_SQLITE_DB_SCHEMA = 14; const PREF_DB_SCHEMA = "extensions.databaseSchema"; const PREF_PENDING_OPERATIONS = "extensions.pendingOperations"; const PREF_EM_AUTO_DISABLED_SCOPES = "extensions.autoDisableScopes"; +const PREF_EM_UNSIGNED_SCOPES = "extensions.unsignedScopes"; const KEY_APP_SYSTEM_ADDONS = "app-system-addons"; const KEY_APP_SYSTEM_DEFAULTS = "app-system-defaults"; const KEY_APP_GLOBAL = "app-global"; const KEY_APP_TEMPORARY = "app-temporary"; // Properties to save in JSON file const PROP_JSON_FIELDS = ["id", "syncGUID", "location", "version", "type", ++++++ mozilla-i586-DecoderDoctorLogger.patch ++++++ # HG changeset patch # Parent f3fe334a20e8a63266eb06c5d298ad793cefc015 Mozilla Bug#1447070 - DecoderDoctorLogger.h must be included in MediaKeySession.h to fix non-unified build error for i586 target. diff --git a/dom/media/eme/MediaKeySession.h b/dom/media/eme/MediaKeySession.h --- a/dom/media/eme/MediaKeySession.h +++ b/dom/media/eme/MediaKeySession.h @@ -2,16 +2,17 @@ /* vim: set ts=8 sts=2 et sw=2 tw=80: */ /* 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/. */ #ifndef mozilla_dom_MediaKeySession_h #define mozilla_dom_MediaKeySession_h +#include "DecoderDoctorLogger.h" #include "mozilla/Attributes.h" #include "mozilla/ErrorResult.h" #include "nsCycleCollectionParticipant.h" #include "mozilla/DOMEventTargetHelper.h" #include "nsCOMPtr.h" #include "mozilla/dom/TypedArray.h" #include "mozilla/Mutex.h" #include "mozilla/dom/Date.h" ++++++ mozilla-i586-domPrefs.patch ++++++ # HG changeset patch # User Andrea Marchesini <amarches...@mozilla.com> # Parent fab938f4757d8487a87fbf911200ff0317612746 Mozilla Bug#1447409 - DOMPrefs.h must be included in WorkerScope, r=qdot To fix 32bit build error for i586 target. diff --git a/dom/workers/WorkerScope.h b/dom/workers/WorkerScope.h --- a/dom/workers/WorkerScope.h +++ b/dom/workers/WorkerScope.h @@ -4,16 +4,17 @@ * 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/. */ #ifndef mozilla_dom_workerscope_h__ #define mozilla_dom_workerscope_h__ #include "mozilla/dom/WorkerCommon.h" #include "mozilla/DOMEventTargetHelper.h" +#include "mozilla/dom/DOMPrefs.h" #include "mozilla/dom/Headers.h" #include "mozilla/dom/RequestBinding.h" #include "nsWeakReference.h" #include "mozilla/dom/ImageBitmapSource.h" #ifdef XP_WIN #undef PostMessage #endif ++++++ mozilla-kde.patch ++++++ ++++ 3097 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/MozillaThunderbird/mozilla-kde.patch ++++ and /work/SRC/openSUSE:Factory/.MozillaThunderbird.new/mozilla-kde.patch ++++++ mozilla-no-stdcxx-check.patch ++++++ --- /var/tmp/diff_new_pack.uIyYu8/_old 2018-09-10 12:29:31.954863408 +0200 +++ /var/tmp/diff_new_pack.uIyYu8/_new 2018-09-10 12:29:31.954863408 +0200 @@ -1,11 +1,11 @@ # HG changeset patch # User Wolfgang Rosenauer <w...@rosenauer.org> -# Parent e96e9b3997ea31024687aaa1e9aa5ccf78bc0ee9 +# Parent f62746698c37af9593338fe75fbff6b319cd370c 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) +@@ -471,17 +471,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. ++++++ mozilla-nongnome-proxies.patch ++++++ --- /var/tmp/diff_new_pack.uIyYu8/_old 2018-09-10 12:29:31.962863396 +0200 +++ /var/tmp/diff_new_pack.uIyYu8/_new 2018-09-10 12:29:31.962863396 +0200 @@ -9,7 +9,7 @@ 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 +@@ -54,23 +54,27 @@ nsUnixSystemProxySettings::GetMainThread // dbus prevents us from being threadsafe, but this routine should not block anyhow *aMainThreadOnly = true; return NS_OK; @@ -37,7 +37,7 @@ + mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID); + } } - + return NS_OK; } ++++++ suse-default-prefs.js ++++++ --- /var/tmp/diff_new_pack.uIyYu8/_old 2018-09-10 12:29:31.982863365 +0200 +++ /var/tmp/diff_new_pack.uIyYu8/_new 2018-09-10 12:29:31.982863365 +0200 @@ -9,7 +9,7 @@ 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); +pref("intl.locale.requested", ""); // do not disable system-global or app-global extensions pref("extensions.autoDisableScopes", 3); ++++++ thunderbird-52.9.1.source.tar.xz -> thunderbird-60.0.source.tar.xz ++++++ /work/SRC/openSUSE:Factory/MozillaThunderbird/thunderbird-52.9.1.source.tar.xz /work/SRC/openSUSE:Factory/.MozillaThunderbird.new/thunderbird-60.0.source.tar.xz differ: char 25, line 1