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=3ee798bef...
https://src.fedoraproject.org/cgit/rpms/chromium.git/commit/?id=effc42ab0....
Change:
-%ifarch aarch64
+%ifarch aarch64
Thanks.
Full change:
============
commit 6b11f13d37c55513beb8970a7582815292bde526
Author: Tom spot Callaway <spot(a)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/c3213f8779ddc427e89d982514185...
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(a)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(a)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(a)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-symbo...
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(a)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