- Mozilla Thunderbird 115.2.0
https://www.thunderbird.net/en-US/thunderbird/115.2.0/releasenotes MFSA 2023-38 (bsc#1214606) * CVE-2023-4573 (bmo#1846687) Memory corruption in IPC CanvasTranslator * CVE-2023-4574 (bmo#1846688) Memory corruption in IPC ColorPickerShownCallback * CVE-2023-4575 (bmo#1846689) Memory corruption in IPC FilePickerShownCallback * CVE-2023-4576 (bmo#1846694) Integer Overflow in RecordedSourceSurfaceCreation * CVE-2023-4577 (bmo#1847397) Memory corruption in JIT UpdateRegExpStatics * CVE-2023-4051 (bmo#1821884) Full screen notification obscured by file open dialog * CVE-2023-4578 (bmo#1839007) Error reporting methods in SpiderMonkey could have triggered an Out of Memory Exception * CVE-2023-4053 (bmo#1839079) Full screen notification obscured by external program * CVE-2023-4580 (bmo#1843046) Push notifications saved to disk unencrypted * CVE-2023-4581 (bmo#1843758) XLL file extensions were downloadable without warnings * CVE-2023-4582 (bmo#1773874) Buffer Overflow in WebGL glGetProgramiv * CVE-2023-4583 (bmo#1842030) Browsing Context potentially not cleared when closing Private Window * CVE-2023-4584 (bmo#1843968, bmo#1845205, bmo#1846080, OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaThunderbird?expand=0&rev=714
This commit is contained in:
parent
da50d4ab72
commit
98a8bbee26
@ -1,8 +1,59 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 1 20:15:02 UTC 2023 - Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
Sun Aug 27 08:17:34 UTC 2023 - Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
|
||||
- Mozilla Thunderbird 102.14.0
|
||||
MFSA 2023-32 (bsc#1213746)
|
||||
- Mozilla Thunderbird 115.2.0
|
||||
https://www.thunderbird.net/en-US/thunderbird/115.2.0/releasenotes
|
||||
MFSA 2023-38 (bsc#1214606)
|
||||
* CVE-2023-4573 (bmo#1846687)
|
||||
Memory corruption in IPC CanvasTranslator
|
||||
* CVE-2023-4574 (bmo#1846688)
|
||||
Memory corruption in IPC ColorPickerShownCallback
|
||||
* CVE-2023-4575 (bmo#1846689)
|
||||
Memory corruption in IPC FilePickerShownCallback
|
||||
* CVE-2023-4576 (bmo#1846694)
|
||||
Integer Overflow in RecordedSourceSurfaceCreation
|
||||
* CVE-2023-4577 (bmo#1847397)
|
||||
Memory corruption in JIT UpdateRegExpStatics
|
||||
* CVE-2023-4051 (bmo#1821884)
|
||||
Full screen notification obscured by file open dialog
|
||||
* CVE-2023-4578 (bmo#1839007)
|
||||
Error reporting methods in SpiderMonkey could have triggered
|
||||
an Out of Memory Exception
|
||||
* CVE-2023-4053 (bmo#1839079)
|
||||
Full screen notification obscured by external program
|
||||
* CVE-2023-4580 (bmo#1843046)
|
||||
Push notifications saved to disk unencrypted
|
||||
* CVE-2023-4581 (bmo#1843758)
|
||||
XLL file extensions were downloadable without warnings
|
||||
* CVE-2023-4582 (bmo#1773874)
|
||||
Buffer Overflow in WebGL glGetProgramiv
|
||||
* CVE-2023-4583 (bmo#1842030)
|
||||
Browsing Context potentially not cleared when closing Private
|
||||
Window
|
||||
* CVE-2023-4584 (bmo#1843968, bmo#1845205, bmo#1846080,
|
||||
bmo#1846526, bmo#1847529)
|
||||
Memory safety bugs fixed in Firefox 117, Firefox ESR 102.15,
|
||||
Firefox ESR 115.2, Thunderbird 102.15, and Thunderbird 115.2
|
||||
* CVE-2023-4585 (bmo#1751583, bmo#1833504, bmo#1841082,
|
||||
bmo#1847904, bmo#1848999)
|
||||
Memory safety bugs fixed in Firefox 117, Firefox ESR 115.2,
|
||||
and Thunderbird 115.2
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 15 07:53:02 UTC 2023 - Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
|
||||
- Mozilla Thunderbird 115.1.1
|
||||
bugfixes as documented here
|
||||
https://www.thunderbird.net/en-US/thunderbird/115.1.1/releasenotes
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 1 07:51:37 UTC 2023 - Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
|
||||
- Mozilla Thunderbird 115.1.0
|
||||
New major release with Supernova UI
|
||||
Releasenotes for 115.0:
|
||||
https://www.thunderbird.net/en-US/thunderbird/115.0/releasenotes
|
||||
MFSA 2023-33 (bsc#1213746)
|
||||
* CVE-2023-4045 (bmo#1833876)
|
||||
Offscreen Canvas could have bypassed cross-origin restrictions
|
||||
* CVE-2023-4046 (bmo#1837686)
|
||||
@ -15,14 +66,29 @@ Tue Aug 1 20:15:02 UTC 2023 - Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
Fix potential race conditions when releasing platform objects
|
||||
* CVE-2023-4050 (bmo#1843038)
|
||||
Stack buffer overflow in StorageManager
|
||||
* CVE-2023-4052 (bmo#1824420)
|
||||
File deletion and privilege escalation through Firefox uninstaller
|
||||
* CVE-2023-4054 (bmo#1840777)
|
||||
Lack of warning when opening appref-ms files
|
||||
* CVE-2023-4055 (bmo#1782561)
|
||||
Cookie jar overflow caused unexpected cookie jar state
|
||||
* CVE-2023-4056 (bmo#1820587, bmo#1824634, bmo#1839235,
|
||||
bmo#1842325, bmo#1843847)
|
||||
* CVE-2023-4056 (bmo#1820587, bmo#1824634, bmo#1839235, bmo#1842325,
|
||||
bmo#1843847)
|
||||
Memory safety bugs fixed in Firefox 116, Firefox ESR 115.1,
|
||||
Firefox ESR 102.14, Thunderbird 115.1, and Thunderbird 102.14
|
||||
* CVE-2023-4057 (bmo#1841682)
|
||||
Memory safety bugs fixed in Firefox 116, Firefox ESR 115.1,
|
||||
and Thunderbird 115.1
|
||||
- requires NSS 3.90
|
||||
- add patches:
|
||||
mozilla-rust-disable-future-incompat.patch
|
||||
mozilla-partial-revert-1768632.patch
|
||||
- removed obsolete patches:
|
||||
gcc13-fix.patch
|
||||
mozilla-bmo1568145.patch
|
||||
mozilla-bmo1005535.patch
|
||||
mozilla-s390x-skia-gradient.patch
|
||||
- update create-tar.sh
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 25 06:56:46 UTC 2023 - Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
|
@ -2,7 +2,7 @@
|
||||
# spec file
|
||||
#
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
# 2006-2023 Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
# Copyright (c) 2006-2023 Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -27,11 +27,11 @@
|
||||
# orig_version 70.0
|
||||
# orig_suffix b3
|
||||
# major 69
|
||||
# mainver %major.99
|
||||
%define major 102
|
||||
%define mainver %major.14.0
|
||||
%define orig_version 102.14.0
|
||||
%define orig_suffix %{nil}
|
||||
# mainver %%major.99
|
||||
%define major 115
|
||||
%define mainver %major.2.0
|
||||
%define orig_version 115.2.0
|
||||
%define orig_suffix %nil
|
||||
%define update_channel release
|
||||
%define source_prefix thunderbird-%{orig_version}
|
||||
|
||||
@ -54,8 +54,9 @@
|
||||
%ifarch %ix86
|
||||
ExclusiveArch: i586 i686
|
||||
BuildArch: i686
|
||||
%{expand:%%global optflags %(echo "%optflags"|sed -e s/i586/i686/) -march=i686 -mtune=generic}
|
||||
%{expand:%%global optflags %(echo "%optflags"|sed -e s/i586/i686/) -march=i686 -mtune=generic -msse2}
|
||||
%endif
|
||||
%{expand:%%global optflags %(echo "%optflags"|sed -e s/-flto=auto//) }
|
||||
|
||||
# general build definitions
|
||||
%define progname thunderbird
|
||||
@ -68,8 +69,12 @@ BuildArch: i686
|
||||
%define __provides_exclude ^lib.*\\.so.*$
|
||||
%define __requires_exclude ^(libmoz.*|liblgpllibs.*|libxul.*|libldap.*|libldif.*|libprldap.*|librnp.*)$
|
||||
%define localize 1
|
||||
%ifarch %ix86 x86_64
|
||||
%define crashreporter 1
|
||||
%else
|
||||
%define crashreporter 0
|
||||
%define with_pipewire0_3 1
|
||||
%endif
|
||||
%define with_pipewire0_3 1
|
||||
%define wayland_supported 1
|
||||
%if 0%{?sle_version} > 0 && 0%{?sle_version} < 150200
|
||||
# pipewire is too old on Leap <=15.1
|
||||
@ -85,41 +90,33 @@ BuildRequires: autoconf213
|
||||
BuildRequires: dbus-1-glib-devel
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: memory-constraints
|
||||
%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150500
|
||||
BuildRequires: gcc11-c++
|
||||
%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150600
|
||||
BuildRequires: gcc12
|
||||
BuildRequires: gcc12-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if 0%{?suse_version} < 1550 && 0%{?sle_version} < 150300
|
||||
BuildRequires: cargo >= 1.59
|
||||
BuildRequires: rust >= 1.59
|
||||
%else
|
||||
# Newer sle/leap/tw use parallel versioned rust releases which have
|
||||
# a different method for provides that we can use to request a
|
||||
# specific version
|
||||
# minimal requirement:
|
||||
BuildRequires: rust+cargo >= 1.59
|
||||
# actually used upstream:
|
||||
BuildRequires: cargo1.67
|
||||
BuildRequires: rust1.67
|
||||
%endif
|
||||
BuildRequires: cargo1.69
|
||||
BuildRequires: rust1.69
|
||||
%if 0%{useccache} != 0
|
||||
BuildRequires: ccache
|
||||
%endif
|
||||
BuildRequires: libXcomposite-devel
|
||||
BuildRequires: libcurl-devel
|
||||
BuildRequires: mozilla-nspr-devel >= 4.34.1
|
||||
BuildRequires: mozilla-nss-devel >= 3.79.4
|
||||
BuildRequires: mozilla-nspr-devel >= 4.35
|
||||
BuildRequires: mozilla-nss-devel >= 3.90
|
||||
BuildRequires: nasm >= 2.14
|
||||
BuildRequires: nodejs >= 10.22.1
|
||||
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
|
||||
BuildRequires: python-libxml2
|
||||
BuildRequires: python36
|
||||
BuildRequires: nodejs >= 12.22.12
|
||||
%if 0%{?sle_version} >= 150000 && 0%{?sle_version} <= 150600
|
||||
BuildRequires: python39
|
||||
BuildRequires: python39-curses
|
||||
BuildRequires: python39-devel
|
||||
%else
|
||||
BuildRequires: python3 >= 3.5
|
||||
BuildRequires: python3 >= 3.7
|
||||
BuildRequires: python3-curses
|
||||
BuildRequires: python3-devel
|
||||
%endif
|
||||
BuildRequires: rust-cbindgen >= 0.24.0
|
||||
BuildRequires: rust-cbindgen >= 0.24.3
|
||||
BuildRequires: unzip
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: xorg-x11-libXt-devel
|
||||
@ -131,11 +128,7 @@ BuildRequires: zip
|
||||
%if 0%{?suse_version} < 1550
|
||||
BuildRequires: pkgconfig(gconf-2.0) >= 1.2.1
|
||||
%endif
|
||||
%if (0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000)
|
||||
BuildRequires: clang6-devel
|
||||
%else
|
||||
BuildRequires: clang-devel >= 5
|
||||
%endif
|
||||
BuildRequires: pkgconfig(glib-2.0) >= 2.22
|
||||
BuildRequires: pkgconfig(gobject-2.0)
|
||||
BuildRequires: pkgconfig(gtk+-3.0) >= 3.14.0
|
||||
@ -177,36 +170,39 @@ Source2: thunderbird-rpmlintrc
|
||||
Source3: mozilla.sh.in
|
||||
Source4: tar_stamps
|
||||
Source6: suse-default-prefs.js
|
||||
%if %{localize}
|
||||
Source7: l10n-%{orig_version}%{orig_suffix}.tar.xz
|
||||
%endif
|
||||
Source9: thunderbird.appdata.xml
|
||||
Source13: spellcheck.js
|
||||
Source14: https://github.com/openSUSE/firefox-scripts/raw/9b77cf0/create-tar.sh
|
||||
Source14: https://github.com/openSUSE/firefox-scripts/raw/c3f287d/create-tar.sh
|
||||
Source20: https://ftp.mozilla.org/pub/%{srcname}/releases/%{version}%{orig_suffix}/source/%{srcname}-%{orig_version}%{orig_suffix}.source.tar.xz.asc
|
||||
Source21: https://ftp.mozilla.org/pub/%{srcname}/releases/%{version}%{orig_suffix}/KEY#/mozilla.keyring
|
||||
# Gecko/Toolkit
|
||||
Patch1: mozilla-nongnome-proxies.patch
|
||||
%if %{with mozilla_tb_kde4}
|
||||
Patch2: mozilla-kde.patch
|
||||
%endif
|
||||
Patch3: mozilla-ntlm-full-path.patch
|
||||
Patch4: mozilla-aarch64-startup-crash.patch
|
||||
Patch5: mozilla-fix-aarch64-libopus.patch
|
||||
Patch6: mozilla-s390-context.patch
|
||||
Patch7: mozilla-pgo.patch
|
||||
Patch8: mozilla-reduce-rust-debuginfo.patch
|
||||
Patch9: mozilla-bmo1005535.patch
|
||||
Patch10: mozilla-bmo1568145.patch
|
||||
Patch11: mozilla-bmo1504834-part1.patch
|
||||
Patch12: mozilla-bmo1504834-part3.patch
|
||||
Patch13: mozilla-bmo1512162.patch
|
||||
Patch14: mozilla-fix-top-level-asm.patch
|
||||
Patch15: mozilla-bmo849632.patch
|
||||
Patch16: mozilla-bmo998749.patch
|
||||
Patch17: mozilla-s390x-skia-gradient.patch
|
||||
Patch18: mozilla-libavcodec58_91.patch
|
||||
Patch19: mozilla-silence-no-return-type.patch
|
||||
Patch20: mozilla-bmo531915.patch
|
||||
Patch21: one_swizzle_to_rule_them_all.patch
|
||||
Patch22: svg-rendering.patch
|
||||
Patch23: gcc13-fix.patch
|
||||
Patch9: mozilla-bmo1504834-part1.patch
|
||||
Patch10: mozilla-bmo1504834-part3.patch
|
||||
Patch11: mozilla-bmo1512162.patch
|
||||
Patch12: mozilla-fix-top-level-asm.patch
|
||||
Patch13: mozilla-bmo849632.patch
|
||||
Patch14: mozilla-bmo998749.patch
|
||||
Patch15: mozilla-libavcodec58_91.patch
|
||||
Patch16: mozilla-silence-no-return-type.patch
|
||||
Patch17: mozilla-bmo531915.patch
|
||||
Patch18: one_swizzle_to_rule_them_all.patch
|
||||
Patch19: svg-rendering.patch
|
||||
Patch20: mozilla-partial-revert-1768632.patch
|
||||
Patch21: mozilla-bmo1775202.patch
|
||||
Patch22: mozilla-rust-disable-future-incompat.patch
|
||||
%endif
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
PreReq: /bin/sh
|
||||
@ -271,49 +267,18 @@ fi
|
||||
%else
|
||||
%setup -q -n %{srcname}-%{orig_version}
|
||||
%endif
|
||||
%patch1 -p1
|
||||
%if %{with mozilla_tb_kde4}
|
||||
%patch2 -p1
|
||||
%endif
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
%patch12 -p1
|
||||
%patch13 -p1
|
||||
%patch14 -p1
|
||||
%patch15 -p1
|
||||
%patch16 -p1
|
||||
%patch17 -p1
|
||||
%patch18 -p1
|
||||
%patch19 -p1
|
||||
%patch20 -p1
|
||||
%patch21 -p1
|
||||
%patch22 -p1
|
||||
%patch23 -p1
|
||||
cd $RPM_BUILD_DIR/%{srcname}-%{orig_version}
|
||||
%autopatch -p1
|
||||
%endif
|
||||
|
||||
%build
|
||||
%if !%{with only_print_mozconfig}
|
||||
# no need to add build time to binaries
|
||||
modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")"
|
||||
modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{pkgname}.changes")"
|
||||
DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\""
|
||||
TIME="\"$(date -d "${modified}" "+%%R")\""
|
||||
find . -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} +
|
||||
|
||||
# SLE-12 provides python36, but that package does not provide a python3 binary
|
||||
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
|
||||
sed -i "s/python3/python36/g" configure.in
|
||||
sed -i "s/python3/python36/g" mach
|
||||
export PYTHON3=/usr/bin/python36
|
||||
%endif
|
||||
|
||||
#
|
||||
%if %{with mozilla_tb_kde4}
|
||||
kdehelperversion=$(cat toolkit/xre/nsKDEUtils.cpp | grep '#define KMOZILLAHELPER_VERSION' | cut -d ' ' -f 3)
|
||||
if test "$kdehelperversion" != %{kde_helper_version}; then
|
||||
@ -322,73 +287,65 @@ if test "$kdehelperversion" != %{kde_helper_version}; then
|
||||
fi
|
||||
%endif
|
||||
|
||||
source %{SOURCE4}
|
||||
# When doing only_print_mozconfig, this file isn't necessarily available, so skip it
|
||||
cp %{SOURCE4} .obsenv.sh
|
||||
%else
|
||||
# We need to make sure its empty
|
||||
echo "" > .obsenv.sh
|
||||
%endif
|
||||
|
||||
cat >> .obsenv.sh <<EOF
|
||||
export CARGO_HOME=${RPM_BUILD_DIR}/%{srcname}-%{orig_version}/.cargo
|
||||
export MOZ_SOURCE_CHANGESET=$RELEASE_TAG
|
||||
export SOURCE_REPO=$RELEASE_REPO
|
||||
export source_repo=$RELEASE_REPO
|
||||
export MOZ_SOURCE_REPO=$RELEASE_REPO
|
||||
export MOZ_BUILD_DATE=$RELEASE_TIMESTAMP
|
||||
export MOZ_SOURCE_CHANGESET=\$RELEASE_TAG
|
||||
export SOURCE_REPO=\$RELEASE_REPO
|
||||
export source_repo=\$RELEASE_REPO
|
||||
export MOZ_SOURCE_REPO=\$RELEASE_REPO
|
||||
export MOZ_BUILD_DATE=\$RELEASE_TIMESTAMP
|
||||
export MOZILLA_OFFICIAL=1
|
||||
export BUILD_OFFICIAL=1
|
||||
export MOZ_TELEMETRY_REPORTING=1
|
||||
export MOZ_REQUIRE_SIGNING=
|
||||
export MACH_USE_SYSTEM_PYTHON=1
|
||||
%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150500
|
||||
export CC=gcc-11
|
||||
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
|
||||
export CFLAGS="%{optflags}"
|
||||
%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150600
|
||||
export CC=gcc-12
|
||||
export CXX=g++-12
|
||||
%else
|
||||
%if 0%{?clang_build} == 0
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
%if 0%{?gcc_version:%{gcc_version}} >= 12
|
||||
export CFLAGS="$CFLAGS -fimplicit-constexpr"
|
||||
export CFLAGS="\$CFLAGS -fimplicit-constexpr"
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%ifarch %arm %ix86
|
||||
# Limit RAM usage during link
|
||||
export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
|
||||
export LDFLAGS="\$LDFLAGS -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
|
||||
# A lie to prevent -Wl,--gc-sections being set which requires more memory than 32bit can offer
|
||||
export GC_SECTIONS_BREAKS_DEBUG_RANGES=yes
|
||||
%endif
|
||||
export LDFLAGS="${LDFLAGS} -fPIC -Wl,-z,relro,-z,now"
|
||||
export LDFLAGS="\$LDFLAGS -fPIC -Wl,-z,relro,-z,now"
|
||||
%ifarch ppc64 ppc64le
|
||||
%if 0%{?clang_build} == 0
|
||||
export CFLAGS="$CFLAGS -mminimal-toc"
|
||||
#export CFLAGS="\$CFLAGS -mminimal-toc"
|
||||
%endif
|
||||
%endif
|
||||
export CXXFLAGS="$CFLAGS"
|
||||
%ifarch %ix86
|
||||
# Not enough memory on 32-bit systems, reduce debug info.
|
||||
export CFLAGS="\$CFLAGS -g1"
|
||||
%endif
|
||||
export CXXFLAGS="\$CFLAGS"
|
||||
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 CXXFLAGS=\"$CXXFLAGS\""
|
||||
echo "export LDFLAGS=\"$LDFLAGS\""
|
||||
echo "export RUSTFLAGS=\"$RUSTFLAGS\""
|
||||
echo "export CARGO_HOME=\"$CARGO_HOME\""
|
||||
echo "export PATH=\"$PATH\""
|
||||
echo "export LD_LIBRARY_PATH=\"$LD_LIBRARY_PATH\""
|
||||
echo "export PKG_CONFIG_PATH=\"$PKG_CONFIG_PATH\""
|
||||
echo "export MOZCONFIG=\"$MOZCONFIG\""
|
||||
echo "export MOZILLA_OFFICIAL=1"
|
||||
echo "export BUILD_OFFICIAL=1"
|
||||
echo "export MOZ_TELEMETRY_REPORTING=1"
|
||||
echo "export MOZ_REQUIRE_SIGNING="
|
||||
echo ""
|
||||
cat << EOF
|
||||
%else
|
||||
%ifarch aarch64 ppc64 ppc64le
|
||||
EOF
|
||||
# Done with env-variables.
|
||||
source ./.obsenv.sh
|
||||
|
||||
%ifarch aarch64 %arm ppc64 ppc64le riscv64
|
||||
%limit_build -m 2500
|
||||
%else
|
||||
%limit_build -m 2000
|
||||
%endif
|
||||
# TODO: Check if this can be removed
|
||||
#export MOZ_DEBUG_FLAGS="-pipe"
|
||||
|
||||
# Generating mozconfig
|
||||
cat << EOF > $MOZCONFIG
|
||||
%endif
|
||||
mk_add_options MOZILLA_OFFICIAL=1
|
||||
mk_add_options BUILD_OFFICIAL=1
|
||||
mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs}
|
||||
@ -412,16 +369,19 @@ ac_add_options --enable-debug-symbols=-g1
|
||||
%endif
|
||||
ac_add_options --disable-install-strip
|
||||
# building with elf-hack started to fail everywhere with FF73
|
||||
#%if 0%{?suse_version} > 1549
|
||||
%ifnarch aarch64 ppc64 ppc64le s390x
|
||||
#%%if 0%%{?suse_version} > 1549
|
||||
%ifarch %arm %ix86 x86_64
|
||||
ac_add_options --disable-elf-hack
|
||||
%endif
|
||||
#%endif
|
||||
#%%endif
|
||||
ac_add_options --with-system-nspr
|
||||
ac_add_options --with-system-nss
|
||||
%if 0%{useccache} != 0
|
||||
ac_add_options --with-ccache
|
||||
%endif
|
||||
%if %{localize}
|
||||
ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n-central
|
||||
%endif
|
||||
ac_add_options --with-system-zlib
|
||||
ac_add_options --disable-updater
|
||||
ac_add_options --disable-tests
|
||||
@ -456,7 +416,7 @@ ac_add_options --enable-optimize="-O1"
|
||||
%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
|
||||
#ac_add_options --enable-lto
|
||||
%if 0%{?do_profiling}
|
||||
ac_add_options MOZ_PGO=1
|
||||
%endif
|
||||
@ -467,7 +427,12 @@ ac_add_options --enable-valgrind
|
||||
%endif
|
||||
%endif
|
||||
EOF
|
||||
%if !%{with only_print_mozconfig}
|
||||
|
||||
%if %{with only_print_mozconfig}
|
||||
cat ./.obsenv.sh
|
||||
cat $MOZCONFIG
|
||||
%else
|
||||
|
||||
%if 0%{useccache} != 0
|
||||
ccache -s
|
||||
%endif
|
||||
@ -491,15 +456,21 @@ mk_add_options BUILD_OFFICIAL=1
|
||||
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj_LANG
|
||||
ac_add_options --enable-application=comm/mail
|
||||
ac_add_options --prefix=%{_prefix}
|
||||
ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n
|
||||
ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n-central
|
||||
ac_add_options --disable-updater
|
||||
ac_add_options --without-wasm-sandboxed-libraries
|
||||
ac_add_options --enable-official-branding
|
||||
EOF
|
||||
|
||||
%ifarch %ix86
|
||||
%define njobs 1
|
||||
%else
|
||||
%define njobs 0%{?jobs:%jobs}
|
||||
%endif
|
||||
mkdir -p $RPM_BUILD_DIR/langpacks_artifacts/
|
||||
|
||||
sed -r '/^(ja-JP-mac|en-US|$)/d;s/ .*$//' $RPM_BUILD_DIR/%{source_prefix}/comm/mail/locales/shipped-locales \
|
||||
| xargs -n 1 %{?jobs:-P %jobs} -I {} /bin/sh -c '
|
||||
sed -r '/^(ja-JP-mac|ga-IE|en-US|)$/d;s/ .*$//' $RPM_BUILD_DIR/%{source_prefix}/comm/mail/locales/shipped-locales \
|
||||
| xargs -n 1 %{?njobs:-P %njobs} -I {} /bin/sh -c '
|
||||
locale=$1
|
||||
cp ${MOZCONFIG}_LANG ${MOZCONFIG}_$locale
|
||||
sed -i "s|obj_LANG|obj_$locale|" ${MOZCONFIG}_$locale
|
||||
@ -518,6 +489,7 @@ sed -r '/^(ja-JP-mac|en-US|$)/d;s/ .*$//' $RPM_BUILD_DIR/%{source_prefix}/comm/m
|
||||
>> %{_tmppath}/translations.$_l10ntarget
|
||||
' -- {}
|
||||
%endif
|
||||
|
||||
%if 0%{useccache} != 0
|
||||
ccache -s
|
||||
%endif
|
||||
@ -531,7 +503,7 @@ export MOZ_SOURCE_REPO=$RELEASE_REPO
|
||||
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/%{progname}/* %{buildroot}%{progdir}
|
||||
cp -rf $RPM_BUILD_DIR/obj/dist/%{srcname}/* %{buildroot}%{progdir}
|
||||
mkdir -p %{buildroot}%{progdir}/extensions
|
||||
cp -rf $RPM_BUILD_DIR/langpacks_artifacts/* %{buildroot}%{progdir}/extensions/
|
||||
|
||||
@ -581,10 +553,10 @@ EOF
|
||||
mkdir -p %{buildroot}%{gnome_dir}/share/icons/hicolor/symbolic/apps/
|
||||
cp %{_builddir}/%{source_prefix}/comm/mail/branding/thunderbird/TB-symbolic.svg \
|
||||
%{buildroot}%{gnome_dir}/share/icons/hicolor/symbolic/apps/%{progname}-symbolic.svg
|
||||
for size in 16 22 24 32 48 64 128; do
|
||||
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/${size}x${size}/apps/
|
||||
for size in 16 22 24 32 48 64 128 256; do
|
||||
mkdir -p %{buildroot}%{gnome_dir}/share/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
|
||||
%{buildroot}%{gnome_dir}/share/icons/hicolor/${size}x${size}/apps/%{progname}.png
|
||||
done
|
||||
# excluded files
|
||||
rm -f %{buildroot}%{progdir}/thunderbird
|
||||
@ -602,13 +574,16 @@ rm -f %{buildroot}%{progdir}/nspr-config
|
||||
%fdupes %{buildroot}%{_datadir}
|
||||
|
||||
%post
|
||||
# update mime and desktop database
|
||||
%mime_database_post
|
||||
%desktop_database_post
|
||||
%icon_theme_cache_post
|
||||
exit 0
|
||||
|
||||
%postun
|
||||
%desktop_database_postun
|
||||
%icon_theme_cache_postun
|
||||
%desktop_database_postun
|
||||
%mime_database_postun
|
||||
exit 0
|
||||
|
||||
%files
|
||||
@ -617,9 +592,13 @@ exit 0
|
||||
%dir %{progdir}
|
||||
%{progdir}/application.ini
|
||||
%{progdir}/dependentlibs.list
|
||||
%{progdir}/fonts/
|
||||
%{progdir}/*.so
|
||||
%{progdir}/glxtest
|
||||
%if 0%{wayland_supported}
|
||||
%{progdir}/vaapitest
|
||||
%endif
|
||||
%{progdir}/omni.ja
|
||||
%{progdir}/fonts/
|
||||
%{progdir}/pingsender
|
||||
%{progdir}/platform.ini
|
||||
%{progdir}/plugin-container
|
||||
@ -630,8 +609,8 @@ exit 0
|
||||
%if %crashreporter
|
||||
%{progdir}/crashreporter
|
||||
%{progdir}/crashreporter.ini
|
||||
%{progdir}/minidump-analyzer
|
||||
%{progdir}/Throbber-small.gif
|
||||
%{progdir}/minidump-analyzer
|
||||
%endif
|
||||
%dir %{progdir}/chrome/
|
||||
%{progdir}/chrome/icons/
|
||||
|
@ -78,6 +78,9 @@ function set_internal_variables() {
|
||||
|
||||
SOURCE_TARBALL="$PRODUCT-$VERSION$VERSION_SUFFIX.source.tar.xz"
|
||||
PREV_SOURCE_TARBALL="$PRODUCT-$PREV_VERSION$PREV_VERSION_SUFFIX.source.tar.xz"
|
||||
if [ "$PRODUCT" = "thunderbird" ]; then
|
||||
TB_LOCALE_TARBALL="$PRODUCT-$VERSION$VERSION_SUFFIX.strings_all.tar.zst"
|
||||
fi
|
||||
FTP_URL="https://ftp.mozilla.org/pub/$PRODUCT/releases/$VERSION$VERSION_SUFFIX/source"
|
||||
FTP_CANDIDATES_BASE_URL="https://ftp.mozilla.org/pub/%s/candidates"
|
||||
LOCALES_URL="https://product-details.mozilla.org/1.0/l10n"
|
||||
@ -302,10 +305,18 @@ function check_what_to_do_with_source_tarballs() {
|
||||
printf "%-40s: %s\n" "$ff" "$(check_tarball_source $ff)"
|
||||
done
|
||||
|
||||
if [ "$PRODUCT" = "thunderbird" ]; then
|
||||
printf "%-40s: %s\n" "$TB_LOCALE_TARBALL" "$(check_tarball_source $TB_LOCALE_TARBALL)"
|
||||
fi
|
||||
|
||||
ask_cont_abort_question "Is this ok?" || exit 0
|
||||
}
|
||||
|
||||
function check_what_to_do_with_locales_tarballs() {
|
||||
if [ -e "$TB_LOCALE_TARBALL" ]; then
|
||||
return;
|
||||
fi
|
||||
|
||||
LOCALES_CHANGED=1
|
||||
|
||||
extract_locales_file
|
||||
@ -364,6 +375,10 @@ function download_upstream_source_tarballs() {
|
||||
download_release_or_candidate_file "$SOURCE_TARBALL"
|
||||
download_release_or_candidate_file "$SOURCE_TARBALL.asc"
|
||||
|
||||
if [ "$PRODUCT" = "thunderbird" ]; then
|
||||
download_release_or_candidate_file "$TB_LOCALE_TARBALL"
|
||||
fi
|
||||
|
||||
# we might have an upstream archive already and can skip the checkout
|
||||
if [ -e "$SOURCE_TARBALL" ]; then
|
||||
get_source_stamp "$BUILD_ID"
|
||||
@ -447,13 +462,18 @@ function create_locales_tarballs() {
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "$LOCALES_CHANGED" -ne 0 ]; then
|
||||
clone_and_repackage_locales
|
||||
elif [ -f "l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz" ]; then
|
||||
# Locales did not change, but the old tar-ball is in this directory
|
||||
# Simply rename it:
|
||||
echo "Moving l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz to l10n-$VERSION$VERSION_SUFFIX.tar.xz"
|
||||
mv "l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz" "l10n-$VERSION$VERSION_SUFFIX.tar.xz"
|
||||
if [ -e "$TB_LOCALE_TARBALL" ]; then
|
||||
echo "Repackaging upstream lang-tarball."
|
||||
zstd -dcf "$TB_LOCALE_TARBALL" | xz > "l10n-$VERSION$VERSION_SUFFIX.tar.xz"
|
||||
else
|
||||
if [ "$LOCALES_CHANGED" -ne 0 ]; then
|
||||
clone_and_repackage_locales
|
||||
elif [ -f "l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz" ]; then
|
||||
# Locales did not change, but the old tar-ball is in this directory
|
||||
# Simply rename it:
|
||||
echo "Moving l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz to l10n-$VERSION$VERSION_SUFFIX.tar.xz"
|
||||
mv "l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz" "l10n-$VERSION$VERSION_SUFFIX.tar.xz"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
@ -537,6 +557,13 @@ function clean_up_old_tarballs() {
|
||||
rm "l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz"
|
||||
fi
|
||||
fi
|
||||
# If we downloaded the upstream zstd-tarball and repackaged it, remove it now
|
||||
if [ -f "$TB_LOCALE_TARBALL" ] && [ -f "l10n-$VERSION$VERSION_SUFFIX.tar.xz" ]; then
|
||||
echo ""
|
||||
echo "Deleting old sources tarball $TB_LOCALE_TARBALL"
|
||||
ask_cont_abort_question "Is this ok?" || exit 0
|
||||
rm "$TB_LOCALE_TARBALL"
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
176
gcc13-fix.patch
176
gcc13-fix.patch
@ -1,176 +0,0 @@
|
||||
diff --git a/dom/media/webrtc/sdp/RsdparsaSdpGlue.cpp b/dom/media/webrtc/sdp/RsdparsaSdpGlue.cpp
|
||||
index 8c8a0369c3..01a1a1d817 100644
|
||||
--- a/dom/media/webrtc/sdp/RsdparsaSdpGlue.cpp
|
||||
+++ b/dom/media/webrtc/sdp/RsdparsaSdpGlue.cpp
|
||||
@@ -4,6 +4,7 @@
|
||||
* 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 <string>
|
||||
+#include <cstdint>
|
||||
|
||||
#include "sdp/RsdparsaSdpInc.h"
|
||||
#include "sdp/RsdparsaSdpGlue.h"
|
||||
diff --git a/gfx/2d/Rect.h b/gfx/2d/Rect.h
|
||||
index 4875ad6714..f52437bbdc 100644
|
||||
--- a/gfx/2d/Rect.h
|
||||
+++ b/gfx/2d/Rect.h
|
||||
@@ -15,6 +15,7 @@
|
||||
#include "mozilla/Maybe.h"
|
||||
|
||||
#include <cmath>
|
||||
+#include <cstdint>
|
||||
|
||||
namespace mozilla {
|
||||
|
||||
diff --git a/toolkit/components/telemetry/pingsender/pingsender.cpp b/toolkit/components/telemetry/pingsender/pingsender.cpp
|
||||
index 01fdb63c29..a61b9d3693 100644
|
||||
--- a/toolkit/components/telemetry/pingsender/pingsender.cpp
|
||||
+++ b/toolkit/components/telemetry/pingsender/pingsender.cpp
|
||||
@@ -4,6 +4,7 @@
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include <cstdlib>
|
||||
+#include <cstdint>
|
||||
#include <cstring>
|
||||
#include <ctime>
|
||||
#include <fstream>
|
||||
diff --git a/tools/profiler/core/platform.cpp b/tools/profiler/core/platform.cpp
|
||||
index bd20110f12..08e38d6938 100644
|
||||
--- a/tools/profiler/core/platform.cpp
|
||||
+++ b/tools/profiler/core/platform.cpp
|
||||
@@ -1106,7 +1106,7 @@ class ActivePS {
|
||||
continue;
|
||||
}
|
||||
ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock lockedThreadData =
|
||||
- offThreadRef.LockedRWFromAnyThread();
|
||||
+ offThreadRef.GetLockedRWFromAnyThread();
|
||||
MOZ_RELEASE_ASSERT(array.append(ProfiledThreadListElement{
|
||||
profiledThreadData->Info().RegisterTime(),
|
||||
lockedThreadData->GetJSContext(), profiledThreadData}));
|
||||
@@ -4050,7 +4050,7 @@ void SamplerThread::Run() {
|
||||
|
||||
if (threadStackSampling) {
|
||||
ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock
|
||||
- lockedThreadData = offThreadRef.LockedRWFromAnyThread();
|
||||
+ lockedThreadData = offThreadRef.GetLockedRWFromAnyThread();
|
||||
// Suspend the thread and collect its stack data in the local
|
||||
// buffer.
|
||||
mSampler.SuspendAndSampleAndResumeThread(
|
||||
@@ -4764,7 +4764,7 @@ static ProfilingStack* locked_register_thread(
|
||||
aLock, aOffThreadRef.UnlockedConstReaderCRef().Info());
|
||||
if (threadProfilingFeatures != ThreadProfilingFeatures::NotProfiled) {
|
||||
ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock
|
||||
- lockedRWFromAnyThread = aOffThreadRef.LockedRWFromAnyThread();
|
||||
+ lockedRWFromAnyThread = aOffThreadRef.GetLockedRWFromAnyThread();
|
||||
|
||||
ProfiledThreadData* profiledThreadData = ActivePS::AddLiveProfiledThread(
|
||||
aLock, MakeUnique<ProfiledThreadData>(
|
||||
@@ -5629,7 +5629,7 @@ static void locked_profiler_start(PSLockRef aLock, PowerOfTwo32 aCapacity,
|
||||
ActivePS::ProfilingFeaturesForThread(aLock, info);
|
||||
if (threadProfilingFeatures != ThreadProfilingFeatures::NotProfiled) {
|
||||
ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock lockedThreadData =
|
||||
- offThreadRef.LockedRWFromAnyThread();
|
||||
+ offThreadRef.GetLockedRWFromAnyThread();
|
||||
ProfiledThreadData* profiledThreadData = ActivePS::AddLiveProfiledThread(
|
||||
aLock, MakeUnique<ProfiledThreadData>(info));
|
||||
lockedThreadData->SetProfilingFeaturesAndData(threadProfilingFeatures,
|
||||
@@ -5853,7 +5853,7 @@ void profiler_ensure_started(PowerOfTwo32 aCapacity, double aInterval,
|
||||
}
|
||||
|
||||
ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock lockedThreadData =
|
||||
- offThreadRef.LockedRWFromAnyThread();
|
||||
+ offThreadRef.GetLockedRWFromAnyThread();
|
||||
|
||||
lockedThreadData->ClearProfilingFeaturesAndData(aLock);
|
||||
|
||||
@@ -6196,7 +6196,7 @@ static void locked_unregister_thread(
|
||||
// thread that is in the process of disappearing.
|
||||
|
||||
ThreadRegistration::OnThreadRef::RWOnThreadWithLock lockedThreadData =
|
||||
- aOnThreadRef.LockedRWOnThread();
|
||||
+ aOnThreadRef.GetLockedRWOnThread();
|
||||
|
||||
ProfiledThreadData* profiledThreadData =
|
||||
lockedThreadData->GetProfiledThreadData(lock);
|
||||
@@ -6717,7 +6717,7 @@ void profiler_clear_js_context() {
|
||||
// The profiler mutex must be locked before the ThreadRegistration's.
|
||||
PSAutoLock lock;
|
||||
ThreadRegistration::OnThreadRef::RWOnThreadWithLock lockedThreadData =
|
||||
- aOnThreadRef.LockedRWOnThread();
|
||||
+ aOnThreadRef.GetLockedRWOnThread();
|
||||
|
||||
if (ProfiledThreadData* profiledThreadData =
|
||||
lockedThreadData->GetProfiledThreadData(lock);
|
||||
diff --git a/tools/profiler/public/ProfilerThreadRegistration.h b/tools/profiler/public/ProfilerThreadRegistration.h
|
||||
index fafe06e446..3fb931987d 100644
|
||||
--- a/tools/profiler/public/ProfilerThreadRegistration.h
|
||||
+++ b/tools/profiler/public/ProfilerThreadRegistration.h
|
||||
@@ -214,14 +214,14 @@ class ThreadRegistration {
|
||||
DataLock mDataLock;
|
||||
};
|
||||
|
||||
- [[nodiscard]] RWOnThreadWithLock LockedRWOnThread() {
|
||||
+ [[nodiscard]] RWOnThreadWithLock GetLockedRWOnThread() {
|
||||
return RWOnThreadWithLock{mThreadRegistration->mData,
|
||||
mThreadRegistration->mDataMutex};
|
||||
}
|
||||
|
||||
template <typename F>
|
||||
auto WithLockedRWOnThread(F&& aF) {
|
||||
- RWOnThreadWithLock lockedData = LockedRWOnThread();
|
||||
+ RWOnThreadWithLock lockedData = GetLockedRWOnThread();
|
||||
return std::forward<F>(aF)(lockedData.DataRef());
|
||||
}
|
||||
|
||||
diff --git a/tools/profiler/public/ProfilerThreadRegistry.h b/tools/profiler/public/ProfilerThreadRegistry.h
|
||||
index 76e0c0a78a..4d0fd3ef68 100644
|
||||
--- a/tools/profiler/public/ProfilerThreadRegistry.h
|
||||
+++ b/tools/profiler/public/ProfilerThreadRegistry.h
|
||||
@@ -177,14 +177,14 @@ class ThreadRegistry {
|
||||
ThreadRegistration::DataLock mDataLock;
|
||||
};
|
||||
|
||||
- [[nodiscard]] RWFromAnyThreadWithLock LockedRWFromAnyThread() {
|
||||
+ [[nodiscard]] RWFromAnyThreadWithLock GetLockedRWFromAnyThread() {
|
||||
return RWFromAnyThreadWithLock{mThreadRegistration->mData,
|
||||
mThreadRegistration->mDataMutex};
|
||||
}
|
||||
|
||||
template <typename F>
|
||||
auto WithLockedRWFromAnyThread(F&& aF) {
|
||||
- RWFromAnyThreadWithLock lockedData = LockedRWFromAnyThread();
|
||||
+ RWFromAnyThreadWithLock lockedData = GetLockedRWFromAnyThread();
|
||||
return std::forward<F>(aF)(lockedData.DataRef());
|
||||
}
|
||||
|
||||
diff --git a/tools/profiler/tests/gtest/GeckoProfiler.cpp b/tools/profiler/tests/gtest/GeckoProfiler.cpp
|
||||
index fd0d4d2acc..c9882cb5d3 100644
|
||||
--- a/tools/profiler/tests/gtest/GeckoProfiler.cpp
|
||||
+++ b/tools/profiler/tests/gtest/GeckoProfiler.cpp
|
||||
@@ -621,7 +621,7 @@ TEST(GeckoProfiler, ThreadRegistration_DataAccess)
|
||||
EXPECT_FALSE(TR::IsDataMutexLockedOnCurrentThread());
|
||||
{
|
||||
TR::OnThreadRef::RWOnThreadWithLock rwOnThreadWithLock =
|
||||
- aOnThreadRef.LockedRWOnThread();
|
||||
+ aOnThreadRef.GetLockedRWOnThread();
|
||||
EXPECT_TRUE(TR::IsDataMutexLockedOnCurrentThread());
|
||||
TestConstLockedRWOnThread(rwOnThreadWithLock.DataCRef(),
|
||||
beforeRegistration, afterRegistration,
|
||||
@@ -1020,7 +1020,7 @@ TEST(GeckoProfiler, ThreadRegistry_DataAccess)
|
||||
EXPECT_FALSE(TR::IsDataMutexLockedOnCurrentThread());
|
||||
{
|
||||
TRy::OffThreadRef::RWFromAnyThreadWithLock rwFromAnyThreadWithLock =
|
||||
- aOffThreadRef.LockedRWFromAnyThread();
|
||||
+ aOffThreadRef.GetLockedRWFromAnyThread();
|
||||
if (profiler_current_thread_id() == testThreadId) {
|
||||
EXPECT_TRUE(TR::IsDataMutexLockedOnCurrentThread());
|
||||
}
|
||||
@@ -1157,7 +1157,7 @@ TEST(GeckoProfiler, ThreadRegistration_RegistrationEdgeCases)
|
||||
PR_Sleep(PR_MillisecondsToInterval(1));
|
||||
}
|
||||
TRy::OffThreadRef::RWFromAnyThreadWithLock rwFromAnyThreadWithLock =
|
||||
- aOffThreadRef.LockedRWFromAnyThread();
|
||||
+ aOffThreadRef.GetLockedRWFromAnyThread();
|
||||
++otherThreadReads;
|
||||
if (otherThreadReads % 1000 == 0) {
|
||||
PR_Sleep(PR_MillisecondsToInterval(1));
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f10fca8ebcb416a90e1c31917e1401520c93be6e45f828782cee3ea7862ab8b9
|
||||
size 35799724
|
3
l10n-115.2.0.tar.xz
Normal file
3
l10n-115.2.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2e385c4dbcade40b6e68b17d67261c0a5af7623d1b8cf07202117e621c4e0011
|
||||
size 27900160
|
@ -3,19 +3,14 @@
|
||||
# Date 1558442998 -7200
|
||||
# Tue May 21 14:49:58 2019 +0200
|
||||
# Node ID 386083b58d8558141901d796ec6919a4aba7ad3a
|
||||
# Parent a30a9b9aae5740f096a16118ed9e4bc45d3d1c35
|
||||
# Parent 76b747f7d113bddbb8593184d81e1bfe5fd51af0
|
||||
bsc#991344 - Rpi3: Firefox crashes after a few seconds of usage
|
||||
bmo#1302554 - ARM/AARCH64: Firefox crashes on NULL nsIChannel** result pointer in nsIOService::NewChannelFromURIWithProxyFlagsInternal()
|
||||
|
||||
diff --git a/netwerk/base/nsIOService.cpp b/netwerk/base/nsIOService.cpp
|
||||
--- a/netwerk/base/nsIOService.cpp
|
||||
+++ b/netwerk/base/nsIOService.cpp
|
||||
@@ -1032,17 +1032,23 @@ nsresult nsIOService::NewChannelFromURIW
|
||||
"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;
|
||||
@@ -1159,7 +1159,13 @@ nsresult nsIOService::NewChannelFromURIW
|
||||
}
|
||||
}
|
||||
|
||||
@ -29,8 +24,3 @@ diff --git a/netwerk/base/nsIOService.cpp b/netwerk/base/nsIOService.cpp
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsIOService::NewChannelFromURIWithProxyFlags(
|
||||
nsIURI* aURI, nsIURI* aProxyURI, uint32_t aProxyFlags,
|
||||
nsINode* aLoadingNode, nsIPrincipal* aLoadingPrincipal,
|
||||
nsIPrincipal* aTriggeringPrincipal, uint32_t aSecurityFlags,
|
||||
|
@ -1,30 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User Steve Singer <steve@ssinger.info>
|
||||
# Date 1558451540 -7200
|
||||
# Tue May 21 17:12:20 2019 +0200
|
||||
# Node ID 433beec63e6b5f409683af20a0c1ab137cc7bfad
|
||||
# Parent c0fdccc716e80a6d289c94f5d507ae141c62a3bf
|
||||
Bug 1005535 - Get skia GPU building on big endian.
|
||||
|
||||
diff --git a/gfx/skia/skia/src/gpu/GrColor.h b/gfx/skia/skia/src/gpu/GrColor.h
|
||||
--- a/gfx/skia/skia/src/gpu/GrColor.h
|
||||
+++ b/gfx/skia/skia/src/gpu/GrColor.h
|
||||
@@ -59,17 +59,17 @@ static inline GrColor GrColorPackRGBA(un
|
||||
#define GrColorUnpackG(color) (((color) >> GrColor_SHIFT_G) & 0xFF)
|
||||
#define GrColorUnpackB(color) (((color) >> GrColor_SHIFT_B) & 0xFF)
|
||||
#define GrColorUnpackA(color) (((color) >> GrColor_SHIFT_A) & 0xFF)
|
||||
|
||||
/**
|
||||
* 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) {
|
||||
static const float ONE_OVER_255 = 1.f / 255.f;
|
||||
return value * ONE_OVER_255;
|
||||
}
|
||||
|
||||
/** Used to pick vertex attribute types. */
|
@ -1,43 +1,34 @@
|
||||
# HG changeset patch
|
||||
# Parent b5471d23321d16a0bacc25b7afd27d2e16adba1a
|
||||
# Parent 9fcbd287056a40084b1e679f787bf683b291f323
|
||||
Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834
|
||||
|
||||
diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp
|
||||
--- a/gfx/2d/DrawTargetSkia.cpp
|
||||
+++ b/gfx/2d/DrawTargetSkia.cpp
|
||||
@@ -130,18 +130,17 @@ static IntRect CalculateSurfaceBounds(co
|
||||
Rect sampledBounds = inverse.TransformBounds(*aBounds);
|
||||
if (!sampledBounds.ToIntRect(&bounds)) {
|
||||
return surfaceBounds;
|
||||
}
|
||||
|
||||
return surfaceBounds.Intersect(bounds);
|
||||
@@ -156,7 +156,8 @@ static IntRect CalculateSurfaceBounds(co
|
||||
}
|
||||
|
||||
-static const int kARGBAlphaOffset =
|
||||
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;
|
||||
+ 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) {
|
||||
if (aFormat != SurfaceFormat::B8G8R8X8 || aSize.IsEmpty()) {
|
||||
return true;
|
||||
}
|
||||
// We should've initialized the data to be opaque already
|
||||
// On debug builds, verify that this is actually true.
|
||||
diff --git a/gfx/2d/Types.h b/gfx/2d/Types.h
|
||||
--- a/gfx/2d/Types.h
|
||||
+++ b/gfx/2d/Types.h
|
||||
@@ -84,25 +84,18 @@ enum class SurfaceFormat : int8_t {
|
||||
Depth,
|
||||
|
||||
@@ -89,18 +89,11 @@ enum class SurfaceFormat : int8_t {
|
||||
// This represents the unknown format.
|
||||
UNKNOWN,
|
||||
UNKNOWN, // TODO: Replace uses with Maybe<SurfaceFormat>.
|
||||
|
||||
// The following values are endian-independent synonyms. The _UINT32 suffix
|
||||
// indicates that the name reflects the layout when viewed as a uint32_t
|
||||
// value.
|
||||
-// 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()
|
||||
+ // The following values are endian-independent synonyms. The _UINT32 suffix
|
||||
+ // indicates that the name reflects the layout when viewed as a uint32_t
|
||||
+ // value.
|
||||
A8R8G8B8_UINT32 = B8G8R8A8, // 0xAARRGGBB
|
||||
X8R8G8B8_UINT32 = B8G8R8X8, // 0x00RRGGBB
|
||||
-#elif MOZ_BIG_ENDIAN()
|
||||
@ -49,20 +40,10 @@ diff --git a/gfx/2d/Types.h b/gfx/2d/Types.h
|
||||
|
||||
// The following values are OS and endian-independent synonyms.
|
||||
//
|
||||
// TODO(aosmond): When everything blocking bug 1581828 has been resolved, we
|
||||
// can make this use R8B8G8A8 and R8B8G8X8 for non-Windows platforms.
|
||||
OS_RGBA = A8R8G8B8_UINT32,
|
||||
OS_RGBX = X8R8G8B8_UINT32
|
||||
};
|
||||
diff --git a/gfx/skia/skia/third_party/skcms/skcms.cc b/gfx/skia/skia/third_party/skcms/skcms.cc
|
||||
--- a/gfx/skia/skia/third_party/skcms/skcms.cc
|
||||
+++ b/gfx/skia/skia/third_party/skcms/skcms.cc
|
||||
@@ -25,16 +25,18 @@
|
||||
// it'd be a lot slower. But we want all those headers included so we
|
||||
// can use their features after runtime checks later.
|
||||
#include <smmintrin.h>
|
||||
#include <avxintrin.h>
|
||||
#include <avx2intrin.h>
|
||||
diff --git a/gfx/skia/skia/modules/skcms/skcms.cc b/gfx/skia/skia/modules/skcms/skcms.cc
|
||||
--- a/gfx/skia/skia/modules/skcms/skcms.cc
|
||||
+++ b/gfx/skia/skia/modules/skcms/skcms.cc
|
||||
@@ -30,6 +30,8 @@
|
||||
#include <avx512fintrin.h>
|
||||
#include <avx512dqintrin.h>
|
||||
#endif
|
||||
@ -70,30 +51,21 @@ diff --git a/gfx/skia/skia/third_party/skcms/skcms.cc b/gfx/skia/skia/third_part
|
||||
+ #define SKCMS_PORTABLE
|
||||
#endif
|
||||
|
||||
// sizeof(x) will return size_t, which is 32-bit on some machines and 64-bit on others.
|
||||
// We have better testing on 64-bit machines, so force 32-bit machines to behave like 64-bit.
|
||||
//
|
||||
// Please do not use sizeof() directly, and size_t only when required.
|
||||
// (We have no way of enforcing these requests...)
|
||||
#define SAFE_SIZEOF(x) ((uint64_t)sizeof(x))
|
||||
@@ -275,30 +277,38 @@ enum {
|
||||
skcms_Signature_sf32 = 0x73663332,
|
||||
// XYZ is also a PCS signature, so it's defined in skcms.h
|
||||
// skcms_Signature_XYZ = 0x58595A20,
|
||||
};
|
||||
|
||||
static bool runtime_cpu_detection = true;
|
||||
@@ -324,20 +326,28 @@ enum {
|
||||
static uint16_t read_big_u16(const uint8_t* ptr) {
|
||||
uint16_t be;
|
||||
memcpy(&be, ptr, sizeof(be));
|
||||
-#if defined(_MSC_VER)
|
||||
- return _byteswap_ushort(be);
|
||||
+#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
|
||||
+ return be;
|
||||
+#else
|
||||
#else
|
||||
- return __builtin_bswap16(be);
|
||||
+ #if defined(_MSC_VER)
|
||||
return _byteswap_ushort(be);
|
||||
-#else
|
||||
+ return _byteswap_ushort(be);
|
||||
+ #else
|
||||
return __builtin_bswap16(be);
|
||||
+ return __builtin_bswap16(be);
|
||||
+ #endif
|
||||
#endif
|
||||
}
|
||||
@ -102,20 +74,16 @@ diff --git a/gfx/skia/skia/third_party/skcms/skcms.cc b/gfx/skia/skia/third_part
|
||||
uint32_t be;
|
||||
memcpy(&be, ptr, sizeof(be));
|
||||
-#if defined(_MSC_VER)
|
||||
- return _byteswap_ulong(be);
|
||||
+#if __BYTE_ORDER == __ORDER_BIG_ENDIAN__
|
||||
+ return be;
|
||||
+#else
|
||||
#else
|
||||
- return __builtin_bswap32(be);
|
||||
+ #if defined(_MSC_VER)
|
||||
return _byteswap_ulong(be);
|
||||
-#else
|
||||
+ return _byteswap_ulong(be);
|
||||
+ #else
|
||||
return __builtin_bswap32(be);
|
||||
+ return __builtin_bswap32(be);
|
||||
+ #endif
|
||||
#endif
|
||||
}
|
||||
|
||||
static int32_t read_big_i32(const uint8_t* ptr) {
|
||||
return (int32_t)read_big_u32(ptr);
|
||||
}
|
||||
|
||||
static float read_big_fixed(const uint8_t* ptr) {
|
||||
|
@ -1,64 +1,17 @@
|
||||
# HG changeset patch
|
||||
# Parent d1d66f7e4d0e7fd45e91e4fcee07555e72046d48
|
||||
# Parent 09cd4ac2cc607e85aa572425b824fbab386af607
|
||||
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 --git a/gfx/skia/skia/include/private/SkNx.h b/gfx/skia/skia/include/private/SkNx.h
|
||||
--- a/gfx/skia/skia/include/private/SkNx.h
|
||||
+++ b/gfx/skia/skia/include/private/SkNx.h
|
||||
@@ -233,17 +233,28 @@ struct SkNx<1,T> {
|
||||
AI SkNx operator<<(int bits) const { return fVal << bits; }
|
||||
AI SkNx operator>>(int bits) const { return fVal >> bits; }
|
||||
|
||||
AI SkNx operator+(const SkNx& y) const { return fVal + y.fVal; }
|
||||
AI SkNx operator-(const SkNx& y) const { return fVal - y.fVal; }
|
||||
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)); }
|
||||
|
||||
AI SkNx operator==(const SkNx& y) const { return FromBits(fVal == y.fVal ? ~0 : 0); }
|
||||
AI SkNx operator!=(const SkNx& y) const { return FromBits(fVal != y.fVal ? ~0 : 0); }
|
||||
AI SkNx operator<=(const SkNx& y) const { return FromBits(fVal <= y.fVal ? ~0 : 0); }
|
||||
AI SkNx operator>=(const SkNx& y) const { return FromBits(fVal >= y.fVal ? ~0 : 0); }
|
||||
AI SkNx operator< (const SkNx& y) const { return FromBits(fVal < y.fVal ? ~0 : 0); }
|
||||
diff --git a/gfx/skia/skia/src/opts/SkBlitMask_opts.h b/gfx/skia/skia/src/opts/SkBlitMask_opts.h
|
||||
--- a/gfx/skia/skia/src/opts/SkBlitMask_opts.h
|
||||
+++ b/gfx/skia/skia/src/opts/SkBlitMask_opts.h
|
||||
@@ -198,17 +198,23 @@ namespace SK_OPTS_NS {
|
||||
const SkAlpha* mask, size_t maskRB,
|
||||
int w, int h) {
|
||||
auto fn = [](const Sk4px& d, const Sk4px& aa) {
|
||||
// = (s + d(1-sa))aa + d(1-aa)
|
||||
// = s*aa + d(1-sa*aa)
|
||||
@@ -210,6 +210,8 @@ namespace SK_OPTS_NS {
|
||||
// ~~~>
|
||||
// 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
|
||||
+ // TODO: Check this for endian-issues!
|
||||
+ // Do we need to switch 255 to the front for all of those tuples?
|
||||
return (aa & Sk4px(skvx::byte16{0,0,0,255, 0,0,0,255, 0,0,0,255, 0,0,0,255}))
|
||||
+ d.approxMulDiv255(aa.inv());
|
||||
};
|
||||
while (h --> 0) {
|
||||
Sk4px::MapDstAlpha(w, dst, mask, fn);
|
||||
dst += dstRB / sizeof(*dst);
|
||||
mask += maskRB / sizeof(*mask);
|
||||
}
|
||||
}
|
||||
|
@ -3,15 +3,11 @@
|
||||
This fixes a broken build for gcc < 9 on ppc64le.
|
||||
This patch can be removed for newer gcc-versions.
|
||||
|
||||
diff --git a/js/xpconnect/src/XPCWrappedNative.cpp b/js/xpconnect/src/XPCWrappedNative.cpp
|
||||
--- a/js/xpconnect/src/XPCWrappedNative.cpp
|
||||
+++ b/js/xpconnect/src/XPCWrappedNative.cpp
|
||||
@@ -1072,17 +1072,21 @@ class MOZ_STACK_CLASS CallMethodHelper f
|
||||
uint32_t* result);
|
||||
|
||||
MOZ_ALWAYS_INLINE bool GetInterfaceTypeFromParam(const nsXPTType& type,
|
||||
nsID* result) const;
|
||||
|
||||
Index: firefox-115.0/js/xpconnect/src/XPCWrappedNative.cpp
|
||||
===================================================================
|
||||
--- firefox-115.0.orig/js/xpconnect/src/XPCWrappedNative.cpp
|
||||
+++ firefox-115.0/js/xpconnect/src/XPCWrappedNative.cpp
|
||||
@@ -1061,7 +1061,11 @@ class MOZ_STACK_CLASS CallMethodHelper f
|
||||
MOZ_ALWAYS_INLINE bool GetOutParamSource(uint8_t paramIndex,
|
||||
MutableHandleValue srcp) const;
|
||||
|
||||
@ -24,17 +20,7 @@ diff --git a/js/xpconnect/src/XPCWrappedNative.cpp b/js/xpconnect/src/XPCWrapped
|
||||
|
||||
MOZ_ALWAYS_INLINE bool QueryInterfaceFastPath();
|
||||
|
||||
nsXPTCVariant* GetDispatchParam(uint8_t paramIndex) {
|
||||
if (paramIndex >= mJSContextIndex) {
|
||||
paramIndex += 1;
|
||||
}
|
||||
if (paramIndex >= mOptArgcIndex) {
|
||||
@@ -1119,17 +1123,21 @@ class MOZ_STACK_CLASS CallMethodHelper f
|
||||
|
||||
{
|
||||
// Success checked later.
|
||||
mIFaceInfo->GetMethodInfo(mVTableIndex, &mMethodInfo);
|
||||
}
|
||||
@@ -1108,7 +1112,11 @@ class MOZ_STACK_CLASS CallMethodHelper f
|
||||
|
||||
~CallMethodHelper();
|
||||
|
||||
@ -47,8 +33,3 @@ diff --git a/js/xpconnect/src/XPCWrappedNative.cpp b/js/xpconnect/src/XPCWrapped
|
||||
|
||||
// Trace implementation so we can put our CallMethodHelper in a Rooted<T>.
|
||||
void trace(JSTracer* aTrc);
|
||||
};
|
||||
|
||||
// static
|
||||
bool XPCWrappedNative::CallMethod(XPCCallContext& ccx,
|
||||
CallMode mode /*= CALL_METHOD */) {
|
||||
|
@ -1,49 +0,0 @@
|
||||
Author: Bernhard M. Wiedemann <bwiedemann suse de>
|
||||
Date: 2019-07-22
|
||||
|
||||
Allow to override build date with SOURCE_DATE_EPOCH
|
||||
in order to make builds reproducible.
|
||||
See https://reproducible-builds.org/ for why this is good
|
||||
and https://reproducible-builds.org/specs/source-date-epoch/
|
||||
for the definition of this variable.
|
||||
|
||||
diff --git a/python/mozbuild/mozbuild/action/langpack_manifest.py b/python/mozbuild/mozbuild/action/langpack_manifest.py
|
||||
--- a/python/mozbuild/mozbuild/action/langpack_manifest.py
|
||||
+++ b/python/mozbuild/mozbuild/action/langpack_manifest.py
|
||||
@@ -11,16 +11,17 @@
|
||||
from __future__ import absolute_import, print_function, unicode_literals
|
||||
|
||||
import argparse
|
||||
import sys
|
||||
import os
|
||||
import json
|
||||
import io
|
||||
import datetime
|
||||
+import time
|
||||
import requests
|
||||
import mozversioncontrol
|
||||
import mozpack.path as mozpath
|
||||
from mozpack.chrome.manifest import (
|
||||
Manifest,
|
||||
ManifestLocale,
|
||||
parse_manifest,
|
||||
)
|
||||
@@ -100,17 +101,17 @@ def get_dt_from_hg(path):
|
||||
# ts == "20170914215617"
|
||||
###
|
||||
def get_timestamp_for_locale(path):
|
||||
dt = None
|
||||
if os.path.isdir(os.path.join(path, ".hg")):
|
||||
dt = get_dt_from_hg(path)
|
||||
|
||||
if dt is None:
|
||||
- dt = datetime.datetime.utcnow()
|
||||
+ dt = datetime.datetime.utcfromtimestamp(int(os.environ.get('SOURCE_DATE_EPOCH', time.time())))
|
||||
|
||||
dt = dt.replace(microsecond=0)
|
||||
return dt.strftime("%Y%m%d%H%M%S")
|
||||
|
||||
|
||||
###
|
||||
# Parses multiple defines files into a single key-value pair object.
|
||||
#
|
26
mozilla-bmo1775202.patch
Normal file
26
mozilla-bmo1775202.patch
Normal file
@ -0,0 +1,26 @@
|
||||
From: Mike Hommey <mh@glandium.org>
|
||||
Date: Sun, 14 Aug 2022 07:01:33 +0900
|
||||
Subject: Work around bz#1775202 to fix FTBFS on ppc64el
|
||||
|
||||
---
|
||||
third_party/libwebrtc/moz.build | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/third_party/libwebrtc/moz.build b/third_party/libwebrtc/moz.build
|
||||
index 976cf373..311519c 100644
|
||||
--- a/third_party/libwebrtc/moz.build
|
||||
+++ b/third_party/libwebrtc/moz.build
|
||||
@@ -566,6 +566,13 @@ if CONFIG["CPU_ARCH"] == "arm" and CONFIG["OS_TARGET"] == "Linux":
|
||||
"/third_party/libwebrtc/third_party/pipewire/pipewire_gn"
|
||||
]
|
||||
|
||||
+if CONFIG["CPU_ARCH"] == "ppc64" and CONFIG["OS_TARGET"] == "Linux":
|
||||
+
|
||||
+ DIRS += [
|
||||
+ "/third_party/libwebrtc/modules/desktop_capture/desktop_capture_gn",
|
||||
+ "/third_party/libwebrtc/modules/desktop_capture/primitives_gn",
|
||||
+ ]
|
||||
+
|
||||
if CONFIG["CPU_ARCH"] == "x86" and CONFIG["OS_TARGET"] == "Linux":
|
||||
|
||||
DIRS += [
|
@ -1,13 +1,13 @@
|
||||
# HG changeset patch
|
||||
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
# Parent 7332dfc4c47d73f1b88850b7727d33096d68e329
|
||||
# Parent fa8a5832a374ccd7af5db927b992b5d9f15273ef
|
||||
|
||||
diff --git a/modules/fdlibm/src/math_private.h b/modules/fdlibm/src/math_private.h
|
||||
--- a/modules/fdlibm/src/math_private.h
|
||||
+++ b/modules/fdlibm/src/math_private.h
|
||||
@@ -25,17 +25,21 @@
|
||||
@@ -25,19 +25,24 @@
|
||||
|
||||
#include "mozilla/EndianUtils.h"
|
||||
#include "fdlibm.h"
|
||||
|
||||
/*
|
||||
* Emulate FreeBSD internal double types.
|
||||
@ -16,10 +16,13 @@ diff --git a/modules/fdlibm/src/math_private.h b/modules/fdlibm/src/math_private
|
||||
|
||||
+#ifdef __i386__
|
||||
+typedef long double __double_t;
|
||||
+typedef long double __float_t;
|
||||
+#else
|
||||
typedef double __double_t;
|
||||
+typedef float __float_t;
|
||||
+#endif
|
||||
typedef __double_t double_t;
|
||||
-typedef float __float_t;
|
||||
|
||||
/*
|
||||
* The original fdlibm code used statements like:
|
||||
@ -27,3 +30,4 @@ diff --git a/modules/fdlibm/src/math_private.h b/modules/fdlibm/src/math_private
|
||||
* ix0 = *(n0+(int*)&x); * high word of x *
|
||||
* ix1 = *((1-n0)+(int*)&x); * low word of x *
|
||||
* to dig two 32 bit words out of the 64 bit IEEE floating point
|
||||
* value. That is non-ANSI, and, moreover, the gcc instruction
|
||||
|
@ -6,15 +6,11 @@ Solution: Problem is with skia once again. Output of webgl seems endian-correct,
|
||||
So we swizzle the output of webgl after reading it from readpixels()
|
||||
Note: This does not fix all webGL sites, but is a step in the right direction
|
||||
|
||||
diff --git a/gfx/gl/GLContext.h b/gfx/gl/GLContext.h
|
||||
--- a/gfx/gl/GLContext.h
|
||||
+++ b/gfx/gl/GLContext.h
|
||||
@@ -1548,16 +1548,23 @@ class GLContext : public GenericAtomicRe
|
||||
AFTER_GL_CALL;
|
||||
}
|
||||
|
||||
void raw_fReadPixels(GLint x, GLint y, GLsizei width, GLsizei height,
|
||||
GLenum format, GLenum type, GLvoid* pixels) {
|
||||
Index: firefox-115.0/gfx/gl/GLContext.h
|
||||
===================================================================
|
||||
--- firefox-115.0.orig/gfx/gl/GLContext.h
|
||||
+++ firefox-115.0/gfx/gl/GLContext.h
|
||||
@@ -1560,6 +1560,13 @@ class GLContext : public GenericAtomicRe
|
||||
BEFORE_GL_CALL;
|
||||
mSymbols.fReadPixels(x, y, width, height, format, type, pixels);
|
||||
OnSyncCall();
|
||||
@ -28,8 +24,3 @@ diff --git a/gfx/gl/GLContext.h b/gfx/gl/GLContext.h
|
||||
AFTER_GL_CALL;
|
||||
mHeavyGLCallsSinceLastFlush = true;
|
||||
}
|
||||
|
||||
void fReadPixels(GLint x, GLint y, GLsizei width, GLsizei height,
|
||||
GLenum format, GLenum type, GLvoid* pixels);
|
||||
|
||||
public:
|
||||
|
@ -1,15 +1,10 @@
|
||||
# HG changeset patch
|
||||
# Parent 2640f2f68373b7bec776bb11d3b3fb75c72a8adb
|
||||
# Parent af2c24874d79cbebb444727ae96f2fefa3f22b47
|
||||
|
||||
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
|
||||
@@ -28,7 +28,7 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
@ -18,8 +13,3 @@ diff --git a/media/libopus/silk/arm/arm_silk_map.c b/media/libopus/silk/arm/arm_
|
||||
#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))
|
||||
|
||||
|
1948
mozilla-kde.patch
1948
mozilla-kde.patch
File diff suppressed because it is too large
Load Diff
@ -1,17 +1,17 @@
|
||||
# HG changeset patch
|
||||
# Parent 63747fd31719c6e4f7810512a3c57e75a02b8bfd
|
||||
# Parent 60fc1933af9d4f1769025a6f1d9a60db6b899315
|
||||
|
||||
diff --git a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp b/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
|
||||
--- a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
|
||||
+++ b/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
|
||||
@@ -34,16 +34,18 @@ static const char* sLibs[] = {
|
||||
"libavcodec.55.dylib",
|
||||
@@ -36,16 +36,18 @@ static const char* sLibs[] = {
|
||||
"libavcodec.54.dylib",
|
||||
"libavcodec.53.dylib",
|
||||
#elif defined(XP_OPENBSD)
|
||||
"libavcodec.so", // OpenBSD hardly controls the major/minor library version
|
||||
// of ffmpeg and update it regulary on ABI/API changes
|
||||
#else
|
||||
"libavcodec.so.60",
|
||||
"libavcodec.so.59",
|
||||
+ "libavcodec.so.58.134",
|
||||
+ "libavcodec.so.58.91",
|
||||
|
@ -3,7 +3,7 @@
|
||||
# Date 1558442915 -7200
|
||||
# Tue May 21 14:48:35 2019 +0200
|
||||
# Node ID 6bcf2dfebc1ea2aa34e5cc61152709fc8e409dc5
|
||||
# Parent bd5d1f49975deb730064a16b3079edb53c4a5f84
|
||||
# Parent 715f01d61df8627117e6aefca540f0c1bba45011
|
||||
Do not use gconf for proxy settings if not running within Gnome
|
||||
Index: toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
||||
===================================================================
|
||||
@ -13,12 +13,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
|
||||
@@ -49,20 +49,24 @@ NS_IMETHODIMP
|
||||
nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) {
|
||||
// dbus prevents us from being threadsafe, but this routine should not block
|
||||
// anyhow
|
||||
*aMainThreadOnly = true;
|
||||
return NS_OK;
|
||||
@@ -52,10 +52,13 @@ nsUnixSystemProxySettings::GetMainThread
|
||||
}
|
||||
|
||||
void nsUnixSystemProxySettings::Init() {
|
||||
@ -30,15 +25,9 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
|
||||
+ if (sessionType && !strcmp(sessionType, "gnome")) {
|
||||
+ mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
|
||||
+ if (mGSettings) {
|
||||
+ mGSettings->GetCollectionForSchema(
|
||||
+ "org.gnome.system.proxy"_ns,
|
||||
+ getter_AddRefs(mProxySettings));
|
||||
+ mGSettings->GetCollectionForSchema("org.gnome.system.proxy"_ns,
|
||||
+ getter_AddRefs(mProxySettings));
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
nsresult nsUnixSystemProxySettings::GetPACURI(nsACString& aResult) {
|
||||
if (mProxySettings) {
|
||||
nsCString proxyMode;
|
||||
// Check if mode is auto
|
||||
nsresult rv = mProxySettings->GetString("mode"_ns, proxyMode);
|
||||
|
@ -1,18 +1,13 @@
|
||||
# HG changeset patch
|
||||
# User Petr Cerny <pcerny@novell.com>
|
||||
# Parent 7308e4a7c1f769f4bbbc90870b849cadd99495a6
|
||||
# Parent 2361c5db1e70e358b2158325e07fa15bb4569c2c
|
||||
# Parent 1c6a565013e4c5f3494f964269783939cd5ed0b8
|
||||
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() {
|
||||
@@ -160,7 +160,7 @@ nsresult nsAuthSambaNTLM::SpawnNTLMAuthH
|
||||
const char* username = PR_GetEnv("USER");
|
||||
if (!username) return NS_ERROR_FAILURE;
|
||||
|
||||
@ -21,8 +16,3 @@ diff --git a/extensions/auth/nsAuthSambaNTLM.cpp b/extensions/auth/nsAuthSambaNT
|
||||
"--helper-protocol",
|
||||
"ntlmssp-client-1",
|
||||
"--use-cached-creds",
|
||||
"--username",
|
||||
username,
|
||||
nullptr};
|
||||
|
||||
bool isOK = SpawnIOChild(const_cast<char* const*>(args), &mChildPID,
|
||||
|
13
mozilla-partial-revert-1768632.patch
Normal file
13
mozilla-partial-revert-1768632.patch
Normal file
@ -0,0 +1,13 @@
|
||||
Index: firefox-102.4.0/mfbt/EnumSet.h
|
||||
===================================================================
|
||||
--- firefox-102.4.0.orig/mfbt/EnumSet.h
|
||||
+++ firefox-102.4.0/mfbt/EnumSet.h
|
||||
@@ -326,7 +326,7 @@ class EnumSet {
|
||||
}
|
||||
}
|
||||
|
||||
- static constexpr size_t kMaxBits = MaxBits();
|
||||
+ static constexpr size_t kMaxBits = EnumSet().MaxBits();
|
||||
|
||||
Serialized mBitField;
|
||||
|
@ -1,16 +1,12 @@
|
||||
# HG changeset patch
|
||||
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
# Parent 02ffee15578fd4dc2dd5ade32e7dab907d633b0d
|
||||
# Parent 9959fe2a13a39cbeb98ca1bef2e21caba16717bd
|
||||
|
||||
diff --git a/build/moz.configure/lto-pgo.configure b/build/moz.configure/lto-pgo.configure
|
||||
--- a/build/moz.configure/lto-pgo.configure
|
||||
+++ b/build/moz.configure/lto-pgo.configure
|
||||
@@ -242,34 +242,34 @@ def lto(
|
||||
"configure."
|
||||
)
|
||||
|
||||
if c_compiler.type == "clang":
|
||||
if value == "full":
|
||||
Index: firefox-115.0/build/moz.configure/lto-pgo.configure
|
||||
===================================================================
|
||||
--- firefox-115.0.orig/build/moz.configure/lto-pgo.configure
|
||||
+++ firefox-115.0/build/moz.configure/lto-pgo.configure
|
||||
@@ -251,8 +251,8 @@ def lto(
|
||||
cflags.append("-flto")
|
||||
ldflags.append("-flto")
|
||||
else:
|
||||
@ -19,18 +15,10 @@ diff --git a/build/moz.configure/lto-pgo.configure b/build/moz.configure/lto-pgo
|
||||
+ cflags.append("-flto")
|
||||
+ ldflags.append("-flto")
|
||||
|
||||
if target.os == "Android" and value == "cross":
|
||||
if target.os == "Android" and "cross" in values:
|
||||
# Work around https://github.com/rust-lang/rust/issues/90088
|
||||
# by enabling the highest level of SSE the rust targets default
|
||||
# to.
|
||||
# https://github.com/rust-lang/rust/blob/bdfcb88e8b6203ccb46a2fb6649979b773efc8ac/compiler/rustc_target/src/spec/i686_linux_android.rs#L13
|
||||
# https://github.com/rust-lang/rust/blob/8d1083e319841624f64400e1524805a40d725439/compiler/rustc_target/src/spec/x86_64_linux_android.rs#L7
|
||||
if target.cpu == "x86":
|
||||
ldflags.append("-Wl,-plugin-opt=-mattr=+ssse3")
|
||||
elif target.cpu == "x86_64":
|
||||
ldflags.append("-Wl,-plugin-opt=-mattr=+sse4.2")
|
||||
elif c_compiler.type == "clang-cl":
|
||||
if value == "full":
|
||||
@@ -268,7 +268,7 @@ def lto(
|
||||
if "full" in values:
|
||||
cflags.append("-flto")
|
||||
else:
|
||||
- cflags.append("-flto=thin")
|
||||
@ -38,39 +26,20 @@ diff --git a/build/moz.configure/lto-pgo.configure b/build/moz.configure/lto-pgo
|
||||
# With clang-cl, -flto can only be used with -c or -fuse-ld=lld.
|
||||
# AC_TRY_LINKs during configure don't have -c, so pass -fuse-ld=lld.
|
||||
cflags.append("-fuse-ld=lld")
|
||||
|
||||
# Explicitly set the CPU to optimize for so the linker doesn't
|
||||
# choose a poor default. Rust compilation by default uses the
|
||||
# pentium4 CPU on x86:
|
||||
#
|
||||
diff --git a/build/pgo/profileserver.py b/build/pgo/profileserver.py
|
||||
--- a/build/pgo/profileserver.py
|
||||
+++ b/build/pgo/profileserver.py
|
||||
@@ -6,17 +6,17 @@
|
||||
|
||||
import json
|
||||
import os
|
||||
Index: firefox-115.0/build/pgo/profileserver.py
|
||||
===================================================================
|
||||
--- firefox-115.0.orig/build/pgo/profileserver.py
|
||||
+++ firefox-115.0/build/pgo/profileserver.py
|
||||
@@ -11,7 +11,7 @@ import subprocess
|
||||
import sys
|
||||
import glob
|
||||
import subprocess
|
||||
|
||||
import mozcrash
|
||||
-from mozbuild.base import MozbuildObject, BinaryNotFoundException
|
||||
+from mozbuild.base import MozbuildObject, BinaryNotFoundException, BuildEnvironmentNotFoundException
|
||||
-from mozbuild.base import BinaryNotFoundException, MozbuildObject
|
||||
+from mozbuild.base import BinaryNotFoundException, MozbuildObject, BuildEnvironmentNotFoundException
|
||||
from mozfile import TemporaryDirectory
|
||||
from mozhttpd import MozHttpd
|
||||
from mozprofile import FirefoxProfile, Preferences
|
||||
from mozprofile.permissions import ServerLocations
|
||||
from mozrunner import FirefoxRunner, CLI
|
||||
from six import string_types
|
||||
|
||||
PORT = 8888
|
||||
@@ -82,19 +82,32 @@ if __name__ == "__main__":
|
||||
docroot=os.path.join(build.topsrcdir, "build", "pgo"),
|
||||
path_mappings=path_mappings,
|
||||
)
|
||||
httpd.start(block=False)
|
||||
|
||||
@@ -87,9 +87,22 @@ if __name__ == "__main__":
|
||||
locations = ServerLocations()
|
||||
locations.add_host(host="127.0.0.1", port=PORT, options="primary,privileged")
|
||||
|
||||
@ -96,17 +65,7 @@ diff --git a/build/pgo/profileserver.py b/build/pgo/profileserver.py
|
||||
|
||||
with TemporaryDirectory() as profilePath:
|
||||
# TODO: refactor this into mozprofile
|
||||
profile_data_dir = os.path.join(build.topsrcdir, "testing", "profiles")
|
||||
with open(os.path.join(profile_data_dir, "profiles.json"), "r") as fh:
|
||||
base_profiles = json.load(fh)["profileserver"]
|
||||
|
||||
prefpaths = [
|
||||
@@ -207,16 +220,20 @@ if __name__ == "__main__":
|
||||
|
||||
# Try to move the crash reports to the artifacts even if Firefox appears
|
||||
# to exit successfully, in case there's a crash that doesn't set the
|
||||
# return code to non-zero for some reason.
|
||||
if get_crashreports(profilePath, name="Firefox exited successfully?") != 0:
|
||||
@@ -213,6 +226,10 @@ if __name__ == "__main__":
|
||||
print("Firefox exited successfully, but produced a crashreport")
|
||||
sys.exit(1)
|
||||
|
||||
@ -117,61 +76,41 @@ diff --git a/build/pgo/profileserver.py b/build/pgo/profileserver.py
|
||||
llvm_profdata = env.get("LLVM_PROFDATA")
|
||||
if llvm_profdata:
|
||||
profraw_files = glob.glob("*.profraw")
|
||||
if not profraw_files:
|
||||
print(
|
||||
"Could not find profraw files in the current directory: %s"
|
||||
% os.getcwd()
|
||||
)
|
||||
diff --git a/build/unix/mozconfig.unix b/build/unix/mozconfig.unix
|
||||
--- a/build/unix/mozconfig.unix
|
||||
+++ b/build/unix/mozconfig.unix
|
||||
@@ -1,14 +1,23 @@
|
||||
. "$topsrcdir/build/mozconfig.common"
|
||||
|
||||
if [ -n "$FORCE_GCC" ]; then
|
||||
Index: firefox-115.0/build/unix/mozconfig.unix
|
||||
===================================================================
|
||||
--- firefox-115.0.orig/build/unix/mozconfig.unix
|
||||
+++ firefox-115.0/build/unix/mozconfig.unix
|
||||
@@ -4,6 +4,15 @@ if [ -n "$FORCE_GCC" ]; then
|
||||
CC="$MOZ_FETCHES_DIR/gcc/bin/gcc"
|
||||
CXX="$MOZ_FETCHES_DIR/gcc/bin/g++"
|
||||
|
||||
+ if [ -n "$MOZ_PGO" ]; then
|
||||
+ if [ -z "$USE_ARTIFACT" ]; then
|
||||
+ ac_add_options --enable-lto
|
||||
+ fi
|
||||
+ export AR="$topsrcdir/gcc/bin/gcc-ar"
|
||||
+ export NM="$topsrcdir/gcc/bin/gcc-nm"
|
||||
+ export RANLIB="$topsrcdir/gcc/bin/gcc-ranlib"
|
||||
+ if [ -z "$USE_ARTIFACT" ]; then
|
||||
+ ac_add_options --enable-lto
|
||||
+ fi
|
||||
+ export AR="$topsrcdir/gcc/bin/gcc-ar"
|
||||
+ export NM="$topsrcdir/gcc/bin/gcc-nm"
|
||||
+ export RANLIB="$topsrcdir/gcc/bin/gcc-ranlib"
|
||||
+ fi
|
||||
+
|
||||
# We want to make sure we use binutils and other binaries in the tooltool
|
||||
# package.
|
||||
mk_add_options "export PATH=$MOZ_FETCHES_DIR/gcc/bin:$PATH"
|
||||
else
|
||||
# For some builds we don't want to have Clang based static-analysis activated
|
||||
if [ -z "$DISABLE_CLANG_PLUGIN" ]; then
|
||||
export ENABLE_CLANG_PLUGIN=1
|
||||
fi
|
||||
diff --git a/extensions/spellcheck/src/moz.build b/extensions/spellcheck/src/moz.build
|
||||
--- a/extensions/spellcheck/src/moz.build
|
||||
+++ b/extensions/spellcheck/src/moz.build
|
||||
@@ -23,8 +23,10 @@ LOCAL_INCLUDES += [
|
||||
"../hunspell/glue",
|
||||
"../hunspell/src",
|
||||
"/dom/base",
|
||||
]
|
||||
EXPORTS.mozilla += [
|
||||
mk_add_options "export PATH=$MOZ_FETCHES_DIR/gcc/bin:$MOZ_FETCHES_DIR/binutils/bin:$PATH"
|
||||
Index: firefox-115.0/extensions/spellcheck/src/moz.build
|
||||
===================================================================
|
||||
--- firefox-115.0.orig/extensions/spellcheck/src/moz.build
|
||||
+++ firefox-115.0/extensions/spellcheck/src/moz.build
|
||||
@@ -28,3 +28,5 @@ EXPORTS.mozilla += [
|
||||
"mozInlineSpellChecker.h",
|
||||
"mozSpellChecker.h",
|
||||
]
|
||||
+
|
||||
+CXXFLAGS += ['-fno-devirtualize']
|
||||
diff --git a/toolkit/components/terminator/nsTerminator.cpp b/toolkit/components/terminator/nsTerminator.cpp
|
||||
--- a/toolkit/components/terminator/nsTerminator.cpp
|
||||
+++ b/toolkit/components/terminator/nsTerminator.cpp
|
||||
@@ -461,16 +461,21 @@ void nsTerminator::StartWatchdog() {
|
||||
// Defend against overflow
|
||||
crashAfterMS = INT32_MAX;
|
||||
} else {
|
||||
crashAfterMS *= scaleUp;
|
||||
}
|
||||
Index: firefox-115.0/toolkit/components/terminator/nsTerminator.cpp
|
||||
===================================================================
|
||||
--- firefox-115.0.orig/toolkit/components/terminator/nsTerminator.cpp
|
||||
+++ firefox-115.0/toolkit/components/terminator/nsTerminator.cpp
|
||||
@@ -460,6 +460,11 @@ void nsTerminator::StartWatchdog() {
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -183,8 +122,3 @@ diff --git a/toolkit/components/terminator/nsTerminator.cpp b/toolkit/components
|
||||
UniquePtr<Options> options(new Options());
|
||||
// crashAfterTicks is guaranteed to be > 0 as
|
||||
// crashAfterMS >= ADDITIONAL_WAIT_BEFORE_CRASH_MS >> HEARTBEAT_INTERVAL_MS
|
||||
options->crashAfterTicks = crashAfterMS / HEARTBEAT_INTERVAL_MS;
|
||||
|
||||
DebugOnly<PRThread*> watchdogThread =
|
||||
CreateSystemThread(RunWatchdog, options.release());
|
||||
MOZ_ASSERT(watchdogThread);
|
||||
|
@ -1,6 +1,10 @@
|
||||
--- firefox-96.0.3.orig/build/moz.configure/rust.configure
|
||||
+++ firefox-96.0.3/build/moz.configure/rust.configure
|
||||
@@ -641,7 +643,7 @@ def rust_compile_flags(
|
||||
# HG changeset patch
|
||||
# Parent 135d931b3e674a670473f69f8c079e741ac63643
|
||||
|
||||
diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure
|
||||
--- a/build/moz.configure/rust.configure
|
||||
+++ b/build/moz.configure/rust.configure
|
||||
@@ -668,7 +668,7 @@ def rust_compile_flags(
|
||||
debug_assertions = False
|
||||
|
||||
if debug_symbols:
|
||||
|
12
mozilla-rust-disable-future-incompat.patch
Normal file
12
mozilla-rust-disable-future-incompat.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -rup a/Cargo.toml b/Cargo.toml
|
||||
--- a/Cargo.toml 2023-07-04 15:15:01.089470619 +0200
|
||||
+++ b/Cargo.toml 2023-07-04 15:24:31.626226962 +0200
|
||||
@@ -188,3 +188,8 @@ uniffi_bindgen = "=0.23.0"
|
||||
uniffi_build = "=0.23.0"
|
||||
uniffi_macros = "=0.23.0"
|
||||
weedle2 = "=4.0.0"
|
||||
+
|
||||
+# Package code v0.1.4 uses code "that will be rejected by a future version of Rust"
|
||||
+# Shut up such messages for now to make the build succeed
|
||||
+[future-incompat-report]
|
||||
+frequency = "never"
|
@ -3,51 +3,31 @@
|
||||
# Date 1558452408 -7200
|
||||
# Tue May 21 17:26:48 2019 +0200
|
||||
# Node ID 602e92722e765a3c238d3b96b26c0c8063b5eeb4
|
||||
# Parent 136e1f2c44a3099b3e49a576fa62c8ad77aa431e
|
||||
# Parent 783ceb006fcdabe5ad23bd561362e721c7ed5f8c
|
||||
[mq]: mozilla-s390-context.patch
|
||||
|
||||
diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp
|
||||
--- a/js/src/wasm/WasmSignalHandlers.cpp
|
||||
+++ b/js/src/wasm/WasmSignalHandlers.cpp
|
||||
@@ -157,16 +157,20 @@ using mozilla::DebugOnly;
|
||||
# define R32_sig(p) ((p)->uc_mcontext.gp_regs[32])
|
||||
@@ -174,6 +174,10 @@ using mozilla::DebugOnly;
|
||||
# define FP_sig(p) ((p)->uc_mcontext.gregs[REG_FPRS])
|
||||
# define SP_sig(p) ((p)->uc_mcontext.gregs[REG_SP])
|
||||
# endif
|
||||
# if defined(__linux__) && defined(__loongarch__)
|
||||
# define EPC_sig(p) ((p)->uc_mcontext.pc)
|
||||
# define RRA_sig(p) ((p)->uc_mcontext.gregs[1])
|
||||
# define RSP_sig(p) ((p)->uc_mcontext.gregs[3])
|
||||
# define RFP_sig(p) ((p)->uc_mcontext.gregs[22])
|
||||
# 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
|
||||
+# 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])
|
||||
# define ESP_sig(p) ((p)->uc_mcontext.__gregs[_REG_ESP])
|
||||
# define RIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RIP])
|
||||
# define RSP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RSP])
|
||||
# define RBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RBP])
|
||||
# define R11_sig(p) ((p)->uc_mcontext.__gregs[_REG_R11])
|
||||
@@ -399,16 +403,20 @@ struct macos_aarch64_context {
|
||||
# define PC_sig(p) R32_sig(p)
|
||||
# define SP_sig(p) R01_sig(p)
|
||||
# define FP_sig(p) R01_sig(p)
|
||||
# elif defined(__loongarch__)
|
||||
# define PC_sig(p) EPC_sig(p)
|
||||
@@ -416,6 +420,10 @@ struct macos_aarch64_context {
|
||||
# define FP_sig(p) RFP_sig(p)
|
||||
# define SP_sig(p) RSP_sig(p)
|
||||
# define SP_sig(p) R03_sig(p)
|
||||
# define LR_sig(p) RRA_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;
|
||||
# else
|
||||
MOZ_CRASH();
|
||||
# endif
|
||||
# elif defined(__riscv)
|
||||
# define PC_sig(p) RPC_sig(p)
|
||||
# define FP_sig(p) RFP_sig(p)
|
||||
|
@ -1,51 +0,0 @@
|
||||
# HG changeset patch
|
||||
# Parent acf59ea86dd1d878b43920832093f082dcfc61c0
|
||||
|
||||
diff -r acf59ea86dd1 gfx/skia/skia/src/shaders/gradients/Sk4fLinearGradient.cpp
|
||||
--- a/gfx/skia/skia/src/shaders/gradients/Sk4fLinearGradient.cpp Mon Mar 09 08:26:10 2020 +0100
|
||||
+++ b/gfx/skia/skia/src/shaders/gradients/Sk4fLinearGradient.cpp Fri Mar 27 13:30:28 2020 +0100
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
#include "include/core/SkPaint.h"
|
||||
#include "src/shaders/gradients/Sk4fLinearGradient.h"
|
||||
-
|
||||
+#include "src/core/SkEndian.h"
|
||||
#include <cmath>
|
||||
#include <utility>
|
||||
|
||||
@@ -28,6 +28,9 @@
|
||||
|
||||
while (n >= 4) {
|
||||
DstTraits<premul>::store4x(c0, c1, c2, c3, dst, bias0, bias1);
|
||||
+#ifdef SK_CPU_BENDIAN
|
||||
+ SkEndianSwap32s(dst, 4);
|
||||
+#endif
|
||||
dst += 4;
|
||||
|
||||
c0 = c0 + dc4;
|
||||
@@ -37,12 +40,23 @@
|
||||
n -= 4;
|
||||
}
|
||||
if (n & 2) {
|
||||
- DstTraits<premul>::store(c0, dst++, bias0);
|
||||
- DstTraits<premul>::store(c1, dst++, bias1);
|
||||
+ DstTraits<premul>::store(c0, dst, bias0);
|
||||
+#ifdef SK_CPU_BENDIAN
|
||||
+ *dst = SkEndianSwap32(*dst);
|
||||
+#endif
|
||||
+ ++dst;
|
||||
+ DstTraits<premul>::store(c1, dst, bias1);
|
||||
+#ifdef SK_CPU_BENDIAN
|
||||
+ *dst = SkEndianSwap32(*dst);
|
||||
+#endif
|
||||
+ ++dst;
|
||||
c0 = c0 + dc2;
|
||||
}
|
||||
if (n & 1) {
|
||||
DstTraits<premul>::store(c0, dst, bias0);
|
||||
+#ifdef SK_CPU_BENDIAN
|
||||
+ *dst = SkEndianSwap32(*dst);
|
||||
+#endif
|
||||
}
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -89,7 +89,7 @@ WAYLAND_SUPPORTED=%WAYLAND_SUPPORTED
|
||||
|
||||
# $XDG_SESSION_TYPE should contain either x11 or wayland
|
||||
if [ $WAYLAND_SUPPORTED -eq 1 ] && [ "$XDG_SESSION_TYPE" = "wayland" ] && [ -z "$MOZ_ENABLE_WAYLAND" ]; then
|
||||
export MOZ_ENABLE_WAYLAND=0
|
||||
export MOZ_ENABLE_WAYLAND=1
|
||||
fi
|
||||
|
||||
##
|
||||
@ -100,7 +100,7 @@ if [ "$WAYLAND_DISPLAY" ]; then
|
||||
fi
|
||||
|
||||
# xinput2 (boo#1173320)
|
||||
source /etc/os-release
|
||||
. /etc/os-release
|
||||
if [ "$ID" = "opensuse-tumbleweed" ]; then
|
||||
export MOZ_USE_XINPUT2=1
|
||||
fi
|
||||
@ -151,7 +151,7 @@ if [ $MOZILLA_DOWN -ne 0 ]; then
|
||||
# Try with a local variant first, then without a local variant
|
||||
SHORTMOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*||g" | sed "s|\..*||g"`
|
||||
MOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*|-\1|g" | sed "s|\..*||g"`
|
||||
function create_langpack_link() {
|
||||
create_langpack_link() {
|
||||
local language=$*
|
||||
local langpack=langpack-${language}@firefox.mozilla.org.xpi
|
||||
if [ -f $MOZ_LANGPACKS_DIR/$langpack ]; then
|
||||
|
@ -6,10 +6,10 @@
|
||||
# Parent 81832d035e101471dcf52dd91de287268add7a91
|
||||
imported patch one_swizzle_to_rule_them_all.patch
|
||||
|
||||
Index: firefox-102.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp
|
||||
Index: firefox-115.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp
|
||||
===================================================================
|
||||
--- firefox-102.0.orig/gfx/webrender_bindings/RenderCompositorSWGL.cpp
|
||||
+++ firefox-102.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp
|
||||
--- firefox-115.0.orig/gfx/webrender_bindings/RenderCompositorSWGL.cpp
|
||||
+++ firefox-115.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "RenderCompositorSWGL.h"
|
||||
|
||||
@ -18,7 +18,7 @@ Index: firefox-102.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp
|
||||
#include "mozilla/widget/CompositorWidget.h"
|
||||
|
||||
#ifdef MOZ_WIDGET_GTK
|
||||
@@ -235,6 +237,13 @@ void RenderCompositorSWGL::CommitMappedB
|
||||
@@ -242,6 +243,13 @@ void RenderCompositorSWGL::CommitMappedB
|
||||
}
|
||||
mDT->Flush();
|
||||
|
||||
|
12
tar_stamps
12
tar_stamps
@ -1,10 +1,10 @@
|
||||
PRODUCT="thunderbird"
|
||||
CHANNEL="esr102"
|
||||
VERSION="102.14.0"
|
||||
CHANNEL="esr115"
|
||||
VERSION="115.2.0"
|
||||
VERSION_SUFFIX=""
|
||||
PREV_VERSION="102.13.1"
|
||||
PREV_VERSION="115.1.1"
|
||||
PREV_VERSION_SUFFIX=""
|
||||
#SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
|
||||
RELEASE_REPO="https://hg.mozilla.org/releases/comm-esr102"
|
||||
RELEASE_TAG="d83d81499d87f2360995ae0448fcaa40e0cd106a"
|
||||
RELEASE_TIMESTAMP="20230801134847"
|
||||
RELEASE_REPO="https://hg.mozilla.org/releases/comm-esr115"
|
||||
RELEASE_TAG="ffd49506d62c329824f7adb4896602a8c77ec7e8"
|
||||
RELEASE_TIMESTAMP="20230828145448"
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:68514ac2e196b3526588b2957f2ab51b99b366af497fe13d1518a52bf8298c83
|
||||
size 502877912
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCgAdFiEErdcHlHlwDcrf3VM34207E/PZMnQFAmTJLHwACgkQ4207E/PZ
|
||||
MnTDMQ//RP0i4TeYipFmuih2+ae5mNjSCuRCsH3Cq+eOXT4l1vr79PCRcWQwDjJN
|
||||
R4JDfxSE8eUkVEHmoj11TySXFRHRCNOKRIKveRHayGJSn54SMt9aHHicqbZGDdjp
|
||||
BjESw8ZVlS9u+9TVWGK3Ah0roHBr9oSHxeC3Pj5VtAwz5Bb3RSimMnArk3V8b7dB
|
||||
oZLZfbm5bWeuL26mhias8NZS3aINDvNLRHyVBOiIHKCODIFh2Upql9NPhSpCmV0x
|
||||
PXEc2QGozNXnbfNoOcwoBHcrsAeFdqjv6/gVRLIqa9hQ7uhiXjGaG3vJrRzwP9hM
|
||||
2kFgCcGisnZDWTs1KOhGTEBezcqIQ+p1OSu/NbfrRKQmnUo0bV3+eqIvwQA2dao8
|
||||
wuzps9IBKdZwVDNC6CFIgOzTVimCg99SvcmFu2PxjjJauTgZ6Hrva5C/4vddBkyl
|
||||
oignfiDU6+sVK2Prfz44ydHo8ZUdjxz31xfSxFObHEfySkdDTE0UvNUHWU++g+Ci
|
||||
E0AqbwvNk3SuFfuQirnan/dJlstPGVjxZB8bfc2WG4Qz/z6vrygB0oKzbu2nuPXM
|
||||
FWC/NQkpMoBB7eXcZA8vIK81DSkk/vPiZ/CjYDjQqaZxnRxaZtWLbfqOgHfBTLDx
|
||||
kjQh+AdS1unHJE0DhHq5mGGFtCmhyNgh9uk5wJbyseuTGYzgOKw=
|
||||
=K3lJ
|
||||
-----END PGP SIGNATURE-----
|
3
thunderbird-115.2.0.source.tar.xz
Normal file
3
thunderbird-115.2.0.source.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:57ef08e5134e8370d60b3b3f920ffcf3744721f50b0dfad379ceb260ced6d940
|
||||
size 531890376
|
16
thunderbird-115.2.0.source.tar.xz.asc
Normal file
16
thunderbird-115.2.0.source.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCgAdFiEErdcHlHlwDcrf3VM34207E/PZMnQFAmTs5TgACgkQ4207E/PZ
|
||||
MnRV6g/+MCygp8FZE4/x29Y1N+NwqjSMtcAYmd0IET0O04pEimNUI0erITEg3Api
|
||||
4vMsc1HJ493EDDQeCr/LJmpsIFzopDYJNNCeKska+NAtgFmgTDgciExElPK22v4h
|
||||
T7xuMiPPkNCVX9kGFg1zmLAdj7WnHgaT6ZMPI1DYixU0CzBwlJIihuNmnWfyTap0
|
||||
xBrz/KzEtGjzhB2e+BVOumOo2WZ7q2+t2AE6MvHbVtijkKu33RWbb9O2I/lpCfBx
|
||||
kABdpleNSL4TyxPBvnLfesVmZzTyw8UzPJ7hiiTR2Pj9ELAP5sX84lr4/YTUrxEK
|
||||
XOrWr5lSaXgzB/Oq72nl9IINDrsLxlTagyyGjdROKc9W6HboQPuVvXL+ShohFt5J
|
||||
ACv6e9xGAjhQo0nuT4zTCbLnDKGEi4EWnlb50F3CTy99gFRtxVoti3XpGkTU9xn4
|
||||
VrAnq6QRh1YuJYslPz4v8Sn0kF9TI1gJtl7fzXXOwyvKLPgT1H78Ss0jyZv99J0O
|
||||
oNB68Di3u0x3A70rx0z41QkL2Ohj+2iIxxjUS9dftQmjmJJ9nbFWKPdWRbR1Noi8
|
||||
dMrJ1W53VlltaRATDCMSuhAAc145YqCiUTVeR0griRFsh+LEQqEncCx3AeQo3khZ
|
||||
PLHQ9+cxsvPzGbfeOeilHiiW32P4H0FLh4reXojK2iZcDkWC+5k=
|
||||
=skc3
|
||||
-----END PGP SIGNATURE-----
|
Loading…
Reference in New Issue
Block a user