Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package MozillaThunderbird for openSUSE:Factory checked in at 2023-09-07 21:13:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/MozillaThunderbird (Old) and /work/SRC/openSUSE:Factory/.MozillaThunderbird.new.1766 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MozillaThunderbird" Thu Sep 7 21:13:51 2023 rev:315 rq:1109528 version:115.2.0 Changes: -------- --- /work/SRC/openSUSE:Factory/MozillaThunderbird/MozillaThunderbird.changes 2023-08-03 17:29:28.595652087 +0200 +++ /work/SRC/openSUSE:Factory/.MozillaThunderbird.new.1766/MozillaThunderbird.changes 2023-09-07 21:15:33.135335043 +0200 @@ -2 +2 @@ -Tue Aug 1 20:15:02 UTC 2023 - Wolfgang Rosenauer <w...@rosenauer.org> +Sun Aug 27 08:17:34 UTC 2023 - Wolfgang Rosenauer <w...@rosenauer.org> @@ -4,2 +4,53 @@ -- 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 <w...@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 <w...@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) @@ -17,0 +69,2 @@ + * CVE-2023-4052 (bmo#1824420) + File deletion and privilege escalation through Firefox uninstaller @@ -22,2 +75,2 @@ - * 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) @@ -25,0 +79,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 + mozilla-bmo1775202.patch +- removed obsolete patches: + gcc13-fix.patch + mozilla-bmo1568145.patch + mozilla-bmo1005535.patch + mozilla-s390x-skia-gradient.patch +- update create-tar.sh Old: ---- gcc13-fix.patch l10n-102.14.0.tar.xz mozilla-bmo1005535.patch mozilla-bmo1568145.patch mozilla-s390x-skia-gradient.patch thunderbird-102.14.0.source.tar.xz thunderbird-102.14.0.source.tar.xz.asc New: ---- l10n-115.2.0.tar.xz mozilla-bmo1775202.patch mozilla-partial-revert-1768632.patch mozilla-rust-disable-future-incompat.patch thunderbird-115.2.0.source.tar.xz thunderbird-115.2.0.source.tar.xz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ MozillaThunderbird.spec ++++++ --- /var/tmp/diff_new_pack.lLkz3d/_old 2023-09-07 21:15:45.863790057 +0200 +++ /var/tmp/diff_new_pack.lLkz3d/_new 2023-09-07 21:15:45.863790057 +0200 @@ -2,7 +2,7 @@ # spec file # # Copyright (c) 2023 SUSE LLC -# 2006-2023 Wolfgang Rosenauer <w...@rosenauer.org> +# Copyright (c) 2006-2023 Wolfgang Rosenauer <w...@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,7 +69,11 @@ %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 +%endif %define with_pipewire0_3 1 %define wayland_supported 1 %if 0%{?sle_version} > 0 && 0%{?sle_version} < 150200 @@ -85,41 +90,33 @@ 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 @@ %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 @@ 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 @@ %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 @@ 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 @@ %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 @@ %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 @@ %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 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 @@ >> %{_tmppath}/translations.$_l10ntarget ' -- {} %endif + %if 0%{useccache} != 0 ccache -s %endif @@ -531,7 +503,7 @@ 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 @@ 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 @@ %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 @@ %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 @@ %if %crashreporter %{progdir}/crashreporter %{progdir}/crashreporter.ini -%{progdir}/minidump-analyzer %{progdir}/Throbber-small.gif +%{progdir}/minidump-analyzer %endif %dir %{progdir}/chrome/ %{progdir}/chrome/icons/ ++++++ create-tar.sh ++++++ --- /var/tmp/diff_new_pack.lLkz3d/_old 2023-09-07 21:15:45.947793060 +0200 +++ /var/tmp/diff_new_pack.lLkz3d/_new 2023-09-07 21:15:45.947793060 +0200 @@ -78,6 +78,9 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 "$@" ++++++ l10n-102.14.0.tar.xz -> l10n-115.2.0.tar.xz ++++++ /work/SRC/openSUSE:Factory/MozillaThunderbird/l10n-102.14.0.tar.xz /work/SRC/openSUSE:Factory/.MozillaThunderbird.new.1766/l10n-115.2.0.tar.xz differ: char 26, line 1 ++++++ mozilla-aarch64-startup-crash.patch ++++++ --- /var/tmp/diff_new_pack.lLkz3d/_old 2023-09-07 21:15:45.975794060 +0200 +++ /var/tmp/diff_new_pack.lLkz3d/_new 2023-09-07 21:15:45.975794060 +0200 @@ -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,9 +24,4 @@ return NS_OK; } - NS_IMETHODIMP - nsIOService::NewChannelFromURIWithProxyFlags( - nsIURI* aURI, nsIURI* aProxyURI, uint32_t aProxyFlags, - nsINode* aLoadingNode, nsIPrincipal* aLoadingPrincipal, - nsIPrincipal* aTriggeringPrincipal, uint32_t aSecurityFlags, ++++++ mozilla-bmo1504834-part1.patch ++++++ --- /var/tmp/diff_new_pack.lLkz3d/_old 2023-09-07 21:15:45.987794490 +0200 +++ /var/tmp/diff_new_pack.lLkz3d/_new 2023-09-07 21:15:45.991794633 +0200 @@ -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 @@ // 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 @@ + #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,21 +74,17 @@ 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) { ++++++ mozilla-bmo1504834-part3.patch ++++++ --- /var/tmp/diff_new_pack.lLkz3d/_old 2023-09-07 21:15:46.003795062 +0200 +++ /var/tmp/diff_new_pack.lLkz3d/_new 2023-09-07 21:15:46.011795347 +0200 @@ -1,65 +1,18 @@ # 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); - } - } ++++++ mozilla-bmo1512162.patch ++++++ --- /var/tmp/diff_new_pack.lLkz3d/_old 2023-09-07 21:15:46.023795777 +0200 +++ /var/tmp/diff_new_pack.lLkz3d/_new 2023-09-07 21:15:46.027795920 +0200 @@ -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 @@ 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,9 +33,4 @@ // 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 */) { ++++++ mozilla-bmo1005535.patch -> mozilla-bmo1775202.patch ++++++ --- /work/SRC/openSUSE:Factory/MozillaThunderbird/mozilla-bmo1005535.patch 2021-08-24 10:54:34.808344208 +0200 +++ /work/SRC/openSUSE:Factory/.MozillaThunderbird.new.1766/mozilla-bmo1775202.patch 2023-09-07 21:15:33.623352489 +0200 @@ -1,30 +1,26 @@ -# HG changeset patch -# User Steve Singer <st...@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. +From: Mike Hommey <m...@glandium.org> +Date: Sun, 14 Aug 2022 07:01:33 +0900 +Subject: Work around bz#1775202 to fix FTBFS on ppc64el -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))) +--- + 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" + ] - /** 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; - } ++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": - /** Used to pick vertex attribute types. */ + DIRS += [ ++++++ mozilla-bmo531915.patch ++++++ --- /var/tmp/diff_new_pack.lLkz3d/_old 2023-09-07 21:15:46.047796634 +0200 +++ /var/tmp/diff_new_pack.lLkz3d/_new 2023-09-07 21:15:46.051796777 +0200 @@ -1,13 +1,13 @@ # HG changeset patch # User Wolfgang Rosenauer <w...@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 @@ +#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,4 +30,5 @@ * 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 ++++++ mozilla-bmo849632.patch ++++++ --- /var/tmp/diff_new_pack.lLkz3d/_old 2023-09-07 21:15:46.059797064 +0200 +++ /var/tmp/diff_new_pack.lLkz3d/_new 2023-09-07 21:15:46.063797207 +0200 @@ -6,15 +6,11 @@ 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,9 +24,4 @@ AFTER_GL_CALL; mHeavyGLCallsSinceLastFlush = true; } - - void fReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, - GLenum format, GLenum type, GLvoid* pixels); - - public: ++++++ mozilla-fix-aarch64-libopus.patch ++++++ --- /var/tmp/diff_new_pack.lLkz3d/_old 2023-09-07 21:15:46.083797921 +0200 +++ /var/tmp/diff_new_pack.lLkz3d/_new 2023-09-07 21:15:46.091798207 +0200 @@ -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,9 +13,4 @@ #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)) - ++++++ mozilla-kde.patch ++++++ ++++ 2442 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/MozillaThunderbird/mozilla-kde.patch ++++ and /work/SRC/openSUSE:Factory/.MozillaThunderbird.new.1766/mozilla-kde.patch ++++++ mozilla-libavcodec58_91.patch ++++++ --- /var/tmp/diff_new_pack.lLkz3d/_old 2023-09-07 21:15:46.123799351 +0200 +++ /var/tmp/diff_new_pack.lLkz3d/_new 2023-09-07 21:15:46.123799351 +0200 @@ -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", ++++++ mozilla-nongnome-proxies.patch ++++++ --- /var/tmp/diff_new_pack.lLkz3d/_old 2023-09-07 21:15:46.135799781 +0200 +++ /var/tmp/diff_new_pack.lLkz3d/_new 2023-09-07 21:15:46.139799924 +0200 @@ -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 @@ 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,16 +25,10 @@ + 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); ++++++ mozilla-ntlm-full-path.patch ++++++ --- /var/tmp/diff_new_pack.lLkz3d/_old 2023-09-07 21:15:46.151800352 +0200 +++ /var/tmp/diff_new_pack.lLkz3d/_new 2023-09-07 21:15:46.155800495 +0200 @@ -1,18 +1,13 @@ # HG changeset patch # User Petr Cerny <pce...@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,9 +16,4 @@ "--helper-protocol", "ntlmssp-client-1", "--use-cached-creds", - "--username", - username, - nullptr}; - - bool isOK = SpawnIOChild(const_cast<char* const*>(args), &mChildPID, ++++++ mozilla-partial-revert-1768632.patch ++++++ 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; ++++++ mozilla-pgo.patch ++++++ --- /var/tmp/diff_new_pack.lLkz3d/_old 2023-09-07 21:15:46.175801211 +0200 +++ /var/tmp/diff_new_pack.lLkz3d/_new 2023-09-07 21:15:46.179801354 +0200 @@ -1,16 +1,12 @@ # HG changeset patch # User Wolfgang Rosenauer <w...@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 @@ + 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 @@ # 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 @@ 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 @@ 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,9 +122,4 @@ 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); ++++++ mozilla-reduce-rust-debuginfo.patch ++++++ --- /var/tmp/diff_new_pack.lLkz3d/_old 2023-09-07 21:15:46.187801639 +0200 +++ /var/tmp/diff_new_pack.lLkz3d/_new 2023-09-07 21:15:46.191801782 +0200 @@ -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: ++++++ mozilla-rust-disable-future-incompat.patch ++++++ 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" ++++++ mozilla-s390-context.patch ++++++ --- /var/tmp/diff_new_pack.lLkz3d/_old 2023-09-07 21:15:46.211802498 +0200 +++ /var/tmp/diff_new_pack.lLkz3d/_new 2023-09-07 21:15:46.219802783 +0200 @@ -3,52 +3,32 @@ # 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) ++++++ mozilla-silence-no-return-type.patch ++++++ ++++ 3026 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/MozillaThunderbird/mozilla-silence-no-return-type.patch ++++ and /work/SRC/openSUSE:Factory/.MozillaThunderbird.new.1766/mozilla-silence-no-return-type.patch ++++++ mozilla.sh.in ++++++ --- /var/tmp/diff_new_pack.lLkz3d/_old 2023-09-07 21:15:46.267804499 +0200 +++ /var/tmp/diff_new_pack.lLkz3d/_new 2023-09-07 21:15:46.271804642 +0200 @@ -89,7 +89,7 @@ # $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 @@ 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 @@ # 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 ++++++ one_swizzle_to_rule_them_all.patch ++++++ --- /var/tmp/diff_new_pack.lLkz3d/_old 2023-09-07 21:15:46.295805500 +0200 +++ /var/tmp/diff_new_pack.lLkz3d/_new 2023-09-07 21:15:46.331806787 +0200 @@ -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 @@ #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(); ++++++ tar_stamps ++++++ --- /var/tmp/diff_new_pack.lLkz3d/_old 2023-09-07 21:15:46.539814223 +0200 +++ /var/tmp/diff_new_pack.lLkz3d/_new 2023-09-07 21:15:46.563815081 +0200 @@ -1,11 +1,11 @@ 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" ++++++ thunderbird-102.14.0.source.tar.xz -> thunderbird-115.2.0.source.tar.xz ++++++ /work/SRC/openSUSE:Factory/MozillaThunderbird/thunderbird-102.14.0.source.tar.xz /work/SRC/openSUSE:Factory/.MozillaThunderbird.new.1766/thunderbird-115.2.0.source.tar.xz differ: char 15, line 1