- update to Thunderbird 60.0

* requires NSPR 4.19 and NSS 3.36.4
  * what's new
    https://www.thunderbird.net/en-US/thunderbird/60.0/releasenotes/
- 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
- removed -devel subpackage as old-style extensions are mainly gone
- storing of remote content settings fixed (boo#1084603)

OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaThunderbird?expand=0&rev=419
This commit is contained in:
Wolfgang Rosenauer 2018-08-06 14:26:01 +00:00 committed by Git OBS Bridge
parent 93fe18dfd9
commit cde9b1d6a6
23 changed files with 1206 additions and 3416 deletions

View File

@ -1,3 +1,22 @@
-------------------------------------------------------------------
Fri Aug 3 06:02:53 UTC 2018 - wr@rosenauer.org
- update to Thunderbird 60.0
* requires NSPR 4.19 and NSS 3.36.4
* what's new
https://www.thunderbird.net/en-US/thunderbird/60.0/releasenotes/
- 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
- removed -devel subpackage as old-style extensions are mainly gone
- storing of remote content settings fixed (boo#1084603)
-------------------------------------------------------------------
Tue Jul 10 06:29:59 UTC 2018 - wr@rosenauer.org

View File

@ -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
@ -56,19 +59,20 @@ BuildRequires: pkgconfig(gconf-2.0) >= 1.2.1
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
@ -94,23 +98,23 @@ Source: http://ftp.mozilla.org/pub/thunderbird/releases/%{version}/sourc
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
Source13: thunderbird-%{version}.source.tar.xz.asc
Source15: 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
Patch7: mozilla-bmo1375074.patch
Patch8: mozilla-bmo1464766.patch
Patch9: mozilla-i586-DecoderDoctorLogger.patch
Patch10: mozilla-i586-domPrefs.patch
# Thunderbird/mail
Patch20: tb-ssldap.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -171,19 +175,7 @@ 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
@ -194,21 +186,24 @@ symbols meant for upload to Mozilla's crash collector database.
%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
%patch7 -p1
%patch8 -p1
%ifarch %ix86
%patch9 -p1
%patch10 -p1
%endif
# comm-central patches
%patch20 -p1
pushd comm
#%patch20 -p1
popd
%build
# no need to add build time to binaries
@ -218,7 +213,7 @@ 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)
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 +226,9 @@ export BUILD_OFFICIAL=1
%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 +236,17 @@ export CFLAGS="$CFLAGS -fno-delete-null-pointer-checks"
%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 +265,7 @@ 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-application=comm/mail
ac_add_options --enable-calendar
ac_add_options --prefix=%{_prefix}
ac_add_options --libdir=%{progdir}
@ -273,16 +277,20 @@ ac_add_options --enable-alsa
%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
%endif
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-system-jpeg
@ -290,7 +298,7 @@ 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 --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 --disable-jemalloc
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 @@ echo 'pref("browser.preferences.instantApply", true);' > %{buildroot}%{progdir}/
%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-$locale@thunderbird.mozilla.org
# remove prefs and profile defaults from langpack
@ -378,24 +383,7 @@ rm suse-default-prefs
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 @@ find %{buildroot}%{_libdir}/%{progname} \
# 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 @@ rm -f %{buildroot}%{progdir}/nspr-config
%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 @@ exit 0
%{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 @@ exit 0
%{_bindir}/%{progname}
%if %localize
%files translations-common -f %{_tmppath}/translations.common
%defattr(-,root,root)
@ -501,15 +485,6 @@ exit 0
%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)

1418
SHA512SUMS

File diff suppressed because it is too large Load Diff

View File

@ -1,17 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (GNU/Linux)
iQIcBAABCAAGBQJbRArPAAoJELu+vbskxvNV2k4P/jZhS9db0CUXGPB5mxi/UElE
nPYfbI9yeI5mugr+nnSaa21itHHNOYI54eqW9NVZ1m9fUqRqk8CBIdWR2ZBMhgfe
dw4dVBPNqPS4N6ReAkrMiakog/7ADh1bTBxDrJBMtmYAIY87sKwS+rQkWyyIOdAt
gAQ+YGaAUVJvcrbqVs5DlkWcDdvkOnkc7vi6WKMZ04rlpJqR+mBI/2S2nOFXGEBo
XDPhq63lxsfY29LFCzGVAQx+OAEkh3yf/fGQ6Sn3AIKMx5uPCPUBqzu0tn97iJQx
L6hOuaPIne/wwRTgckwrydfeSUPBxcaeY0Z6+ryFVdeGg6ToDeUAwSWoonSIKJ4u
KDF2qKKfLPMe4MovDI6I9bpvQUG8T32iLPaHd9pjufuiSPE5KcohrlV0yEFz1ldz
6yJVCvXWk93JcI5Sn/huaWLCZFDZs4GsZxwvGayol1p76k/n30W+ULWArnr9/zik
aagYNncBXUmK4A2krpLTDxpcQ91WlaVlP4UK8sN42FcOHtVMWIgi/aLxNktJScPM
bfwsjkW4i1n4kJvJcAOGNh8Is0iw3g6cbP9mNfnJCVU2FIKSEAGEiD9VC68BgbFn
Q+5sssIaBlYYUaSE+9MRHeqvm6Ce+fxCZgfKbID4FreionHsOTr31M4TWjtazvlw
dCtcJsY1B7wB6B6Etwis
=HFv4
-----END PGP SIGNATURE-----

View File

@ -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>

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:62148aebed238dd4a9804de0457ba1b8ce077040f1dec2aec989fe43b0bc431c
size 28396
oid sha256:b4a20bf7fdd4aea4ec1c1fbfdf17b57d234e045def08dfc01c39f0b70caf6472
size 28376

View File

@ -1,11 +1,22 @@
#!/bin/bash
CHANNEL="esr52"
CHANNEL="esr60"
BRANCH="releases/comm-$CHANNEL"
RELEASE_TAG="THUNDERBIRD_52_9_1_RELEASE"
VERSION="52.9.1"
RELEASE_TAG="abae8941234801d8aa5b6cfd8cc49ef62bc48e62"
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
@ -44,35 +55,45 @@ else
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-${VERSION}
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

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2196a5c5e79aa7cfef03c9c585404eb26862f6a2dbe547d84b46073f23ac5c6a
size 26224524

3
l10n-60.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b58a65b3ddd7e6ec5796b385f892daceeceefda52b27f81de50f943c33f404f2
size 27496160

View File

@ -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;
}

95
mozilla-bmo1375074.patch Normal file
View File

@ -0,0 +1,95 @@
# HG changeset patch
# User Lars T Hansen <lhansen@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);

140
mozilla-bmo1464766.patch Normal file
View File

@ -0,0 +1,140 @@
# HG changeset patch
# User Mike Hommey <mh+mozilla@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",

View File

@ -1,24 +0,0 @@
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
ABS_DIST = $(topobjdir)/dist
# We do magic with OBJ_SUFFIX in config.mk, the following ensures we don't

View File

@ -0,0 +1,26 @@
# 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"

View File

@ -0,0 +1,27 @@
# HG changeset patch
# User Andrea Marchesini <amarchesini@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

File diff suppressed because it is too large Load Diff

View File

@ -1,64 +0,0 @@
# HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent 5a29924228527f8882c83cf62d470963ea1ce62e
# Parent 4f39ed617c2f151a3a15903c7ae4471b66774e9e
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
@@ -114,16 +114,17 @@ nsLocaleService::nsLocaleService(void)
NS_ENSURE_SUCCESS_VOID(rv);
#endif
#if defined(XP_UNIX) && !defined(XP_MACOSX)
RefPtr<nsLocale> resultLocale(new nsLocale());
NS_ENSURE_TRUE_VOID(resultLocale);
// Get system configuration
const char* lang = getenv("LANG");
+ const char* language = getenv("LANGUAGE");
nsAutoString xpLocale, platformLocale;
nsAutoString category, category_platform;
int i;
for( i = 0; i < LocaleListLength; i++ ) {
nsresult result;
// setlocale( , "") evaluates LC_* and LANG
@@ -149,16 +150,36 @@ nsLocaleService::nsLocaleService(void)
} else {
CopyASCIItoUTF16(lang, platformLocale);
result = nsPosixLocale::GetXPLocale(lang, xpLocale);
}
}
if (NS_FAILED(result)) {
return;
}
+ // LANGUAGE is overriding LC_MESSAGES
+ // it can be a colon separated list of preferred languages
+ // as we do not recognize here if a language is available
+ // we actually only consider the first entry unless GetXPLocale
+ // fails completely
+ if (i == LC_MESSAGES && language && *language) {
+#define LANGUAGE_SEP ":"
+ nsAutoString xpLocale_temp;
+ char* rawBuffer = (char*) language;
+ char* token = nsCRT::strtok(rawBuffer, LANGUAGE_SEP, &rawBuffer);
+ for (; token;
+ token = nsCRT::strtok(rawBuffer, LANGUAGE_SEP, &rawBuffer)) {
+ result = nsPosixLocale::GetXPLocale(token, xpLocale_temp);
+ if (NS_SUCCEEDED(result)) {
+ CopyASCIItoUTF16(token, platformLocale);
+ xpLocale = xpLocale_temp;
+ break;
+ }
+ }
+ }
resultLocale->AddCategory(category, xpLocale);
resultLocale->AddCategory(category_platform, platformLocale);
}
mSystemLocale = do_QueryInterface(resultLocale);
mApplicationLocale = do_QueryInterface(resultLocale);
#endif // XP_UNIX

View File

@ -1,11 +1,11 @@
# HG changeset patch
# User Wolfgang Rosenauer <wr@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.

View File

@ -9,7 +9,7 @@ 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
@@ -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 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
+ mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
+ }
}
return NS_OK;
}

View File

@ -9,7 +9,7 @@ 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);
pref("intl.locale.requested", "");
// do not disable system-global or app-global extensions
pref("extensions.autoDisableScopes", 3);

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:286fa71504e7184f3a41bcbdebf591bebe8e04dccbad1c93a47c6e72a7125c4d
size 230475264

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bd7da88dcc03c448a4e975b5a1d3e9bf466ec9151b1059392bcdb50955a22056
size 282494428

View File

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (GNU/Linux)
iQIcBAABCAAGBQJbYKmUAAoJELu+vbskxvNVXJIP+QGrp2pi96cDyYKTPwYtyQVX
+p80AMpQzvrhZ+yxXIXWpj5DP1yNcw1qM2FGgsMq4k0cJGYWK2irffHXMEWJI4rS
43gOL9r0Wj6RpA70NIScGvgTAzctmBQvt2Vh7XOozlm2DJAa5L3xtNkJPTKrziEQ
m2+zVwtDT/cuahj2YQcfZzf695K8BThjht4BBBkn2dd/DMletwp3VQX/cpNl8AVh
BwIj5kf0Ic2omGZ3LGCcB8RHlRw85/9cxJICbnHMpkhaYnijo90pak28cDw/jMCD
kw2BLA5x1XVUCg2EH17pvVHaliRc7LhpDVi1PujTMph1XXHY3+0UX0qPNoo5EZU6
NvUTrT1TjRiuRKMKfvgGQhfZQU87Ea5f2gqHnc479uwlIN+knw9h0EVbjadDeoKZ
lVPV7x/O/QoMhAcxED8i7tBK0HURWDuB8uguWUVu9dhiZ8MXfwntrRN6mmt9KD8O
9tS4r0Q5EeWY2oAuZkIVHHlhT/ti3uNCllwaVk/tQJHc5xj3TDv57aoshWNYnaPY
aRY7Xwk0Pt7J7YCzxSDfBA2Kgcm+QT+hO1Gywyofg+Nvcpjq/HXXjP4lW12gL3LJ
SxDb62IEXI1zqyXQKj0lZZK6eVUzo4vyYYuZFAclJS7+hTPHxRcJ7QMyzm20R574
c5bJlzDoPxB82zOuFLcS
=NNyj
-----END PGP SIGNATURE-----