From 7228157f55af26ae22f38aae3f1436a699f2b96a Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Tue, 27 Apr 2021 12:56:37 -0400 Subject: [PATCH 1/7] add F_GET_SEALS to channel_linux.cc --- chromium-90.0.4430.85-epel7-no-kcmp-h.patch | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/chromium-90.0.4430.85-epel7-no-kcmp-h.patch b/chromium-90.0.4430.85-epel7-no-kcmp-h.patch index bebc208..56f0c51 100644 --- a/chromium-90.0.4430.85-epel7-no-kcmp-h.patch +++ b/chromium-90.0.4430.85-epel7-no-kcmp-h.patch @@ -1,7 +1,7 @@ diff -up chromium-90.0.4430.85/mojo/core/channel_linux.cc.epel7-kcmp chromium-90.0.4430.85/mojo/core/channel_linux.cc --- chromium-90.0.4430.85/mojo/core/channel_linux.cc.epel7-kcmp 2021-04-27 11:42:46.207245608 -0400 +++ chromium-90.0.4430.85/mojo/core/channel_linux.cc 2021-04-27 11:43:21.941841419 -0400 -@@ -37,6 +37,22 @@ +@@ -37,6 +37,25 @@ #include "mojo/core/core.h" #include "mojo/core/embedder/features.h" @@ -20,6 +20,9 @@ diff -up chromium-90.0.4430.85/mojo/core/channel_linux.cc.epel7-kcmp chromium-90 +#ifndef F_ADD_SEALS +#define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9) +#endif ++#ifndef F_GET_SEALS ++#define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10) ++#endif + namespace mojo { namespace core { From 5eed664137afc0f64a7573bae46851eb2097acdf Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Tue, 27 Apr 2021 16:09:16 -0400 Subject: [PATCH 2/7] still more ugly hacks --- chromium-90.0.4430.85-epel7-no-kcmp-h.patch | 29 +++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/chromium-90.0.4430.85-epel7-no-kcmp-h.patch b/chromium-90.0.4430.85-epel7-no-kcmp-h.patch index 56f0c51..0921bc3 100644 --- a/chromium-90.0.4430.85-epel7-no-kcmp-h.patch +++ b/chromium-90.0.4430.85-epel7-no-kcmp-h.patch @@ -82,3 +82,32 @@ diff -up chromium-90.0.4430.85/sandbox/policy/linux/bpf_gpu_policy_linux.cc.epel using sandbox::bpf_dsl::Allow; using sandbox::bpf_dsl::Arg; using sandbox::bpf_dsl::Error; +diff -up chromium-90.0.4430.93/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc.epel7-kcmp chromium-90.0.4430.93/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc +--- chromium-90.0.4430.93/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc.epel7-kcmp 2021-04-27 16:08:22.416365113 -0400 ++++ chromium-90.0.4430.93/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc 2021-04-27 16:08:43.571725851 -0400 +@@ -57,6 +57,25 @@ + + #endif // defined(OS_ANDROID) + ++#ifndef F_LINUX_SPECIFIC_BASE ++#define F_LINUX_SPECIFIC_BASE 1024 ++#endif ++#ifndef F_SEAL_SEAL ++#define F_SEAL_SEAL 0x0001 ++#endif ++#ifndef F_SEAL_SHRINK ++#define F_SEAL_SHRINK 0x0002 ++#endif ++#ifndef F_SEAL_GROW ++#define F_SEAL_GROW 0x0004 ++#endif ++#ifndef F_ADD_SEALS ++#define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9) ++#endif ++#ifndef F_GET_SEALS ++#define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10) ++#endif ++ + #if defined(__arm__) && !defined(MAP_STACK) + #define MAP_STACK 0x20000 // Daisy build environment has old headers. + #endif From 9d6a13ab15e9162732a0e18a3323ca9291af5587 Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Wed, 28 Apr 2021 09:58:01 -0400 Subject: [PATCH 3/7] more old/missing header workarounds, rename patch --- ...0.0.4430.93-epel7-old-headers-workarounds.patch | 14 ++++++++++++++ chromium.spec | 6 +++--- 2 files changed, 17 insertions(+), 3 deletions(-) rename chromium-90.0.4430.85-epel7-no-kcmp-h.patch => chromium-90.0.4430.93-epel7-old-headers-workarounds.patch (85%) diff --git a/chromium-90.0.4430.85-epel7-no-kcmp-h.patch b/chromium-90.0.4430.93-epel7-old-headers-workarounds.patch similarity index 85% rename from chromium-90.0.4430.85-epel7-no-kcmp-h.patch rename to chromium-90.0.4430.93-epel7-old-headers-workarounds.patch index 0921bc3..d725164 100644 --- a/chromium-90.0.4430.85-epel7-no-kcmp-h.patch +++ b/chromium-90.0.4430.93-epel7-old-headers-workarounds.patch @@ -111,3 +111,17 @@ diff -up chromium-90.0.4430.93/sandbox/linux/seccomp-bpf-helpers/syscall_paramet #if defined(__arm__) && !defined(MAP_STACK) #define MAP_STACK 0x20000 // Daisy build environment has old headers. #endif +diff -up chromium-90.0.4430.93/ui/events/ozone/evdev/event_converter_evdev_impl.cc.epel7-kcmp chromium-90.0.4430.93/ui/events/ozone/evdev/event_converter_evdev_impl.cc +--- chromium-90.0.4430.93/ui/events/ozone/evdev/event_converter_evdev_impl.cc.epel7-kcmp 2021-04-28 09:55:12.941124592 -0400 ++++ chromium-90.0.4430.93/ui/events/ozone/evdev/event_converter_evdev_impl.cc 2021-04-28 09:55:42.071601437 -0400 +@@ -16,6 +16,10 @@ + #include "ui/events/keycodes/dom/keycode_converter.h" + #include "ui/events/ozone/evdev/device_event_dispatcher_evdev.h" + ++#ifndef SW_PEN_INSERTED ++#define SW_PEN_INSERTED 0x0f /* set = pen inserted */ ++#endif ++ + namespace ui { + + namespace { diff --git a/chromium.spec b/chromium.spec index 3286a4e..5ee28f0 100644 --- a/chromium.spec +++ b/chromium.spec @@ -314,8 +314,8 @@ Patch80: https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/fil Patch101: chromium-75.0.3770.100-epel7-stdc++.patch # el7 only patch Patch102: chromium-80.0.3987.132-el7-noexcept.patch -# No linux/kcmp.h on EPEL7 -Patch103: chromium-90.0.4430.85-epel7-no-kcmp-h.patch +# Work around old and missing headers on EPEL7 +Patch103: chromium-90.0.4430.93-epel7-old-headers-workarounds.patch # Use old cups (chromium's code workaround breaks on gcc) # Revert: https://github.com/chromium/chromium/commit/c3213f8779ddc427e89d982514185ed5e4c94e91 Patch104: chromium-84.0.4147.89-epel7-old-cups.patch @@ -944,7 +944,7 @@ udev. %if 0%{?rhel} == 7 # %%patch101 -p1 -b .epel7 # %%patch102 -p1 -b .el7-noexcept -%patch103 -p1 -b .epel7-kcmp +%patch103 -p1 -b .epel7-header-workarounds %patch104 -p1 -b .el7cups %patch108 -p1 -b .el7-old-libdrm %endif From 57e0757763f9e22fa0560bd4807bb89564725dad Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Wed, 28 Apr 2021 18:09:52 -0400 Subject: [PATCH 4/7] try with gcc 10 --- chromium.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chromium.spec b/chromium.spec index 5ee28f0..72cfdc4 100644 --- a/chromium.spec +++ b/chromium.spec @@ -144,7 +144,7 @@ BuildRequires: libicu-devel >= 5.4 %global gtk3 1 %if 0%{?rhel} == 7 || 0%{?rhel} == 8 -%global dts_version 9 +%global dts_version 10 %global bundleopus 1 %global bundlelibusbx 1 From 298caa8160ed1f9e8d898126a62685bdfa273dd6 Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Thu, 29 Apr 2021 14:06:55 -0400 Subject: [PATCH 5/7] add fix for std::string.erase call --- chromium-90.0.4430.93-epel7-erase-fix.patch | 20 ++++++++++++++++++++ chromium.spec | 11 ++++++++--- 2 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 chromium-90.0.4430.93-epel7-erase-fix.patch diff --git a/chromium-90.0.4430.93-epel7-erase-fix.patch b/chromium-90.0.4430.93-epel7-erase-fix.patch new file mode 100644 index 0000000..0d8b84a --- /dev/null +++ b/chromium-90.0.4430.93-epel7-erase-fix.patch @@ -0,0 +1,20 @@ +diff -up chromium-90.0.4430.93/components/ui_devtools/views/view_element.cc.erase-fix chromium-90.0.4430.93/components/ui_devtools/views/view_element.cc +--- chromium-90.0.4430.93/components/ui_devtools/views/view_element.cc.erase-fix 2021-04-29 14:00:38.779932160 -0400 ++++ chromium-90.0.4430.93/components/ui_devtools/views/view_element.cc 2021-04-29 14:00:54.684194321 -0400 +@@ -23,14 +23,14 @@ namespace { + // Remove any custom editor "prefixes" from the property name. The prefixes must + // not be valid identifier characters. + void StripPrefix(std::string& property_name) { +- auto cur = property_name.cbegin(); ++ auto cur = property_name.begin(); + for (; cur < property_name.cend(); ++cur) { + if ((*cur >= 'A' && *cur <= 'Z') || (*cur >= 'a' && *cur <= 'z') || + *cur == '_') { + break; + } + } +- property_name.erase(property_name.cbegin(), cur); ++ property_name.erase(property_name.begin(), cur); + } + + } // namespace diff --git a/chromium.spec b/chromium.spec index 72cfdc4..aaae6b3 100644 --- a/chromium.spec +++ b/chromium.spec @@ -32,8 +32,8 @@ %global build_remoting 1 # We'd like to always have this on... -# ... but the libva in EL7 is too old. -%if 0%{?rhel} == 7 +# ... but the libva in EL7 (and EL8) is too old. +%if 0%{?rhel} == 7 || 0%{?rhel} == 8 %global use_vaapi 0 %else %global use_vaapi 1 @@ -144,7 +144,7 @@ BuildRequires: libicu-devel >= 5.4 %global gtk3 1 %if 0%{?rhel} == 7 || 0%{?rhel} == 8 -%global dts_version 10 +%global dts_version 9 %global bundleopus 1 %global bundlelibusbx 1 @@ -328,6 +328,10 @@ Patch106: chromium-77-clang.patch # libdrm on EL7 is rather old and chromium assumes newer # This gets us by for now Patch108: chromium-85.0.4183.83-el7-old-libdrm.patch +# error: no matching function for call to 'std::basic_string::erase(std::basic_string::const_iterator, __gnu_cxx::__normal_iterator >&)' +# 33 | property_name.erase(property_name.cbegin(), cur); +# Not sure how this EVER worked anywhere, but it only seems to fail on EPEL-7. +Patch109: chromium-90.0.4430.93-epel7-erase-fix.patch # VAAPI # Upstream turned VAAPI on in Linux in 86 @@ -947,6 +951,7 @@ udev. %patch103 -p1 -b .epel7-header-workarounds %patch104 -p1 -b .el7cups %patch108 -p1 -b .el7-old-libdrm +%patch109 -p1 -b .el7-erase-fix %endif %if 0%{?rhel} == 8 From 0984b7b9514f07188cbb5fbd47790ba05d9c6ec5 Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Mon, 3 May 2021 14:15:00 -0400 Subject: [PATCH 6/7] AARCH64 neon symbols need to be prefixed too to prevent multiple definition issue at linktime --- ...pel8-aarch64-libpng16-symbol-prefixes.patch | 18 ++++++++++++++++++ chromium.spec | 5 +++++ 2 files changed, 23 insertions(+) create mode 100644 chromium-90.0.4430.93-epel8-aarch64-libpng16-symbol-prefixes.patch diff --git a/chromium-90.0.4430.93-epel8-aarch64-libpng16-symbol-prefixes.patch b/chromium-90.0.4430.93-epel8-aarch64-libpng16-symbol-prefixes.patch new file mode 100644 index 0000000..fdde71e --- /dev/null +++ b/chromium-90.0.4430.93-epel8-aarch64-libpng16-symbol-prefixes.patch @@ -0,0 +1,18 @@ +diff -up chromium-90.0.4430.93/third_party/llvm/lldb/test/API/functionalities/postmortem/netbsd-core/1lwp_SIGSEGV.aarch64 chromium-90.0.4430.93/third_party/llvm/lldb/test/API/functionalities/postmortem/netbsd-core/1lwp_SIGSEGV +diff -up chromium-90.0.4430.93/third_party/llvm/lldb/test/API/functionalities/postmortem/netbsd-core/2lwp_process_SIGSEGV.aarch64 chromium-90.0.4430.93/third_party/llvm/lldb/test/API/functionalities/postmortem/netbsd-core/2lwp_process_SIGSEGV +diff -up chromium-90.0.4430.93/third_party/llvm/lldb/test/API/functionalities/postmortem/netbsd-core/2lwp_t2_SIGSEGV.aarch64 chromium-90.0.4430.93/third_party/llvm/lldb/test/API/functionalities/postmortem/netbsd-core/2lwp_t2_SIGSEGV +diff -up chromium-90.0.4430.93/third_party/pdfium/third_party/libpng16/pngprefix.h.aarch64 chromium-90.0.4430.93/third_party/pdfium/third_party/libpng16/pngprefix.h +--- chromium-90.0.4430.93/third_party/pdfium/third_party/libpng16/pngprefix.h.aarch64 2021-05-03 14:08:47.184438786 -0400 ++++ chromium-90.0.4430.93/third_party/pdfium/third_party/libpng16/pngprefix.h 2021-05-03 14:09:59.289797317 -0400 +@@ -458,4 +458,11 @@ + #define png_zlib_inflate PDFIUM_png_zlib_inflate + #define png_zstream_error PDFIUM_png_zstream_error + ++#if PNG_ARM_NEON_IMPLEMENTATION == 1 ++#define png_riffle_palette_neon PDFIUM_png_riffle_palette_neon ++#define png_do_expand_palette_rgba8_neon PDFIUM_png_do_expand_palette_rgba8_neon ++#define png_do_expand_palette_rgb8_neon PDFIUM_png_do_expand_palette_rgb8_neon ++#endif ++ ++ + #endif // PNGPREFIX_H diff --git a/chromium.spec b/chromium.spec index aaae6b3..9d57dac 100644 --- a/chromium.spec +++ b/chromium.spec @@ -332,6 +332,10 @@ Patch108: chromium-85.0.4183.83-el7-old-libdrm.patch # 33 | property_name.erase(property_name.cbegin(), cur); # Not sure how this EVER worked anywhere, but it only seems to fail on EPEL-7. Patch109: chromium-90.0.4430.93-epel7-erase-fix.patch +# Again, not sure how epel8 is the only one to hit this... +# AARCH64 neon symbols need to be prefixed too to prevent multiple definition issue at linktime +Patch110: chromium-90.0.4430.93-epel8-aarch64-libpng16-symbol-prefixes.patch + # VAAPI # Upstream turned VAAPI on in Linux in 86 @@ -956,6 +960,7 @@ udev. %if 0%{?rhel} == 8 # %%patch107 -p1 -b .el8-arm-incompatible-ints +%patch110 -p1 -b .el8-aarch64-libpng16-symbol-prefixes %endif # Feature specific patches From bfc2976ce1ecdb675845007c8ad55f6f134b5293 Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Tue, 18 May 2021 10:54:42 -0400 Subject: [PATCH 7/7] update to 90.0.4430.212 --- chromium.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/chromium.spec b/chromium.spec index 9d57dac..c606365 100644 --- a/chromium.spec +++ b/chromium.spec @@ -215,7 +215,7 @@ Name: chromium%{chromium_channel}%{nsuffix} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.4430.93 +Version: %{majorversion}.0.4430.212 Release: 1%{?dist} %if %{?freeworld} %if %{?shared} @@ -1999,6 +1999,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Tue May 18 2021 Tom Callaway - 90.0.4430.212-1 +- update to 90.0.4430.212 + * Tue Apr 27 2021 Tom Callaway - 90.0.4430.93-1 - update to 90.0.4430.93 diff --git a/sources b/sources index 2d45bdf..5fdb3e3 100644 --- a/sources +++ b/sources @@ -20,4 +20,4 @@ SHA512 (xcb-proto-1.14.tar.xz) = de66d568163b6da2be9d6c59984f3afa3acd119a7813786 SHA512 (depot_tools.git-master.tar.gz) = dc323888812b66cc92c53a24a8a58ccf9e2961be67aa21852bd091b8b49569071f06ae9104cb58950e6253ac3a29f0db0663e9f35ef2b1ea28696efb38b42708 SHA512 (NotoSansSymbols2-Regular.ttf) = 2644b42c3fdccfe12395f9b61553aced169a0f1dc09f5a0fd7898e9d0a372ee4422b6b1cdab3c86ecc91db437e9ae8a951e64e85edc3ac9e9fca428852dbb2ad SHA512 (NotoSansTibetan-Regular.ttf) = fb5a48fcaea80eebe7d692f6fcf00d59d47658a358d0ec8e046fc559873f88bd595b2da474d2826abd9e9305f3741c69058d867b1e6048f37fe7d71b5d3af36a -SHA512 (chromium-90.0.4430.93-clean.tar.xz) = 69da7a087f516d2f6d56914d941aa2f5e5563b6dc16191f1b5bc83b708bff72fa04e4d7cea19f68d8c493a1f86a9c8d907f727631b9342c7ca07765b9900e556 +SHA512 (chromium-90.0.4430.212-clean.tar.xz) = 53c16fcb899ae5de73599a67c7652801b4779c9642c2dacc2f211e6c6accd455507594138e59dcbabe9f80493d78fd4d0d118a58284d9d62f149e549dbba8ccc