1
0

- Mozilla Thunderbird 68.1.1

Bugfixes
  * Issues with attachments in IMAP messages
  * Gmail accounts ignored a non-standard trash folder selection
  * Entering/pasting lists of recipients into the addressing widget or
    mailing list not working reliably, especially when lists contained
    multiple commas or semicolons
  * Edit mailing list not working
  * Various theme fixes, especially dark theme improvements for Calendar
  * Contrast between tag label and background not optimal
  * Account Central pane always loaded at start-up
  * "Config Editor" button not removed if blocked by policy
  * Calendar: Free/busy information in attendees dialog not scrolled
    correctly. Note: Scroll arrows still not behaving correctly
- require nodejs8 instead of generic nodejs for better cross-distribution
  support
- call desktop database update on install
- updated translations-other locale list
- build correct ICU for Big Endian
- remove kde.js since disabling instantApply breaks extensions and
  is obsolete with the move to HTML views for preferences (boo#1151186)
- update create-tar.sh to latest revision and adjust tar_stamps
- added platform patches from Firefox 68esr
   mozilla-bmo1005535.patch
   mozilla-bmo1463035.patch
   mozilla-bmo1504834-part1.patch
   mozilla-bmo1504834-part2.patch
   mozilla-bmo1504834-part3.patch
   mozilla-bmo1511604.patch
   mozilla-bmo1554971.patch

OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaThunderbird?expand=0&rev=490
This commit is contained in:
Wolfgang Rosenauer 2019-09-25 15:13:22 +00:00 committed by Git OBS Bridge
parent f56d76b94f
commit 7920c81c06
32 changed files with 924 additions and 98 deletions

View File

@ -1,3 +1,52 @@
-------------------------------------------------------------------
Wed Sep 25 11:46:51 UTC 2019 - Wolfgang Rosenauer <wr@rosenauer.org>
- Mozilla Thunderbird 68.1.1
Bugfixes
* Issues with attachments in IMAP messages
* Gmail accounts ignored a non-standard trash folder selection
* Entering/pasting lists of recipients into the addressing widget or
mailing list not working reliably, especially when lists contained
multiple commas or semicolons
* Edit mailing list not working
* Various theme fixes, especially dark theme improvements for Calendar
* Contrast between tag label and background not optimal
* Account Central pane always loaded at start-up
* "Config Editor" button not removed if blocked by policy
* Calendar: Free/busy information in attendees dialog not scrolled
correctly. Note: Scroll arrows still not behaving correctly
- require nodejs8 instead of generic nodejs for better cross-distribution
support
- call desktop database update on install
- updated translations-other locale list
- build correct ICU for Big Endian
- remove kde.js since disabling instantApply breaks extensions and
is obsolete with the move to HTML views for preferences (boo#1151186)
- update create-tar.sh to latest revision and adjust tar_stamps
- added platform patches from Firefox 68esr
mozilla-bmo1005535.patch
mozilla-bmo1463035.patch
mozilla-bmo1504834-part1.patch
mozilla-bmo1504834-part2.patch
mozilla-bmo1504834-part3.patch
mozilla-bmo1511604.patch
mozilla-bmo1554971.patch
mozilla-bmo1573381.patch
mozilla-cubeb-noreturn.patch
mozilla-disable-wasm-emulate-arm-unaligned-fp-access.patch
mozilla-fix-aarch64-libopus.patch
mozilla-fix-top-level-asm.patch
mozilla-nestegg-big-endian.patch
mozilla-ntlm-full-path.patch
mozilla-openaes-decl.patch
mozilla-ppc-altivec_static_inline.patch
mozilla-reduce-rust-debuginfo.patch
mozilla-s390-bigendian.patch
mozilla-s390-context.patch
- removed renamed patches
fix-missing-return-warning.patch
fix-top-level-asm-issue.patch
-------------------------------------------------------------------
Fri Sep 20 15:59:25 UTC 2019 - munix9@googlemail.com

View File

@ -18,12 +18,20 @@
# changed with every update
%define major 68
%define mainver %major.1.0
%define version_postfix %{nil}
%define update_channel release
%define releasedate 20190909201201
%define source_prefix thunderbird-%{mainver}
# orig_version vs. mainver: To have beta-builds
# FF70beta3 would be released as FF69.99
# orig_version would be the upstream tar ball
# orig_version 70.0
# orig_suffix b3
# major 69
# mainver %major.99
%define major 68
%define mainver %major.1.1
%define orig_version 68.1.1
%define orig_suffix %{nil}
%define update_channel release
%define releasedate 20190924105435
%define source_prefix thunderbird-%{mainver}
# always build with GCC as SUSE Security Team requires that
%define clang_build 0
@ -31,6 +39,8 @@
# PIE, full relro
%define build_hardened 1
%bcond_with only_print_mozconfig
%bcond_without mozilla_tb_kde4
%bcond_with mozilla_tb_valgrind
%bcond_without mozilla_tb_optimize_for_size
@ -74,7 +84,7 @@ BuildRequires: memory-constraints
BuildRequires: mozilla-nspr-devel >= 4.21
BuildRequires: mozilla-nss-devel >= 3.44.1
BuildRequires: nasm >= 2.13
BuildRequires: nodejs >= 8.11
BuildRequires: nodejs8 >= 8.11
BuildRequires: python-devel
BuildRequires: python2-xml
BuildRequires: python3 >= 3.5
@ -115,9 +125,9 @@ BuildRequires: clang4-devel
Recommends: libavcodec-full >= 0.10.16
Version: %{mainver}
Release: 0
Provides: MozillaThunderbird-devel = %version
Obsoletes: MozillaThunderbird-devel < %version
Provides: MozillaThunderbird-devel = %{version}
Provides: thunderbird = %{version}
Obsoletes: MozillaThunderbird-devel < %{version}
Provides: appdata()
Provides: appdata(thunderbird.appdata.xml)
%if %{with mozilla_tb_kde4}
@ -130,34 +140,49 @@ Summary: An integrated email, news feeds, chat, and newsgroups client
License: MPL-2.0
Group: Productivity/Networking/Email/Clients
Url: https://www.thunderbird.net/
Source: http://ftp.mozilla.org/pub/%{progname}/releases/%{version}%{version_postfix}/source/%{progname}-%{version}%{version_postfix}.source.tar.xz
%if !%{with only_print_mozconfig}
Source: http://ftp.mozilla.org/pub/%{progname}/releases/%{orig_version}%{orig_suffix}/source/%{progname}-%{orig_version}%{orig_suffix}.source.tar.xz
Source1: thunderbird.desktop
Source2: tar_stamps
Source2: thunderbird-rpmlintrc
Source3: mozilla.sh.in
Source4: l10n-%{version}.tar.xz
Source4: tar_stamps
Source6: suse-default-prefs.js
Source8: thunderbird-rpmlintrc
Source7: l10n-%{version}.tar.xz
Source9: thunderbird.appdata.xml
Source10: create-tar.sh
Source11: compare-locales.tar.xz
Source12: kde.js
Source13: https://ftp.mozilla.org/pub/thunderbird/releases/%{version}/source/thunderbird-%{version}.source.tar.xz.asc
Source14: http://ftp.mozilla.org/pub/thunderbird/releases/%{version}/KEY#/%{name}.keyring
Source10: compare-locales.tar.xz
Source14: https://github.com/openSUSE/firefox-scripts/raw/master/create-tar.sh
Source20: https://ftp.mozilla.org/pub/%{progname}/releases/%{orig_version}%{orig_suffix}/source/%{progname}-%{orig_version}%{orig_suffix}.source.tar.xz.asc
Source21: https://ftp.mozilla.org/pub/%{progname}/releases/%{orig_version}/KEY#/%{name}.keyring
# Gecko/Toolkit
Patch1: mozilla-nongnome-proxies.patch
Patch2: mozilla-kde.patch
Patch3: mozilla-aarch64-startup-crash.patch
Patch4: fix-missing-return-warning.patch
Patch5: thunderbird-locale-build.patch
Patch6: mozilla-bmo1568145.patch
Patch7: fix-top-level-asm-issue.patch
Patch3: mozilla-ntlm-full-path.patch
Patch4: mozilla-openaes-decl.patch
Patch5: mozilla-aarch64-startup-crash.patch
Patch6: mozilla-bmo1463035.patch
Patch7: mozilla-cubeb-noreturn.patch
Patch8: mozilla-fix-aarch64-libopus.patch
Patch9: mozilla-disable-wasm-emulate-arm-unaligned-fp-access.patch
Patch10: mozilla-s390-context.patch
Patch11: mozilla-s390-bigendian.patch
Patch12: mozilla-reduce-rust-debuginfo.patch
Patch13: mozilla-ppc-altivec_static_inline.patch
Patch14: mozilla-bmo1005535.patch
Patch15: mozilla-bmo1568145.patch
Patch16: mozilla-bmo1573381.patch
Patch17: mozilla-bmo1504834-part1.patch
Patch18: mozilla-bmo1504834-part2.patch
Patch19: mozilla-bmo1504834-part3.patch
Patch20: mozilla-bmo1511604.patch
Patch21: mozilla-bmo1554971.patch
Patch22: mozilla-nestegg-big-endian.patch
Patch23: mozilla-fix-top-level-asm.patch
Patch100: thunderbird-locale-build.patch
%endif # only_print_mozconfig
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: coreutils fileutils textutils /bin/sh
Recommends: libcanberra0
Recommends: libpulse0
# Exclude bigendian archs for now, have not built
# since version 45.8.0
ExcludeArch: ppc ppc64 s390 s390x
### build options
%ifarch aarch64 ppc ppc64 ppc64le s390 s390x ia64 %arm
%define crashreporter 0
@ -170,7 +195,8 @@ ExcludeArch: ppc ppc64 s390 s390x
%define __requires_exclude ^(libmoz.*|liblgpllibs.*|libxul.*|libldap.*|libldif.*|libprldap.*)$
Requires: mozilla-nspr >= %(rpm -q --queryformat '%%{VERSION}' mozilla-nspr)
Requires: mozilla-nss >= %(rpm -q --queryformat '%%{VERSION}' mozilla-nss)
Conflicts: thunderbird-esr
Requires(post): desktop-file-utils
Requires(postun): desktop-file-utils
%define libgssapi libgssapi_krb5.so.2
%description
@ -180,7 +206,6 @@ managing email, news feeds, chat, and news groups. It is a local
yet easy to use.
%if %localize
%package translations-common
Summary: Common translations for %{appname}
Group: System/Localization
@ -195,7 +220,7 @@ of %{appname}.
%package translations-other
Summary: Extra translations for %{appname}
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)
Provides: locale(%{name}:ast;be;bg;br;cak;cy;dsb;et;eu;fy_NL;ga_IE;gd;gl;he;hr;hsb;hy_AM;id;is;ka;kab;kk;lt;ms;nn_NO;rm;ro;si;sk;sl;sq;sr;tr;uk;uz;vi)
Requires: %{name} = %{version}
Obsoletes: %{name}-translations < %{version}-%{release}
@ -214,16 +239,17 @@ This subpackage contains the Breakpad created and compatible debugging
symbols meant for upload to Mozilla's crash collector database.
%endif
%if !%{with only_print_mozconfig}
%prep
%if %localize
# If generated incorrectly, the tarball will be ~270B in
# size, so 1MB seems like good enough limit to check.
MINSIZE=1048576
if (( $(stat -Lc%s "%{SOURCE4}") < MINSIZE)); then
if (( $(stat -Lc%s "%{SOURCE7}") < MINSIZE)); then
echo "Translations tarball %{SOURCE7} not generated properly."
exit 1
fi
%setup -q -n %{source_prefix} -b 4 -b 11
%setup -q -n %{source_prefix} -b 7 -b 10
%else
%setup -q -n %{source_prefix}
%endif
@ -236,11 +262,30 @@ fi
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%ifarch s390x
%patch11 -p1
%endif
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
# Thunderbird
%patch100 -p1
%endif # only_print_mozconfig
%build
#
# Limit RAM usage to avoid OOM
%if !%{with only_print_mozconfig}
%define _lto_cflags %{nil}
# no need to add build time to binaries
modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")"
@ -255,14 +300,12 @@ if test "$kdehelperversion" != %{kde_helper_version}; then
exit 1
fi
%endif
%endif # only_print_mozconfig
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
%if 0%{?suse_version} <= 1320
export CC=gcc-7
%else
@ -288,10 +331,16 @@ export CXXFLAGS="$CFLAGS"
export RUSTFLAGS="-Cdebuginfo=0"
%endif
export MOZCONFIG=$RPM_BUILD_DIR/mozconfig
%if %{with only_print_mozconfig}
echo "export CC=$CC"
echo "export CXX=$CXX"
echo "export CFLAGS=\"$CFLAGS\""
echo "export LDFLAGS=\"$LDFLAGS\""
echo "export RUSTFLAGS=\"$RUSTFLAGS\""
echo ""
cat << EOF
%else
%limit_build -m 2000
# -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
@ -339,40 +388,59 @@ 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}
ac_add_options --with-unsigned-addon-scopes=app
%if %has_system_cairo
ac_add_options --enable-system-cairo
%endif
%if ! %crashreporter
ac_add_options --disable-crashreporter
%endif
%ifarch %arm
ac_add_options --with-fpu=vfpv3-d16
ac_add_options --with-float-abi=hard
%ifarch armv6l armv6hl
ac_add_options --with-arch=armv6
%else
ac_add_options --with-arch=armv7-a
%endif
%endif
%if %{with mozilla_tb_valgrind}
ac_add_options --disable-jemalloc
ac_add_options --enable-valgrind
%endif
# mitigation/workaround for bmo#1512162
%ifarch s390x
ac_add_options --enable-optimize="-O1"
%endif
%ifarch x86_64
# LTO needs newer toolchain stack only (at least GCC 8.2.1 (r268506)
%if 0%{?suse_version} > 1500
ac_add_options --enable-lto
%endif
%endif
EOF
%endif
%if !%{with only_print_mozconfig}
%ifarch ppc64 s390x s390
# NOTE: Currently, system-icu is too old, so we can't build with that,
# but have to generate the .dat-file freshly. This seems to be a
# less fragile approach anyways.
# ac_add_options --with-system-icu
echo "Generate big endian version of config/external/icu/data/icud58l.dat"
./mach python intl/icu_sources_data.py .
ls -l config/external/icu/data
rm -f config/external/icu/data/icudt*l.dat
%endif
./mach build
%endif # only_print_mozconfig
%install
cd $RPM_BUILD_DIR/obj
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/* %{buildroot}%{progdir}
cp -rf $RPM_BUILD_DIR/obj/dist/%{progname}/* %{buildroot}%{progdir}
install -m 644 %{SOURCE13} %{buildroot}%{progdir}/defaults/pref/
%if %{with mozilla_tb_kde4}
# install kde.js
install -m 644 %{SOURCE12} %{buildroot}%{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);' > %{buildroot}%{progdir}/defaults/pref/all-thunderbird.js
%endif
# build additional locales
%if %localize
mkdir -p %{buildroot}%{progdir}/extensions/
@ -476,10 +544,12 @@ rm -f %{buildroot}%{progdir}/nspr-config
%fdupes %{buildroot}%{progdir}
%fdupes %{buildroot}%{_libdir}/mozilla
%fdupes %{buildroot}%{_datadir}
# create breakpad debugsymbols
%if %crashreporter
SYMBOLS_NAME="thunderbird-%{version}-%{release}.%{_arch}-%{suse_version}-symbols"
make buildsymbols \
SYMBOL_INDEX_NAME="$SYMBOLS_NAME.txt" \
SYMBOL_FULL_ARCHIVE_BASENAME="$SYMBOLS_NAME-full" \
SYMBOL_ARCHIVE_BASENAME="$SYMBOLS_NAME"
if [ -e dist/*symbols.zip ]; then
mkdir -p %{buildroot}%{_datadir}/mozilla/
@ -494,10 +564,12 @@ rm -rf %{_tmppath}/translations.*
%endif
%post
%desktop_database_post
%icon_theme_cache_post
exit 0
%postun
%desktop_database_postun
%icon_theme_cache_postun
exit 0
@ -514,9 +586,6 @@ exit 0
%{progdir}/gtk2/libmozgtk.so
%{progdir}/*.so
%{progdir}/omni.ja
%if %crashreporter
%{progdir}/minidump-analyzer
%endif
%{progdir}/pingsender
%{progdir}/platform.ini
%{progdir}/plugin-container
@ -525,6 +594,7 @@ exit 0
%if %crashreporter
%{progdir}/crashreporter
%{progdir}/crashreporter.ini
%{progdir}/minidump-analyzer
%{progdir}/Throbber-small.gif
%endif
%dir %{progdir}/chrome/

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:74bff7abaceafcb71628e1be0dede58249467fe36a71bde992ab6e5a350db739
size 28500
oid sha256:7882c9c5c073a24f48abf4c7ea46070746a49f95ba75d49e7cb8a814cf2ec513
size 28496

View File

@ -1,9 +1,9 @@
#!/bin/bash
function print_usage_and_exit() {
echo "Usage: create-tar.sh tar_stamp"
echo "Usage: create-tar.sh tar_stamps"
echo ""
echo "Where tar_stamp should look like this:"
echo "Where tar_stamps should look like this:"
echo ""
cat << EOF
# Node ID: 64ee63facd4ff96b3e8590cff559d7e97ac6b061
@ -11,8 +11,7 @@ PRODUCT="firefox" # "firefox" or "thunderbird"
CHANNEL="esr60"
VERSION="60.7.0"
VERSION_SUFFIX="esr"
FF_RELEASE_TAG="" # Needs only to be set if no tar-ball can be downloaded
TB_RELEASE_TAG="" # Only relevant for Thunderbird
RELEASE_TAG="" # Needs only to be set if no tar-ball can be downloaded
PREV_VERSION="60.6.3" # Prev. version only needed for locales (leave empty to force l10n-generation)
PREV_VERSION_SUFFIX="esr"
#SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
@ -25,7 +24,7 @@ if [ $# -ne 1 ]; then
print_usage_and_exit
fi
# Sourcing the given tar_stamp-file to have the variables available
# Sourcing the given tar_stamps-file to have the variables available
source "$1" || print_usage_and_exit
# Internal variables
@ -193,10 +192,19 @@ else
echo "cloning new $BRANCH..."
hg clone http://hg.mozilla.org/$BRANCH $PRODUCT-$VERSION
if [ "$PRODUCT" = "thunderbird" ]; then
hg clone http://hg.mozilla.org/releases/comm-$CHANNEL thunderbird-$VERSION/comm
hg clone http://hg.mozilla.org/releases/comm-$CHANNEL $PRODUCT-$VERSION/comm
fi
fi
pushd $PRODUCT-$VERSION || exit 1
# parse out the Firefox-release tag for this Thunderbird-checkout
if [ "$PRODUCT" = "thunderbird" ]; then
FF_RELEASE_TAG=$(grep ^GECKO_HEAD_REV ./comm/.gecko_rev.yml | awk -F ' ' '{print $2}') || exit 1
echo "Parsed Firefox base ID from .gecko_rev.yml: $FF_RELEASE_TAG"
else
FF_RELEASE_TAG="$RELEASE_TAG"
fi
hg update --check $FF_RELEASE_TAG
[ "$FF_RELEASE_TAG" == "default" ] || hg update -r $FF_RELEASE_TAG
# get repo and source stamp
@ -207,7 +215,7 @@ else
if [ "$PRODUCT" = "thunderbird" ]; then
pushd comm || exit 1
hg update --check $TB_RELEASE_TAG
hg update --check $RELEASE_TAG
popd || exit 1
rm -rf thunderbird-${VERSION}/{,comm/}other-licenses/7zstub
fi
@ -241,7 +249,7 @@ if [ $LOCALES_CHANGED -ne 0 ]; then
else
hg clone "http://hg.mozilla.org/l10n-central/$locale" "l10n/$locale"
fi
[ "$FF_RELEASE_TAG" == "default" ] || hg -R "l10n/$locale" up -C -r "$changeset"
[ "$RELEASE_TAG" == "default" ] || hg -R "l10n/$locale" up -C -r "$changeset"
;;
esac
done

View File

@ -1,10 +0,0 @@
diff -rup thunderbird-68.0.orig/media/libcubeb/src/cubeb_utils.cpp thunderbird-68.0/media/libcubeb/src/cubeb_utils.cpp
--- thunderbird-68.0.orig/media/libcubeb/src/cubeb_utils.cpp 2019-08-26 23:32:14.000000000 +0200
+++ thunderbird-68.0/media/libcubeb/src/cubeb_utils.cpp 2019-08-30 09:22:26.213301561 +0200
@@ -20,4 +20,6 @@ size_t cubeb_sample_size(cubeb_sample_fo
// should never happen as all cases are handled above.
assert(false);
}
+ // silence the compiler here:
+ return 0;
}

1
kde.js
View File

@ -1 +0,0 @@
pref("browser.preferences.instantApply", false);

View File

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

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

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

20
mozilla-bmo1005535.patch Normal file
View File

@ -0,0 +1,20 @@
# HG changeset patch
# User Steve Singer <steve@ssinger.info>
# Date 1558451540 -7200
# Tue May 21 17:12:20 2019 +0200
# Node ID 433beec63e6b5f409683af20a0c1ab137cc7bfad
# Parent 42c99b59a87b904063bad3193f10c51d068d2eac
Bug 1005535 - Get skia GPU building on big endian.
diff -r 42c99b59a87b -r 433beec63e6b gfx/skia/skia/include/private/GrColor.h
--- a/gfx/skia/skia/include/private/GrColor.h Wed Jun 05 08:48:08 2019 +0200
+++ b/gfx/skia/skia/include/private/GrColor.h Tue May 21 17:12:20 2019 +0200
@@ -63,7 +63,7 @@
* Since premultiplied means that alpha >= color, we construct a color with
* each component==255 and alpha == 0 to be "illegal"
*/
-#define GrColor_ILLEGAL (~(0xFF << GrColor_SHIFT_A))
+#define GrColor_ILLEGAL ((uint32_t)(~(0xFF << GrColor_SHIFT_A)))
/** Normalizes and coverts an uint8_t to a float. [0, 255] -> [0.0, 1.0] */
static inline float GrNormalizeByteToFloat(uint8_t value) {

78
mozilla-bmo1463035.patch Normal file
View File

@ -0,0 +1,78 @@
# HG changeset patch
# User Mike Hommey <mh+mozilla@glandium.org>
# Date 1526871862 -32400
# Node ID 94f21505ff13cd089f7129cd24927cf8b31a0f43
# Parent fc741a5ea37dbe145e0ca5f85e5dfb100f3c9091
Bug 1463035 - Remove MOZ_SIGNAL_TRAMPOLINE. r?darchons
For some reason, GNU as is not happy with the assembly generated after
bug 1238661 anymore on Debian armel.
OTOH, as mentioned in bug 1238661 comment 4, we actually don't need this
workaround anymore, so let's just kill it.
diff --git a/mfbt/moz.build b/mfbt/moz.build
--- a/mfbt/moz.build
+++ b/mfbt/moz.build
@@ -122,20 +122,16 @@ EXPORTS["double-conversion"] = [
LOCAL_INCLUDES += [
'/mfbt/double-conversion',
]
if CONFIG['OS_ARCH'] == 'WINNT':
EXPORTS.mozilla += [
'WindowsVersion.h',
]
-elif CONFIG['OS_ARCH'] == 'Linux':
- EXPORTS.mozilla += [
- 'LinuxSignal.h',
- ]
UNIFIED_SOURCES += [
'Assertions.cpp',
'ChaosMode.cpp',
'double-conversion/double-conversion/bignum-dtoa.cc',
'double-conversion/double-conversion/bignum.cc',
'double-conversion/double-conversion/cached-powers.cc',
'double-conversion/double-conversion/diy-fp.cc',
diff --git a/tools/profiler/core/platform-linux-android.cpp b/tools/profiler/core/platform-linux-android.cpp
--- a/tools/profiler/core/platform-linux-android.cpp
+++ b/tools/profiler/core/platform-linux-android.cpp
@@ -55,17 +55,16 @@
#ifdef __GLIBC__
# include <execinfo.h> // backtrace, backtrace_symbols
#endif // def __GLIBC__
#include <strings.h> // index
#include <errno.h>
#include <stdarg.h>
#include "prenv.h"
-#include "mozilla/LinuxSignal.h"
#include "mozilla/PodOperations.h"
#include "mozilla/DebugOnly.h"
#include <string.h>
#include <list>
using namespace mozilla;
@@ -248,17 +247,17 @@ Sampler::Sampler(PSLockRef aLock)
// NOTE: We don't initialize LUL here, instead initializing it in
// SamplerThread's constructor. This is because with the
// profiler_suspend_and_sample_thread entry point, we want to be able to
// sample without waiting for LUL to be initialized.
// Request profiling signals.
struct sigaction sa;
- sa.sa_sigaction = MOZ_SIGNAL_TRAMPOLINE(SigprofHandler);
+ sa.sa_sigaction = SigprofHandler;
sigemptyset(&sa.sa_mask);
sa.sa_flags = SA_RESTART | SA_SIGINFO;
if (sigaction(SIGPROF, &sa, &mOldSigprofHandler) != 0) {
MOZ_CRASH("Error installing SIGPROF handler in the profiler");
}
}
void Sampler::Disable(PSLockRef aLock) {

View File

@ -0,0 +1,81 @@
# HG changeset patch
# Parent 051b75a600dfbf7503c3485cebfd34d4eb29be96
Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834
diff -r 051b75a600df gfx/2d/DrawTargetSkia.cpp
--- a/gfx/2d/DrawTargetSkia.cpp Fri Jul 05 12:42:44 2019 +0200
+++ b/gfx/2d/DrawTargetSkia.cpp Mon Jul 08 10:59:30 2019 +0200
@@ -138,8 +138,7 @@
return surfaceBounds.Intersect(bounds);
}
-static const int kARGBAlphaOffset =
- SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0;
+static const int kARGBAlphaOffset = 0; // Skia is always BGRA SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0;
static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize,
const int32_t aStride, SurfaceFormat aFormat) {
diff -r 051b75a600df gfx/2d/Types.h
--- a/gfx/2d/Types.h Fri Jul 05 12:42:44 2019 +0200
+++ b/gfx/2d/Types.h Mon Jul 08 10:59:30 2019 +0200
@@ -85,15 +85,8 @@
// The following values are endian-independent synonyms. The _UINT32 suffix
// indicates that the name reflects the layout when viewed as a uint32_t
// value.
-#if MOZ_LITTLE_ENDIAN
A8R8G8B8_UINT32 = B8G8R8A8, // 0xAARRGGBB
X8R8G8B8_UINT32 = B8G8R8X8 // 0x00RRGGBB
-#elif MOZ_BIG_ENDIAN
- A8R8G8B8_UINT32 = A8R8G8B8, // 0xAARRGGBB
- X8R8G8B8_UINT32 = X8R8G8B8 // 0x00RRGGBB
-#else
-# error "bad endianness"
-#endif
};
static inline int BytesPerPixel(SurfaceFormat aFormat) {
diff -r 051b75a600df gfx/skia/skia/third_party/skcms/skcms.cc
--- a/gfx/skia/skia/third_party/skcms/skcms.cc Fri Jul 05 12:42:44 2019 +0200
+++ b/gfx/skia/skia/third_party/skcms/skcms.cc Mon Jul 08 10:59:30 2019 +0200
@@ -17,6 +17,8 @@
#include <arm_neon.h>
#elif defined(__SSE__)
#include <immintrin.h>
+#else
+ #define SKCMS_PORTABLE
#endif
// sizeof(x) will return size_t, which is 32-bit on some machines and 64-bit on others.
@@ -124,20 +126,28 @@
static uint16_t read_big_u16(const uint8_t* ptr) {
uint16_t be;
memcpy(&be, ptr, sizeof(be));
-#if defined(_MSC_VER)
+#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+ return be;
+#else
+ #if defined(_MSC_VER)
return _byteswap_ushort(be);
-#else
+ #else
return __builtin_bswap16(be);
+ #endif
#endif
}
static uint32_t read_big_u32(const uint8_t* ptr) {
uint32_t be;
memcpy(&be, ptr, sizeof(be));
-#if defined(_MSC_VER)
+#if __BYTE_ORDER == __ORDER_BIG_ENDIAN__
+ return be;
+#else
+ #if defined(_MSC_VER)
return _byteswap_ulong(be);
-#else
+ #else
return __builtin_bswap32(be);
+ #endif
#endif
}

View File

@ -0,0 +1,112 @@
# HG changeset patch
# Parent 6fa4b62427433e8f445d05c557e5db096667d880
Skia does not support big endian. The places to fix are too numerous and upstream (skia, not Mozilla)
has no interest in maintaining big endian.
So here we try to swizzle the input for skia, so that skia always works on LE, and when it comes
out again, we transform back to BE.
diff --git a/gfx/2d/ConvolutionFilter.cpp b/gfx/2d/ConvolutionFilter.cpp
--- a/gfx/2d/ConvolutionFilter.cpp
+++ b/gfx/2d/ConvolutionFilter.cpp
@@ -30,32 +30,79 @@ bool ConvolutionFilter::GetFilterOffsetA
int32_t* aResultLength) {
if (aRowIndex >= mFilter->numValues()) {
return false;
}
mFilter->FilterForValue(aRowIndex, aResultOffset, aResultLength);
return true;
}
+static void ByteSwapArray(uint8_t *u8Array, int32_t size) {
+ uint32_t *array = reinterpret_cast<uint32_t*>(u8Array);
+ for (int pxl = 0; pxl < size; ++pxl) {
+ // Use an endian swap to move the bytes, i.e. BGRA -> ARGB.
+ uint32_t rgba = array[pxl];
+ array[pxl] = NativeEndian::swapToLittleEndian(rgba);
+ }
+}
+
void ConvolutionFilter::ConvolveHorizontally(const uint8_t* aSrc, uint8_t* aDst,
bool aHasAlpha) {
+#if MOZ_BIG_ENDIAN
+ int outputSize = mFilter->numValues();
+
+ // Input size isn't handed in, so we have to calculate it quickly
+ int inputSize = 0;
+ for (int xx = 0; xx < outputSize; ++xx) {
+ // Get the filter that determines the current output pixel.
+ int filterOffset, filterLength;
+ mFilter->FilterForValue(xx, &filterOffset, &filterLength);
+ inputSize = std::max(inputSize, filterOffset + filterLength);
+ }
+
+ ByteSwapArray((uint8_t*)aSrc, inputSize);
+#endif
+
SkOpts::convolve_horizontally(aSrc, *mFilter, aDst, aHasAlpha);
+
+#if MOZ_BIG_ENDIAN
+ ByteSwapArray((uint8_t*)aSrc, inputSize);
+ ByteSwapArray(aDst, outputSize);
+#endif
}
void ConvolutionFilter::ConvolveVertically(uint8_t* const* aSrc, uint8_t* aDst,
int32_t aRowIndex, int32_t aRowSize,
bool aHasAlpha) {
MOZ_ASSERT(aRowIndex < mFilter->numValues());
int32_t filterOffset;
int32_t filterLength;
auto filterValues =
mFilter->FilterForValue(aRowIndex, &filterOffset, &filterLength);
+
+#if MOZ_BIG_ENDIAN
+ for (int filterY = 0; filterY < filterLength; filterY++) {
+ // Skia only knows LE, so we have to swizzle the input
+ ByteSwapArray(aSrc[filterY], aRowSize);
+ }
+#endif
+
SkOpts::convolve_vertically(filterValues, filterLength, aSrc, aRowSize, aDst,
aHasAlpha);
+
+#if MOZ_BIG_ENDIAN
+ // After skia is finished, we swizzle back to BE, in case
+ // the input is used again somewhere else
+ for (int filterY = 0; filterY < filterLength; filterY++) {
+ ByteSwapArray(aSrc[filterY], aRowSize);
+ }
+ // The destination array as well
+ ByteSwapArray(aDst, aRowSize);
+#endif
}
/* ConvolutionFilter::ComputeResizeFactor is derived from Skia's
* SkBitmapScaler/SkResizeFilter::computeFactors. It is governed by Skia's
* BSD-style license (see gfx/skia/LICENSE) and the following copyright:
* Copyright (c) 2015 Google Inc.
*/
bool ConvolutionFilter::ComputeResizeFilter(ResizeMethod aResizeMethod,
diff --git a/gfx/skia/skia/include/core/SkPreConfig.h b/gfx/skia/skia/include/core/SkPreConfig.h
--- a/gfx/skia/skia/include/core/SkPreConfig.h
+++ b/gfx/skia/skia/include/core/SkPreConfig.h
@@ -68,17 +68,17 @@
#define SK_CPU_BENDIAN
#elif defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
#define SK_CPU_LENDIAN
#elif defined(__sparc) || defined(__sparc__) || \
defined(_POWER) || defined(__powerpc__) || \
defined(__ppc__) || defined(__hppa) || \
defined(__PPC__) || defined(__PPC64__) || \
defined(_MIPSEB) || defined(__ARMEB__) || \
- defined(__s390__) || \
+ defined(__s390__) || defined(__s390x__) || \
(defined(__sh__) && defined(__BIG_ENDIAN__)) || \
(defined(__ia64) && defined(__BIG_ENDIAN__))
#define SK_CPU_BENDIAN
#else
#define SK_CPU_LENDIAN
#endif
#endif

View File

@ -0,0 +1,44 @@
# HG changeset patch
# Parent aecb4600e5da17443b224c79eee178c1d8e155e3
For FF68, AntiAliasing of XULTexts seem to be broken on big endian (s390x). Text and icons of the sandwich-menu to the
right of the address bar, as well as plugin-windows appears transparant, which usually means unreadable (white on white).
diff -r aecb4600e5da gfx/skia/skia/include/private/SkNx.h
--- a/gfx/skia/skia/include/private/SkNx.h Tue Aug 20 09:46:55 2019 +0200
+++ b/gfx/skia/skia/include/private/SkNx.h Mon Sep 09 10:04:06 2019 +0200
@@ -238,7 +238,18 @@
AI SkNx operator*(const SkNx& y) const { return fVal * y.fVal; }
AI SkNx operator/(const SkNx& y) const { return fVal / y.fVal; }
+ // On Big endian the commented out variant doesn't work,
+ // and honestly, I have no idea why it exists in the first place.
+ // The reason its broken is, I think, that it defaults to the double-variant of ToBits()
+ // which gets a 64-bit integer, and FromBits returns 32-bit,
+ // cutting off the wrong half again.
+ // Overall, I see no reason to have ToBits and FromBits at all (even for floats/doubles).
+ // Still we are only "fixing" this for big endian and leave little endian alone (never touch a running system)
+#ifdef SK_CPU_BENDIAN
+ AI SkNx operator&(const SkNx& y) const { return fVal & y.fVal; }
+#else
AI SkNx operator&(const SkNx& y) const { return FromBits(ToBits(fVal) & ToBits(y.fVal)); }
+#endif
AI SkNx operator|(const SkNx& y) const { return FromBits(ToBits(fVal) | ToBits(y.fVal)); }
AI SkNx operator^(const SkNx& y) const { return FromBits(ToBits(fVal) ^ ToBits(y.fVal)); }
diff -r aecb4600e5da gfx/skia/skia/src/opts/SkBlitMask_opts.h
--- a/gfx/skia/skia/src/opts/SkBlitMask_opts.h Tue Aug 20 09:46:55 2019 +0200
+++ b/gfx/skia/skia/src/opts/SkBlitMask_opts.h Mon Sep 09 10:04:06 2019 +0200
@@ -203,7 +203,13 @@
// ~~~>
// a = 1*aa + d(1-1*aa) = aa + d(1-aa)
// c = 0*aa + d(1-1*aa) = d(1-aa)
+
+ // For big endian we have to swap the alpha-mask from 0,0,0,255 to 255,0,0,0
+#ifdef SK_CPU_BENDIAN
+ return Sk4px(Sk16b(aa) & Sk16b(255,0,0,0, 255,0,0,0, 255,0,0,0, 255,0,0,0))
+#else
return Sk4px(Sk16b(aa) & Sk16b(0,0,0,255, 0,0,0,255, 0,0,0,255, 0,0,0,255))
+#endif
+ d.approxMulDiv255(aa.inv());
};
while (h --> 0) {

76
mozilla-bmo1511604.patch Normal file
View File

@ -0,0 +1,76 @@
# HG changeset patch
# User A. Wilcox <AWilcox@Wilcox-Tech.com>
# Date 1543674229 0
# Sat Dec 01 14:23:49 2018 +0000
# Node ID 0309ff19e46b126c527e633518d7de8570442114
# Parent ba2c9b0542c95cc5ee26c264e8338fc9ba94c958
Bug 1511604 - Swizzle YCbCr->RGB data on big-endian machines
Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1511604
This is very closely related to mozilla-bmo1504834
Again, input for skia is swizzled to LE, as skia only understands LE.
diff --git a/gfx/ycbcr/YCbCrUtils.cpp b/gfx/ycbcr/YCbCrUtils.cpp
--- a/gfx/ycbcr/YCbCrUtils.cpp
+++ b/gfx/ycbcr/YCbCrUtils.cpp
@@ -1,14 +1,16 @@
/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 4 -*-
* 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/. */
+#include "mozilla/EndianUtils.h"
#include "gfx2DGlue.h"
+#include "mozilla/gfx/Swizzle.h"
#include "YCbCrUtils.h"
#include "yuv_convert.h"
#include "ycbcr_to_rgb565.h"
namespace mozilla {
namespace gfx {
@@ -231,16 +233,23 @@ ConvertYCbCrToRGB(const layers::PlanarYC
srcData.mPicSize.width,
srcData.mPicSize.height,
srcData.mYStride,
srcData.mCbCrStride,
aStride,
yuvtype,
srcData.mYUVColorSpace);
}
+#if MOZ_BIG_ENDIAN
+ // libyuv makes endian-correct result, which needs to be swapped to BGRX
+ if (aDestFormat != SurfaceFormat::R5G6B5_UINT16)
+ gfx::SwizzleData(aDestBuffer, aStride, gfx::SurfaceFormat::X8R8G8B8,
+ aDestBuffer, aStride, gfx::SurfaceFormat::B8G8R8X8,
+ srcData.mPicSize);
+#endif
}
void
ConvertYCbCrAToARGB(const uint8_t* aSrcY,
const uint8_t* aSrcU,
const uint8_t* aSrcV,
const uint8_t* aSrcA,
int aSrcStrideYA, int aSrcStrideUV,
@@ -252,12 +261,18 @@ ConvertYCbCrAToARGB(const uint8_t* aSrcY
aSrcV,
aSrcA,
aDstARGB,
aWidth,
aHeight,
aSrcStrideYA,
aSrcStrideUV,
aDstStrideARGB);
+#if MOZ_BIG_ENDIAN
+ // libyuv makes endian-correct result, which needs to be swapped to BGRA
+ gfx::SwizzleData(aDstARGB, aDstStrideARGB, gfx::SurfaceFormat::A8R8G8B8,
+ aDstARGB, aDstStrideARGB, gfx::SurfaceFormat::B8G8R8A8,
+ IntSize(aWidth, aHeight));
+#endif
}
} // namespace gfx
} // namespace mozilla

22
mozilla-bmo1554971.patch Normal file
View File

@ -0,0 +1,22 @@
# HG changeset patch
# Parent a25cebecb02d5460b8ad757fe9cb4a9c8d1d7658
Eliminate startup error message:
JavaScript error: , line 0: Error: Type error for platformInfo value (Error processing arch: Invalid enumeration value "s390x") for runtime.getPlatformInfo.
Reported here: https://bugzilla.mozilla.org/show_bug.cgi?id=1554971
Uncertain if this is causing real problems or not. Also uncertain if the fix actually fixes anything.
No response from upstream yet.
diff -r a25cebecb02d -r 378b81b00e73 toolkit/components/extensions/schemas/runtime.json
--- a/toolkit/components/extensions/schemas/runtime.json Fri Jul 05 12:42:44 2019 +0200
+++ b/toolkit/components/extensions/schemas/runtime.json Fri Jul 19 13:19:30 2019 +0200
@@ -64,7 +64,7 @@
{
"id": "PlatformArch",
"type": "string",
- "enum": ["arm", "x86-32", "x86-64"],
+ "enum": ["arm", "x86-32", "x86-64", "s390x", "aarch64", "ppc64le"],
"allowedContexts": ["content", "devtools"],
"description": "The machine's processor architecture."
},

22
mozilla-bmo1573381.patch Normal file
View File

@ -0,0 +1,22 @@
# HG changeset patch
# Parent 45680ce4ca06795cbca1ea5a9ae8a7a11ab95cf1
The code tries to find a codec in a list of codecs. For this it searches for a given prefix.
But the prefix is of type char16_t, which means 2 bytes per character instead of 1, as was compared here.
On big endian this created some false positives, as the order of bytes is different and some characters only
occupy "the first" byte, having the second null'ed out.
Noticed because of gtest: MediaMIMETypes.MediaCodecs
Upstream bugreport: https://bugzilla.mozilla.org/show_bug.cgi?id=1573381
diff -r 45680ce4ca06 -r 381102061fcc dom/media/MediaMIMETypes.cpp
--- a/dom/media/MediaMIMETypes.cpp Mon Aug 05 09:28:53 2019 +0200
+++ b/dom/media/MediaMIMETypes.cpp Tue Aug 13 07:51:27 2019 +0200
@@ -87,7 +87,7 @@
const size_t prefixLength = aCodecPrefix.Length();
for (const auto& myCodec : Range()) {
if (myCodec.Length() >= prefixLength &&
- memcmp(myCodec.Data(), aCodecPrefix.Data(), prefixLength) == 0) {
+ memcmp(myCodec.Data(), aCodecPrefix.Data(), prefixLength * sizeof(char16_t)) == 0) {
return true;
}
}

View File

@ -0,0 +1,18 @@
# HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent a9d61a2614b01b1e0ca37d00a6b11b2571868f86
diff --git a/media/libcubeb/src/cubeb_utils.cpp b/media/libcubeb/src/cubeb_utils.cpp
--- a/media/libcubeb/src/cubeb_utils.cpp
+++ b/media/libcubeb/src/cubeb_utils.cpp
@@ -15,9 +15,10 @@ size_t cubeb_sample_size(cubeb_sample_fo
return sizeof(int16_t);
case CUBEB_SAMPLE_FLOAT32LE:
case CUBEB_SAMPLE_FLOAT32BE:
return sizeof(float);
default:
// should never happen as all cases are handled above.
assert(false);
}
+ return 0;
}

View File

@ -0,0 +1,11 @@
--- a/js/src/wasm/WasmSignalHandlers.cpp 2019-05-16 11:25:13.260881532 +0200
+++ b/js/src/wasm/WasmSignalHandlers.cpp 2019-05-16 11:24:35.164589301 +0200
@@ -243,7 +243,7 @@ using mozilla::DebugOnly;
// emulation here.
#if defined(__linux__) && defined(__arm__)
-# define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
+// # define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
#endif
#ifdef WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS

View File

@ -0,0 +1,25 @@
# HG changeset patch
# Parent 1317782cd47f1d1f2410712a1dd283b305393eae
diff --git a/media/libopus/silk/arm/arm_silk_map.c b/media/libopus/silk/arm/arm_silk_map.c
--- a/media/libopus/silk/arm/arm_silk_map.c
+++ b/media/libopus/silk/arm/arm_silk_map.c
@@ -23,17 +23,17 @@ INTERRUPTION) HOWEVER CAUSED AND ON ANY
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
***********************************************************************/
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
-#include "main_FIX.h"
+#include "../fixed/main_FIX.h"
#include "NSQ.h"
#include "SigProc_FIX.h"
#if defined(OPUS_HAVE_RTCD)
# if (defined(OPUS_ARM_MAY_HAVE_NEON_INTR) && \
!defined(OPUS_ARM_PRESUME_NEON_INTR))

View File

@ -0,0 +1,38 @@
# HG changeset patch
# Parent 381102061fccdec40efda75c7423a766f68201ba
Bug-behavior: Youtube-videos using VP9 and opus as audio-codec started loading but did not play
Reason: While parsing the audio-stream, the sampling frequency (short rate) was wrongly parsed by
nestegg, returning 0 all the time. This led to the audio-track reporting that it neither had
valid video nor audio. Which led to an endless-loop in the video state machine.
Solution: Correct parsing of rate in nestegg, which is a float and cuts of bytes.
Link: https://github.com/kinetiknz/nestegg/issues/64
diff -r 381102061fcc -r 8da4be020b1e media/libnestegg/src/nestegg.c
--- a/media/libnestegg/src/nestegg.c Tue Aug 13 07:51:27 2019 +0200
+++ b/media/libnestegg/src/nestegg.c Tue Aug 20 07:59:54 2019 +0200
@@ -768,7 +768,15 @@
{
union {
uint64_t u;
- float f;
+ struct {
+#if __FLOAT_WORD_ORDER__ == __ORDER_BIG_ENDIAN__
+ uint32_t _pad;
+ float f;
+#else
+ float f;
+ uint32_t _pad;
+#endif
+ } f;
double d;
} value;
int r;
@@ -780,7 +788,7 @@
if (r != 1)
return r;
if (length == 4)
- *val = value.f;
+ *val = value.f.f;
else
*val = value.d;
return 1;

View File

@ -0,0 +1,28 @@
# HG changeset patch
# User Petr Cerny <pcerny@novell.com>
# Parent 7308e4a7c1f769f4bbbc90870b849cadd99495a6
# Parent 6ab277cf616dc2748e9855101100a97a6cec10a6
Bug 634334 - call to the ntlm_auth helper fails
diff --git a/extensions/auth/nsAuthSambaNTLM.cpp b/extensions/auth/nsAuthSambaNTLM.cpp
--- a/extensions/auth/nsAuthSambaNTLM.cpp
+++ b/extensions/auth/nsAuthSambaNTLM.cpp
@@ -156,17 +156,17 @@ static uint8_t* ExtractMessage(const nsA
*aLen = (length / 4) * 3 - numEquals;
return reinterpret_cast<uint8_t*>(PL_Base64Decode(s, length, nullptr));
}
nsresult nsAuthSambaNTLM::SpawnNTLMAuthHelper() {
const char* username = PR_GetEnv("USER");
if (!username) return NS_ERROR_FAILURE;
- const char* const args[] = {"ntlm_auth",
+ const char* const args[] = {"/usr/bin/ntlm_auth",
"--helper-protocol",
"ntlmssp-client-1",
"--use-cached-creds",
"--username",
username,
nullptr};
bool isOK = SpawnIOChild(const_cast<char* const*>(args), &mChildPID,

View File

@ -0,0 +1,26 @@
# HG changeset patch
# Parent 33024abb3c58dab7239e32388df58e14f99defd5
# User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent 0cfd693fdbbb0635787f1aeacee2dda43b01c495
diff --git a/media/gmp-clearkey/0.1/openaes/oaes_lib.c b/media/gmp-clearkey/0.1/openaes/oaes_lib.c
--- a/media/gmp-clearkey/0.1/openaes/oaes_lib.c
+++ b/media/gmp-clearkey/0.1/openaes/oaes_lib.c
@@ -24,16 +24,17 @@
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
* ---------------------------------------------------------------------------
*/
#include <stdlib.h>
+#include <stdio.h>
#include <stddef.h>
#include <time.h>
#include <string.h>
#include "mozilla/Sprintf.h"
#ifdef WIN32
#include <process.h>

View File

@ -0,0 +1,20 @@
# HG changeset patch
# User msirringhaus@suse.de
# Date 1558452418 -7200
# Tue May 21 17:26:58 2019 +0200
# Node ID 6cd963b6c82ea6629aaf4050851789b78f310338
# Parent 602e92722e765a3c238d3b96b26c0c8063b5eeb4
imported patch mozilla-ppc-altivec_static_inline.patch
diff -r 602e92722e76 -r 6cd963b6c82e gfx/qcms/transform-altivec.c
--- a/gfx/qcms/transform-altivec.c Tue May 21 17:26:48 2019 +0200
+++ b/gfx/qcms/transform-altivec.c Tue May 21 17:26:58 2019 +0200
@@ -30,7 +30,7 @@
static const ALIGN float floatScaleX4 = FLOATSCALE;
static const ALIGN float clampMaxValueX4 = CLAMPMAXVAL;
-inline vector float load_aligned_float(float *dataPtr)
+static inline vector float load_aligned_float(float *dataPtr)
{
vector float data = vec_lde(0, dataPtr);
vector unsigned char moveToStart = vec_lvsl(0, dataPtr);

View File

@ -0,0 +1,34 @@
# HG changeset patch
# User msirringhaus@suse.de
# Date 1560754926 -7200
# Mon Jun 17 09:02:06 2019 +0200
# Node ID 428161c3b9599083e1b8710eda1760f1f707ab11
# Parent 6cd963b6c82ea6629aaf4050851789b78f310338
#Description: reduce the rust debuginfo level on selected architectures where
# compiling with debuginfo=2 causes the OOM killer to interrupt the build on
# launchpad builders. Initially this was only on 32 bit architectures, but with
# firefox 63 it started happening frequently on arm64 and ppc64el too.
diff -r 6cd963b6c82e -r 428161c3b959 build/moz.configure/toolchain.configure
--- a/build/moz.configure/toolchain.configure Tue May 21 17:26:58 2019 +0200
+++ b/build/moz.configure/toolchain.configure Mon Jun 17 09:02:06 2019 +0200
@@ -1865,8 +1865,8 @@
return '1' if moz_optimize.optimize else '0'
-@depends(rustc_opt_level, debug_rust, '--enable-debug-symbols')
-def rust_compile_flags(opt_level, debug_rust, debug_symbols):
+@depends(rustc_opt_level, debug_rust, '--enable-debug-symbols', host)
+def rust_compile_flags(opt_level, debug_rust, debug_symbols, host):
# Cargo currently supports only two interesting profiles for building:
# development and release. Those map (roughly) to --enable-debug and
# --disable-debug in Gecko, respectively.
@@ -1889,6 +1889,8 @@
if debug_symbols:
debug_info = '2'
+ if host.bitness == 32 or host.cpu == 'aarch64' or host.cpu == 'ppc64':
+ debug_info = '1'
opts = []

View File

@ -0,0 +1,20 @@
# HG changeset patch
# User msirringhaus@suse.de
# Date 1558452126 -7200
# Tue May 21 17:22:06 2019 +0200
# Node ID a3cc550d25e3a04d906f516928cbcbe50efd585e
# Parent 433beec63e6b5f409683af20a0c1ab137cc7bfad
[mq]: mozilla-s390-bigendian.patch
diff -r 433beec63e6b -r a3cc550d25e3 build/autoconf/icu.m4
--- a/build/autoconf/icu.m4 Tue May 21 17:12:20 2019 +0200
+++ b/build/autoconf/icu.m4 Tue May 21 17:22:06 2019 +0200
@@ -78,7 +78,7 @@
# TODO: the l is actually endian-dependent
# We could make this set as 'l' or 'b' for little or big, respectively,
# but we'd need to check in a big-endian version of the file.
- ICU_DATA_FILE="icudt${version}l.dat"
+ ICU_DATA_FILE="icudt${version}b.dat"
fi
AC_SUBST(MOZ_ICU_VERSION)

View File

@ -0,0 +1,36 @@
# HG changeset patch
# User msirringhaus@suse.de
# Date 1558452408 -7200
# Tue May 21 17:26:48 2019 +0200
# Node ID 602e92722e765a3c238d3b96b26c0c8063b5eeb4
# Parent a3cc550d25e3a04d906f516928cbcbe50efd585e
[mq]: mozilla-s390-context.patch
diff -r a3cc550d25e3 -r 602e92722e76 js/src/wasm/WasmSignalHandlers.cpp
--- a/js/src/wasm/WasmSignalHandlers.cpp Tue May 21 17:22:06 2019 +0200
+++ b/js/src/wasm/WasmSignalHandlers.cpp Tue May 21 17:26:48 2019 +0200
@@ -154,6 +154,10 @@
# define R01_sig(p) ((p)->uc_mcontext.gp_regs[1])
# define R32_sig(p) ((p)->uc_mcontext.gp_regs[32])
# endif
+# if defined(__linux__) && defined(__s390x__)
+# define GR_sig(p,x) ((p)->uc_mcontext.gregs[x])
+# define PSWa_sig(p) ((p)->uc_mcontext.psw.addr)
+# endif
#elif defined(__NetBSD__)
# define EIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EIP])
# define EBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EBP])
@@ -385,8 +389,13 @@
# define PC_sig(p) R32_sig(p)
# define SP_sig(p) R01_sig(p)
# define FP_sig(p) R01_sig(p)
+#elif defined(__s390x__)
+# define PC_sig(p) PSWa_sig(p)
+# define SP_sig(p) GR_sig(p, 15)
+# define FP_sig(p) GR_sig(p, 11)
#endif
+
static void SetContextPC(CONTEXT* context, uint8_t* pc) {
#ifdef PC_sig
*reinterpret_cast<uint8_t**>(&PC_sig(context)) = pc;

View File

@ -1,9 +1,8 @@
PRODUCT="thunderbird"
CHANNEL="esr68"
VERSION="68.1.0"
VERSION="68.1.1"
VERSION_SUFFIX=""
FF_RELEASE_TAG="0efe7ab505b59f1986ebedc0c114a7d24fd93168"
TB_RELEASE_TAG="9317dad8cb7fd80a47cb3b40253c73127f776535"
RELEASE_TAG="41c0a3653f95cf6158a2b49ab7cb19327c50e9e8"
PREV_VERSION=""
PREV_VERSION_SUFFIX=""
#SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation

View File

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

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEECXsxMHeuYqAvhNpN8aZmj7t9Vy4FAl125ZoACgkQ8aZmj7t9
Vy70YBAAm1wopZ2gjKfBXWbfxASnWP+9+WIKa/o62qpJTybDbPGiopMXp/v8fBX5
WIIftd7cacl3WQHVWmlaFLwJl6vGo7Zro7AHXkxZ+z28kaokh5HtN5/qwcq6C5Gg
2lFMcDGWCKx3qqgRynruEEPCSmQt7JTFEpmGxuCJNYDRbSF01yIsGC6DXi9H/uQr
di+YD/iEcdinjSUyZ7vCpBgelgFxF1+kp0DpcBS/1YK/U1Sl4MYfoE8P4SoXETJY
t2AVa8t10UlV+B0SMtShK0EN/M5A1H2YCnZsQVsWJRRxDQPbW9TsWpv8GSKbg2uQ
sY+uUwHUxB6uqfwMFW1b7i1yfY+vuiXIw/X0DzLSbGqXvfAj0q3Xce5DiMNttuQM
JtSrX2p3hdBe9L+xmRuB+2WZHgidPDOh40ICdPCmQnBeVMXWfiMaXZjrGkd7+2TE
2dVIFk4SF3fI13b26wgyPEKh/EkodOtaMsd80b64NzogHB3Ouz1t30nvLdtQq5r7
j4hh38Pmw2l53WbGXuk40EF6EuLlkRnXyUsftew1b/2CdzQzfW8lvUwyEqHhTJgk
I+JVfONgj2z2f/yVvDnMdfTTvSsflWCXzoWjx4MCuKHbxPQK60KIZk9nkTVLO9cL
nqZFUgvYzuwkll1JsdaH5HE5WF/p/36EnZT3ngToVGlheQLjZCg=
=03dy
-----END PGP SIGNATURE-----

View File

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

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEECXsxMHeuYqAvhNpN8aZmj7t9Vy4FAl2KK6QACgkQ8aZmj7t9
Vy60WBAAjqeEGvftvGemlGodK7fg6caRZQt49TQawplpSzF00JeF2ZGZ9wo41x5d
ekXAlK8GG9reNArPOw4PkVLG4caOaaF0LL3l3zYjs/u7zP4Tl88tHohAYEL7ejZT
iPSgU41IC3qRJdWC0JY4rtwLI2MSXNyBbFpbqfkyGaDh96QPbp5dM0+g5u90qYPB
aVVmoTblED5qH/ahKLyHAFiJ7ua8z4+3FpoZCLqtPHmfozSKeTxolcdtTS4Io9uL
5YyzNI9ayFy1bIecIlh7aK5Rmuw7WOdrFTXNihensMs17Aw1nJh/G+BqGlboi5A3
lgt9cN+lH/xOLr6m2AcoiOFaULCQfuVEAwCbos9AHo4uKw59Uyq2JB1kWAnArrhQ
b+3CpCmyl5KJh4qagSgvFbqm08tEE1A0a7/SD1ArL5CZa3mgwFlkLHWox+JZZYTF
slF8rtLzzWNeP3ZbYUzmnA4igiLcW6L82ysMcnqigwauzqMJ7eNx9umaC5fnRFn/
0HsKlbSS5TzjRji7GZVokvcgsBA5WDfHeFYLtF/UhNQ5R4FjucAnOhHx6zwxEw4C
UdRn5Ks+hOLfgaSap1nkzGFAtPD0bO6dvJQO9lLX2aITfJISnJ6L/8z+/xZY6d+y
sClFqcBMHq2foqQO/WDb1g5mEN57TzxOmPpOR8VHm5Kg4l7MwcQ=
=k6iB
-----END PGP SIGNATURE-----