diff --git a/.gitignore b/.gitignore index f98ec04..a6f467c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ SOURCES/cbindgen-vendor.tar.xz SOURCES/nspr-4.34.0-3.el8_1.src.rpm SOURCES/nss-3.79.0-6.el8_1.src.rpm -SOURCES/thunderbird-102.3.0.processed-source.tar.xz -SOURCES/thunderbird-langpacks-102.3.0-20220916.tar.xz +SOURCES/thunderbird-102.9.0.processed-source.tar.xz +SOURCES/thunderbird-langpacks-102.9.0-20230313.tar.xz SOURCES/thunderbird-symbolic.svg diff --git a/.thunderbird.metadata b/.thunderbird.metadata index 5b3140c..7598339 100644 --- a/.thunderbird.metadata +++ b/.thunderbird.metadata @@ -1,6 +1,6 @@ 2a430d6252dbea45482ba316a6e9fa605c15e747 SOURCES/cbindgen-vendor.tar.xz af58b3c87a8b5491dde63b07efaeb3d7f1ec56c1 SOURCES/nspr-4.34.0-3.el8_1.src.rpm fc5297c6830f0a1e88f84b94b0b066487664061b SOURCES/nss-3.79.0-6.el8_1.src.rpm -9344c5c96c40ea76f66ef594c16c73a6f72ecd7d SOURCES/thunderbird-102.3.0.processed-source.tar.xz -acfcde32709f2dabf0c99ba19ddd8f4c6515b53a SOURCES/thunderbird-langpacks-102.3.0-20220916.tar.xz +3db971cffa9dff81fdd30cabf6b4128563752781 SOURCES/thunderbird-102.9.0.processed-source.tar.xz +761f69915db0df9ec2ac9d85e478c555605ce8ff SOURCES/thunderbird-langpacks-102.9.0-20230313.tar.xz 42e80b86948cdba0f69af5b15a69bc6a1274d938 SOURCES/thunderbird-symbolic.svg diff --git a/SOURCES/D158770.diff b/SOURCES/D158770.diff new file mode 100644 index 0000000..1d76995 --- /dev/null +++ b/SOURCES/D158770.diff @@ -0,0 +1,25 @@ +diff --git a/parser/expat/lib/xmlparse.c b/parser/expat/lib/xmlparse.c +--- a/parser/expat/lib/xmlparse.c ++++ b/parser/expat/lib/xmlparse.c +@@ -5652,12 +5652,18 @@ + else + #endif /* XML_DTD */ + { + processor = contentProcessor; + /* see externalEntityContentProcessor vs contentProcessor */ +- return doContent(parser, parentParser ? 1 : 0, encoding, s, end, +- nextPtr, (XML_Bool)!ps_finalBuffer); ++ result = doContent(parser, parser->m_parentParser ? 1 : 0, ++ parser->m_encoding, s, end, nextPtr, ++ (XML_Bool)! parser->m_parsingStatus.finalBuffer); ++ if (result == XML_ERROR_NONE) { ++ if (! storeRawNames(parser)) ++ return XML_ERROR_NO_MEMORY; ++ } ++ return result; + } + } + + static enum XML_Error PTRCALL + errorProcessor(XML_Parser parser, + diff --git a/SOURCES/build-rhel7-lower-node-min-version.patch b/SOURCES/build-rhel7-lower-node-min-version.patch new file mode 100644 index 0000000..3dce244 --- /dev/null +++ b/SOURCES/build-rhel7-lower-node-min-version.patch @@ -0,0 +1,11 @@ +--- thunderbird-102.4.0/python/mozbuild/mozbuild/nodeutil.py.build-rhel7-lower-node-min-version 2022-10-14 21:42:10.000000000 +0200 ++++ thunderbird-102.4.0/python/mozbuild/mozbuild/nodeutil.py 2022-10-17 18:49:44.490667820 +0200 +@@ -13,7 +13,7 @@ from mozboot.util import get_tools_dir + from mozfile import which + from six import PY3 + +-NODE_MIN_VERSION = StrictVersion("10.24.1") ++NODE_MIN_VERSION = StrictVersion("10.24.0") + NPM_MIN_VERSION = StrictVersion("6.14.12") + + diff --git a/SOURCES/cbindgen-already-covers.patch b/SOURCES/cbindgen-already-covers.patch deleted file mode 100644 index ab98649..0000000 --- a/SOURCES/cbindgen-already-covers.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up thunderbird-102.1.0/gfx/webrender_bindings/webrender_ffi.h.cbindgen-covers thunderbird-102.1.0/gfx/webrender_bindings/webrender_ffi.h ---- thunderbird-102.1.0/gfx/webrender_bindings/webrender_ffi.h.cbindgen-covers 2022-08-04 12:47:06.970587140 +0200 -+++ thunderbird-102.1.0/gfx/webrender_bindings/webrender_ffi.h 2022-08-04 12:47:13.642579587 +0200 -@@ -73,7 +73,6 @@ struct WrPipelineInfo; - struct WrPipelineIdAndEpoch; - using WrPipelineIdEpochs = nsTArray; - --const uint64_t ROOT_CLIP_CHAIN = ~0; - - } // namespace wr - } // namespace mozilla diff --git a/SOURCES/firefox-nss-version.patch b/SOURCES/firefox-nss-version.patch index 7b7c859..73eafc6 100644 --- a/SOURCES/firefox-nss-version.patch +++ b/SOURCES/firefox-nss-version.patch @@ -1,13 +1,11 @@ -diff -up firefox-102.2.0/build/moz.configure/nss.configure.nss-version firefox-102.2.0/build/moz.configure/nss.configure ---- firefox-102.2.0/build/moz.configure/nss.configure.nss-version 2022-08-23 18:17:14.699869558 +0200 -+++ firefox-102.2.0/build/moz.configure/nss.configure 2022-08-23 18:15:33.790051448 +0200 +--- thunderbird-102.6.0/build/moz.configure/nss.configure.firefox-nss-version 2022-12-09 19:00:45.849518718 +0100 ++++ thunderbird-102.6.0/build/moz.configure/nss.configure 2022-12-09 19:02:47.739198796 +0100 @@ -9,7 +9,7 @@ system_lib_option("--with-system-nss", h imply_option("--with-system-nspr", True, when="--with-system-nss") nss_pkg = pkg_check_modules( -- "NSS", "nss >= 3.79.1", when="--with-system-nss", config=False +- "NSS", "nss >= 3.79.2", when="--with-system-nss", config=False + "NSS", "nss >= 3.79", when="--with-system-nss", config=False ) set_config("MOZ_SYSTEM_NSS", True, when="--with-system-nss") -diff -up firefox-102.2.0/.nss-version firefox-102.2.0/ diff --git a/SOURCES/thunderbird.sh.in b/SOURCES/thunderbird.sh.in index 800c776..84ed613 100644 --- a/SOURCES/thunderbird.sh.in +++ b/SOURCES/thunderbird.sh.in @@ -139,7 +139,4 @@ fi NSS_SSL_CBC_RANDOM_IV=${NSS_SSL_CBC_RANDOM_IV-1} export NSS_SSL_CBC_RANDOM_IV -# Linux version specific environment variables -%RHEL_ENV_VARS% - exec $MOZ_PROGRAM "$@" diff --git a/SPECS/thunderbird.spec b/SPECS/thunderbird.spec index 08d3c36..218430a 100644 --- a/SPECS/thunderbird.spec +++ b/SPECS/thunderbird.spec @@ -34,6 +34,13 @@ end} %global bundle_nss 0 %global build_langpacks 1 +# librnp with openssl support, not available in RHEL7 because it requires openssl >= 1.1.1e, +# nor in rhel-8.1.0 or rhel-8.2.0 +%global use_openssl_for_librnp 1 +%if 0%{?rhel} == 7 || (0%{?rhel} == 8 && %{rhel_minor_version} < 4) +%global use_openssl_for_librnp 0 +%endif + %if 0%{?rhel} == 8 %if %{rhel_minor_version} <= 4 %global bundle_nss 1 @@ -158,11 +165,17 @@ end} Summary: Mozilla Thunderbird mail/newsgroup client Name: thunderbird -Version: 102.3.0 -Release: 3%{?dist}.inferit +Version: 102.9.0 +Release: 1%{?dist}.inferit URL: http://www.mozilla.org/projects/thunderbird/ License: MPLv1.1 or GPLv2+ or LGPLv2+ +# Workaround the dreaded "upstream source file changed content" rpminspect failure. +# If set to .b2 or .b3 ... the processed source file needs to be renamed before upload, e.g. +# thunderbird-102.8.0.b2.processed-source.tar.xz +# When unset use processed source file name as is. +#%%global buildnum .b2 + %if 0%{?rhel} == 9 ExcludeArch: %{ix86} %endif @@ -178,9 +191,9 @@ ExcludeArch: aarch64 s390 ppc %endif #Source0: https://archive.mozilla.org/pub/thunderbird/releases/%{version}%{?pre_version}/source/thunderbird-%{version}%{?pre_version}.processed-source.tar.xz -Source0: thunderbird-%{version}%{?pre_version}.processed-source.tar.xz +Source0: thunderbird-%{version}%{?pre_version}%{?buildnum}.processed-source.tar.xz %if %{build_langpacks} -Source1: thunderbird-langpacks-%{version}-20220916.tar.xz +Source1: thunderbird-langpacks-%{version}-20230313.tar.xz %endif Source2: cbindgen-vendor.tar.xz Source3: process-official-tarball @@ -214,6 +227,7 @@ Patch73: build-ascii-decode-fail-rhel7.patch Patch75: build-big-endian-errors.patch Patch76: firefox-nss-version.patch Patch77: mozilla-1775202.patch +Patch78: build-rhel7-lower-node-min-version.patch # Fedora specific patches Patch215: firefox-enable-addons.patch @@ -224,7 +238,6 @@ Patch226: rhbz-1354671.patch Patch228: disable-openh264-download.patch Patch229: firefox-nss-addon-hack.patch Patch230: disable-openpgp-in-thunderbird.patch -Patch231: cbindgen-already-covers.patch # Upstream patches Patch415: mozilla-1670333.patch @@ -237,6 +250,7 @@ Patch421: mozilla-s390-context.patch Patch422: mozilla-s390x-skia-gradient.patch Patch423: one_swizzle_to_rule_them_all.patch Patch424: svg-rendering.patch +Patch425: D158770.diff # PGO/LTO patches Patch600: pgo.patch @@ -272,6 +286,9 @@ BuildRequires: pkgconfig(libnotify) >= %{libnotify_version} BuildRequires: pkgconfig(dri) BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(alsa) +%if %{?use_openssl_for_librnp} +BuildRequires: pkgconfig(openssl) +%endif BuildRequires: libstdc++-devel BuildRequires: libstdc++-static BuildRequires: dbus-glib-devel @@ -447,52 +464,76 @@ BuildRequires: gcc-toolset-12-annobin-plugin-gcc %endif %endif + # Bundled libraries Provides: bundled(angle) +Provides: bundled(audioipc-2) +Provides: bundled(brotli) +Provides: bundled(bzip2) Provides: bundled(cairo) +Provides: bundled(cfworker) +Provides: bundled(d3.js) +Provides: bundled(double-conversion) +Provides: bundled(expat) +Provides: bundled(fdlibm) +Provides: bundled(ffvpx) +Provides: bundled(freetype2) Provides: bundled(graphite2) Provides: bundled(harfbuzz) -Provides: bundled(ots) -Provides: bundled(sfntly) -Provides: bundled(skia) -Provides: bundled(thebes) -Provides: bundled(WebRender) -Provides: bundled(audioipc-2) -Provides: bundled(ffvpx) +Provides: bundled(highway) +Provides: bundled(intgemm) +Provides: bundled(json-c) Provides: bundled(kissfft) Provides: bundled(libaom) Provides: bundled(libcubeb) Provides: bundled(libdav1d) +Provides: bundled(libgcrypt) +Provides: bundled(libgpg-error) Provides: bundled(libjpeg) +Provides: bundled(libjxl) +Provides: bundled(libjxl) +Provides: bundled(libmar) Provides: bundled(libmkv) Provides: bundled(libnestegg) Provides: bundled(libogg) Provides: bundled(libopus) +Provides: bundled(libotr) Provides: bundled(libpng) +Provides: bundled(libprio) Provides: bundled(libsoundtouch) Provides: bundled(libspeex_resampler) +Provides: bundled(libsrtp) Provides: bundled(libtheora) Provides: bundled(libtremor) Provides: bundled(libvorbis) Provides: bundled(libvpx) Provides: bundled(libwebp) +Provides: bundled(libwebrtc) Provides: bundled(libyuv) Provides: bundled(mp4parse-rust) +Provides: bundled(mp4parse-rust) +Provides: bundled(msgpack-c) +Provides: bundled(msgpack-c) Provides: bundled(mtransport) +Provides: bundled(niwcompat) Provides: bundled(openmax_dl) -Provides: bundled(double-conversion) -Provides: bundled(brotli) -Provides: bundled(fdlibm) -Provides: bundled(freetype2) -Provides: bundled(libmar) +Provides: bundled(openmax_il) +Provides: bundled(openmax_il) +Provides: bundled(ots) +Provides: bundled(qcms) +Provides: bundled(rlbox_sandboxing_api) +Provides: bundled(rnp) +Provides: bundled(sfntly) +Provides: bundled(sipcc) +Provides: bundled(skia) +Provides: bundled(sqlite3) +Provides: bundled(thebes) +Provides: bundled(wasm2c) +Provides: bundled(WebRender) Provides: bundled(woff2) Provides: bundled(xz-embedded) +Provides: bundled(ycbcr) Provides: bundled(zlib) -Provides: bundled(expat) -Provides: bundled(msgpack-c) -Provides: bundled(libprio) -Provides: bundled(rlbox_sandboxing_api) -Provides: bundled(sqlite3) %if 0%{?bundle_nss} Provides: bundled(nss) = 3.79.0 @@ -528,7 +569,6 @@ echo "use_rustts %{?use_rustts}" %setup -q # Build patches -#MISSING% patch9 -p2 -b .arm %ifarch s390 %patch25 -p1 -b .rhbz-1219542-s390 %endif @@ -551,6 +591,9 @@ echo "use_rustts %{?use_rustts}" %patch77 -p1 -b .mozilla-1775202 %patch73 -p1 -b .build-ascii-decode-fail-rhel7 +%if 0%{?rhel} == 7 +%patch78 -p1 -b .build-rhel7-lower-node-min-version +%endif # Test patches @@ -564,8 +607,6 @@ echo "use_rustts %{?use_rustts}" %endif %patch228 -p1 -b .disable-openh264-download %patch229 -p1 -b .firefox-nss-addon-hack -%patch230 -p1 -b .disable-openpgp-in-thunderbird -%patch231 -p1 -b .cbindgen-already-covers %patch415 -p1 -b .1670333 %patch416 -p1 -b .mozilla-bmo1005535 @@ -577,6 +618,11 @@ echo "use_rustts %{?use_rustts}" %patch422 -p1 -b .mozilla-s390x-skia-gradient %patch423 -p1 -b .one_swizzle_to_rule_them_all %patch424 -p1 -b .svg-rendering +%patch425 -p1 -b .D158770.diff + +%if !%{?use_openssl_for_librnp} +%patch230 -p1 -b .disable-openpgp-in-thunderbird +%endif # PGO patches %if %{build_with_pgo} @@ -678,6 +724,9 @@ echo "ac_add_options --disable-jemalloc" >> .mozconfig %if !%{enable_mozilla_crashreporter} echo "ac_add_options --disable-crashreporter" >> .mozconfig %endif +%if %{?use_openssl_for_librnp} +echo "ac_add_options --with-librnp-backend=openssl" >> .mozconfig +%endif # AV1 requires newer nasm that was rebased in 8.4 %if 0%{?rhel} == 7 || (0%{?rhel} == 8 && %{rhel_minor_version} < 4) @@ -1097,8 +1146,11 @@ touch $RPM_BUILD_ROOT%{mozappdir}/components/xpti.dat %{__cp} %{objdir}/dist/%{symbols_file_name} $RPM_BUILD_ROOT/%{moz_debug_dir} %endif -# Removing librnp.so - we cannot deliver that in RHELs +# Removing librnp.so - we cannot deliver librnp with botan crypto backend RHELs +%if !%{?use_openssl_for_librnp} %{__rm} -rf %{buildroot}%{mozappdir}/librnp.so %{buildroot}%{mozappdir}/rnp-cli %{buildroot}%{mozappdir}/rnpkeys +%endif + # Register as an application to be visible in the software center mkdir -p $RPM_BUILD_ROOT%{_datadir}/metainfo %{__cp} -p comm/mail/branding/%{name}/net.thunderbird.Thunderbird.appdata.xml $RPM_BUILD_ROOT%{_datadir}/metainfo/thunderbird.appdata.xml @@ -1181,6 +1233,11 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{mozappdir}/dependentlibs.list %{mozappdir}/fonts %{mozappdir}/pingsender +%if %{?use_openssl_for_librnp} +%{mozappdir}/librnp.so +%{mozappdir}/rnp-cli +%{mozappdir}/rnpkeys +%endif %if 0%{?bundle_nss} %{mozappdir}/bundled/%{_lib}/libfreebl* @@ -1201,6 +1258,45 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : * Sun Apr 02 2023 Eugene Zamriy - 102.3.0-3.inferit - De-branded and rebuilt for MSVSphere 9.1 +* Mon Mar 13 2023 Eike Rathke - 102.9.0-1 +- Update to 102.9.0 build1 + +* Wed Feb 15 2023 Eike Rathke - 102.8.0-2 +- Update to 102.8.0 build2 + +* Fri Feb 10 2023 Eike Rathke - 102.8.0-1 +- Update to 102.8.0 build1 + +* Tue Jan 31 2023 Eike Rathke - 102.7.1-2 +- Update to 102.7.1 build2 + +* Tue Jan 24 2023 Eike Rathke - 102.7.1-1 +- Update to 102.7.1 build1 + +* Mon Jan 16 2023 Eike Rathke - 102.7.0-1 +- Update to 102.7.0 build1 + +* Tue Dec 13 2022 Eike Rathke - 102.6.0-2 +- Update to 102.6.0 build2 + +* Fri Dec 09 2022 Eike Rathke - 102.6.0-1 +- Update to 102.6.0 build1 + +* Tue Nov 29 2022 Jan Horak - 102.5.0-3 +- Use openssl for the librnp crypto backend to enable the openpgp encryption + +* Tue Nov 15 2022 Eike Rathke - 102.5.0-2 +- Update to 102.5.0 build2 + +* Fri Nov 11 2022 Eike Rathke - 102.5.0-1 +- Update to 102.5.0 build1 + +* Mon Oct 17 2022 Eike Rathke - 102.4.0-1 +- Update to 102.4.0 build1 + +* Wed Oct 12 2022 Jan Horak - 102.3.0-4 +- Fix for expat CVE-2022-40674 + * Fri Sep 16 2022 Jan Horak - 102.3.0-3 - Update to 102.3.0 build1