The package rpms/chromium.git has added or updated architecture specific content in its spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s): https://src.fedoraproject.org/cgit/rpms/chromium.git/commit/?id=3ee798bef172... https://src.fedoraproject.org/cgit/rpms/chromium.git/commit/?id=effc42ab0a1c....
Change: -%ifarch aarch64 +%ifarch aarch64
Thanks.
Full change: ============
commit 6b11f13d37c55513beb8970a7582815292bde526 Author: Tom spot Callaway spot@fedoraproject.org Date: Wed Jun 15 11:30:29 2022 -0400
Need to explicitly include a kernel header on EL7 to support MFD_CLOEXEC
diff --git a/chromium-102.0.5005.115-el7-memfd-include.patch b/chromium-102.0.5005.115-el7-memfd-include.patch new file mode 100644 index 0000000..8724909 --- /dev/null +++ b/chromium-102.0.5005.115-el7-memfd-include.patch @@ -0,0 +1,11 @@ +diff -up chromium-102.0.5005.115/v8/src/base/platform/platform-posix.cc.el7-memfd-include chromium-102.0.5005.115/v8/src/base/platform/platform-posix.cc +--- chromium-102.0.5005.115/v8/src/base/platform/platform-posix.cc.el7-memfd-include 2022-06-15 10:52:49.553817031 -0400 ++++ chromium-102.0.5005.115/v8/src/base/platform/platform-posix.cc 2022-06-15 10:56:15.775173013 -0400 +@@ -56,6 +56,7 @@ + + #if V8_OS_LINUX + #include <sys/prctl.h> // for prctl ++#include <linux/memfd.h> // for MFD_CLOEXEC + #endif + + #if defined(V8_OS_FUCHSIA) diff --git a/chromium.spec b/chromium.spec index 90881e8..c51d299 100644 --- a/chromium.spec +++ b/chromium.spec @@ -350,6 +350,9 @@ Patch103: chromium-99.0.4844.51-epel7-old-headers-workarounds.patch # Use old cups (chromium's code workaround breaks on gcc) # Revert: https://github.com/chromium/chromium/commit/c3213f8779ddc427e89d982514185ed5... Patch104: chromium-99.0.4844.51-epel7-old-cups.patch +# Need to explicitly include a kernel header on EL7 to support MFD_CLOEXEC +Patch105: chromium-102.0.5005.115-el7-memfd-include.patch + # Still not wrong, but it seems like only EL needs it Patch106: chromium-77-clang.patch # ARM failures on el8 related to int clashes @@ -1045,6 +1048,7 @@ udev. # %%patch102 -p1 -b .el7-noexcept %patch103 -p1 -b .epel7-header-workarounds %patch104 -p1 -b .el7cups +%patch105 -p1 -b .el7-memfd-include %patch108 -p1 -b .el7-old-libdrm %patch109 -p1 -b .el7-erase-fix %patch111 -p1 -b .el7-extra-operator-equalequal
commit 3ee798bef1728e248ed42f2549f1e942422b1892 Author: Tom spot Callaway spot@fedoraproject.org Date: Wed Jun 15 09:23:11 2022 -0400
fixup conditionals to be less obtuse
diff --git a/chromium.spec b/chromium.spec index 9f7289a..90881e8 100644 --- a/chromium.spec +++ b/chromium.spec @@ -47,18 +47,16 @@ %endif
# We'd like to always have this on... +%global use_vaapi 1 # ... but the libva in EL7 (and EL8) is too old. -# ... and EL9 doesn't ship libva-devel on aarch64? %if 0%{?rhel} == 7 || 0%{?rhel} == 8 %global use_vaapi 0 -%else -%if 0%{?rhel} == 9 -%ifarch aarch64 -%global use_vaapi 0 -%endif -%else -%global use_vaapi 1 %endif +# ... and EL9 doesn't ship libva-devel on aarch64? +%if 0%{?rhel} == 9 + %ifarch aarch64 + %global use_vaapi 0 + %endif %endif
# Seems like we might need this sometimes @@ -546,7 +544,7 @@ BuildRequires: libudev-devel Requires: libusbx >= 1.0.21-0.1.git448584a BuildRequires: libusbx-devel >= 1.0.21-0.1.git448584a %endif -%if 0%{?use_vaapi} +%if 0%{use_vaapi} BuildRequires: libva-devel %endif # We don't use libvpx anymore because Chromium loves to
commit effc42ab0a1c57618834bcb68f23b843c25a6bbf Author: Tom spot Callaway spot@fedoraproject.org Date: Wed Jun 15 09:17:36 2022 -0400
el9 aarch64 does not seem to have libva-devel
diff --git a/chromium.spec b/chromium.spec index 7feebf1..9f7289a 100644 --- a/chromium.spec +++ b/chromium.spec @@ -48,11 +48,18 @@
# We'd like to always have this on... # ... but the libva in EL7 (and EL8) is too old. +# ... and EL9 doesn't ship libva-devel on aarch64? %if 0%{?rhel} == 7 || 0%{?rhel} == 8 %global use_vaapi 0 %else +%if 0%{?rhel} == 9 +%ifarch aarch64 +%global use_vaapi 0 +%endif +%else %global use_vaapi 1 %endif +%endif
# Seems like we might need this sometimes # Practically, no. But it's here in case we do. @@ -539,7 +546,9 @@ BuildRequires: libudev-devel Requires: libusbx >= 1.0.21-0.1.git448584a BuildRequires: libusbx-devel >= 1.0.21-0.1.git448584a %endif +%if 0%{?use_vaapi} BuildRequires: libva-devel +%endif # We don't use libvpx anymore because Chromium loves to # use bleeding edge revisions here that break other things # ... so we just use the bundled libvpx.
commit cd477185d58f0d516eaa966e0b7bcc92252aae36 Author: Tom spot Callaway spot@fedoraproject.org Date: Tue Jun 14 16:40:12 2022 -0400
aarch64 v8 gcc cfi fix
diff --git a/chromium-102.0.5005.115-v8-aarch64-gcc-cfi-fix.patch b/chromium-102.0.5005.115-v8-aarch64-gcc-cfi-fix.patch new file mode 100644 index 0000000..5c0200a --- /dev/null +++ b/chromium-102.0.5005.115-v8-aarch64-gcc-cfi-fix.patch @@ -0,0 +1,26 @@ +diff -up chromium-102.0.5005.115/v8/src/execution/arm64/pointer-authentication-arm64.h.gcc-cfi-fix chromium-102.0.5005.115/v8/src/execution/arm64/pointer-authentication-arm64.h +--- chromium-102.0.5005.115/v8/src/execution/arm64/pointer-authentication-arm64.h.gcc-cfi-fix 2022-06-14 16:34:21.710049421 -0400 ++++ chromium-102.0.5005.115/v8/src/execution/arm64/pointer-authentication-arm64.h 2022-06-14 16:35:17.650427761 -0400 +@@ -47,15 +47,17 @@ V8_INLINE Address PointerAuthentication: + #ifdef USE_SIMULATOR + return Simulator::StripPAC(pc, Simulator::kInstructionPointer); + #else ++ // x30 == lr, but use 'x30' instead of 'lr' below, as GCC does not accept ++ // 'lr' in the clobbers list. + asm volatile( +- " mov x16, lr\n" +- " mov lr, %[pc]\n" ++ " mov x16, x30\n" ++ " mov x30, %[pc]\n" + " xpaclri\n" +- " mov %[pc], lr\n" +- " mov lr, x16\n" ++ " mov %[pc], x30\n" ++ " mov x30, x16\n" + : [pc] "+r"(pc) + : +- : "x16", "lr"); ++ : "x16", "x30"); + return pc; + #endif + } diff --git a/chromium.spec b/chromium.spec index 3303698..7feebf1 100644 --- a/chromium.spec +++ b/chromium.spec @@ -288,6 +288,9 @@ Patch61: chromium-102-swiftshader-template-instantiation.patch # https://github.com/stha09/chromium-patches/blob/master/chromium-102-symboliz... Patch62: chromium-102-symbolize-include.patch
+# https://github.com/v8/v8/commit/2ed27bba6a881a152887f3ab1008e989fce617e3 +Patch63: chromium-102.0.5005.115-v8-aarch64-gcc-cfi-fix.patch + # Extra CXXFLAGS for aarch64 Patch64: chromium-91.0.4472.77-aarch64-cxxflags-addition.patch # Fix issue where closure_compiler thinks java is only allowed in android builds @@ -1005,6 +1008,7 @@ udev. %patch60 -p1 -b .regex_pattern-array %patch61 -p1 -b .swiftshader-template-instantiation %patch62 -p1 -b .symbolize-include +%patch63 -p1 -b .gcc-cfi-fix %patch64 -p1 -b .aarch64-cxxflags-addition %patch65 -p1 -b .java-only-allowed %patch67 -p1 -b .remoting-cstring
commit 5d6968f9db9374f64034c82f23a235560ad43736 Author: Tom spot Callaway spot@fedoraproject.org Date: Mon Jun 13 10:10:16 2022 -0400
disable gnome-keyring on epel9
diff --git a/chromium.spec b/chromium.spec index d84cc51..3303698 100644 --- a/chromium.spec +++ b/chromium.spec @@ -619,7 +619,8 @@ BuildRequires: speech-dispatcher-devel BuildRequires: yasm BuildRequires: zlib-devel # Technically, this logic probably applies to older rhel too... but whatever. -%if 0%{?fedora} || 0%{?rhel} == 7 || 0%{?rhel} >= 9 +# RHEL 8 and 9 do not have gnome-keyring. Not sure why, but whatever again. +%if 0%{?fedora} || 0%{?rhel} == 7 BuildRequires: pkgconfig(gnome-keyring-1) %endif # remote desktop needs this @@ -1052,7 +1053,7 @@ udev. %patch205 -p1 -b .vaapi-intel-fix %endif
-%if 0%{?rhel} == 8 +%if 0%{?rhel} >= 8 %patch300 -p1 -b .disblegnomekeyring %endif
arch-excludes@lists.fedoraproject.org