robert pushed to rpms/unrealircd (f36). "Upgrade to 6.0.5 (#2151482)"
by notificationsï¼ fedoraproject.org
Notification time stamped 2022-12-31 13:16:30 UTC
From 08c2584a295f6d8f941648bac5226a45316b6ed0 Mon Sep 17 00:00:00 2001
From: Robert Scheck <robert(a)fedoraproject.org>
Date: Dec 31 2022 13:15:30 +0000
Subject: Upgrade to 6.0.5 (#2151482)
---
diff --git a/sources b/sources
index 4cce6bc..411002f 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
SHA512 (gpgkey-1D2D2B03A0B68ED11D68A24BA7A21B0A108FF4A9.gpg) = b17e72bc242e606fc660a851676317326ea0a1f3b501cf199a6f59edd999444b957bd52a359e3aa6ceb6c54cba4001e1b94116793c3e0c815eb03df139e1239d
-SHA512 (unrealircd-6.0.4.2.tar.gz) = 2677834660f9e6123ddf5121d9a46908f6071070cc9da085884d6c6ccec9fefc5429effa2890527a1e162984f1c5cd57bcd9cd488e8713613af84fb6d507207d
-SHA512 (unrealircd-6.0.4.2.tar.gz.asc) = 3bbad079c486bd072694f246306094a5cdfc7648f49a9ec40743453bec78173454667243a05870a8a19320b31843dfcd15d962d04758cf97cccd8854dbfdfea4
+SHA512 (unrealircd-6.0.5.tar.gz) = bd3ee8db0646dd6d80df097157363506ace195d3590c82103309d78688ec39ac26384e871491e7c0884c905af478254caf168b99db3703f1c02073ad9dc2b6dc
+SHA512 (unrealircd-6.0.5.tar.gz.asc) = e376053bb6b61c24afd47f1ca4a0c671980b7a376b8655924281a1137650b3b875df7cb1d7161d9b6318f821117ac471955ddb1348425b3befce670a8f2769c9
diff --git a/unrealircd-6.0.1.1-geoip.patch b/unrealircd-6.0.1.1-geoip.patch
deleted file mode 100644
index aceb969..0000000
--- a/unrealircd-6.0.1.1-geoip.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-Nasty hack by Robert Scheck <robert(a)fedoraproject.org> for UnrealIRCd >= 6.0.1.1 which disables all
-default upstream GeoIP functionalities in UnrealIRCd, because:
-
-As of writing, the origin of the two GeoIP Legacy databases provided by UnrealIRCd upstream is, at
-least to me as packager, unknown. MaxMind retired and removed the (free) GeoLite Legacy databases
-already in April 2018. The (free) GeoLite2 databases (to be used with libmaxminddb) are maintained
-by MaxMind, but due to legal implications these GeoLite2 databases are no longer available under
-the Creative Commons Attribution-ShareAlike 4.0 International License (since December 2019). While
-the (free) GeoLite2 databases can be still downloaded without charges, it's necessary to register a
-MaxMind account and to obtain a license key. Additionally, an end-user license agreement containing
-the relevant data processing provisions that MaxMind and the user/admin (= you) need to comply with
-applicable data privacy regulations needs to be signed (https://www.maxmind.com/en/geolite2/eula).
-Technically it's indeed possible for UnrealIRCd upstream to keep the GeoIP Legacy databases up-to-
-date using other sources themself, however:
-
-UnrealIRCd upstream unfortunately prefers to use the legacy (and near to end of life) library GeoIP
-aka libgeoip (https://github.com/maxmind/geoip-api-c/) rather its successor, the GeoIP2 library aka
-libmaxminddb (https://github.com/maxmind/libmaxminddb) by default.
-
-See also:
- - https://www.unrealircd.org/docs/GeoIP (for the different options and the configuration itself)
- - https://blog.maxmind.com/2020/06/01/retirement-of-geoip-legacy-downloadab...
- - https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-...
-
---- unrealircd-6.0.1.1/doc/conf/modules.default.conf 2021-12-29 19:33:50.000000000 +0100
-+++ unrealircd-6.0.1.1/doc/conf/modules.default.conf.geoip 2021-12-31 03:04:25.592988734 +0100
-@@ -203,7 +203,7 @@
- loadmodule "extbans/timedban"; /* +b ~time (old ~t mode, timed bans / temporary bans) */
- loadmodule "extbans/partmsg"; /* +b ~partmsg (old ~p mode, hide part/quit message) */
- loadmodule "extbans/securitygroup"; /* +b ~security-group (old ~G mode, security group) */
--loadmodule "extbans/country"; /* +b ~country (country/geoip) */
-+// loadmodule "extbans/country"; /* +b ~country (country/geoip) */ /* Disabled by Fedora intentionally, please read the end of this file */
-
-
- /** IRCv3 extensions */
-@@ -250,9 +250,33 @@
- loadmodule "json-log-tag"; /* unrealircd.org/json-log tag and CAP for ircops */
- loadmodule "targetfloodprot"; /* set::anti-flood::target-flood protection */
- loadmodule "watch-backend"; /* used by watch and other modules */
--loadmodule "geoip_base"; /* needed for ALL geoip functions */
-+// loadmodule "geoip_base"; /* needed for ALL geoip functions */ /* Disabled by Fedora intentionally, please read the end of this file */
-
--loadmodule "geoip_classic";
-+/* As of writing, the origin of the two GeoIP Legacy databases provided by UnrealIRCd upstream is, at
-+ * least to me as packager, unknown. MaxMind retired and removed the (free) GeoLite Legacy databases
-+ * already in April 2018. The (free) GeoLite2 databases (to be used with libmaxminddb) are maintained
-+ * by MaxMind, but due to legal implications these GeoLite2 databases are no longer available under
-+ * the Creative Commons Attribution-ShareAlike 4.0 International License (since December 2019). While
-+ * the (free) GeoLite2 databases can be still downloaded without charges, it's necessary to register a
-+ * MaxMind account and to obtain a license key. Additionally, an end-user license agreement containing
-+ * the relevant data processing provisions that MaxMind and the user/admin (= you) need to comply with
-+ * applicable data privacy regulations needs to be signed (https://www.maxmind.com/en/geolite2/eula).
-+ * Technically it's indeed possible for UnrealIRCd upstream to keep the GeoIP Legacy databases up-to-
-+ * date using other sources themself, however:
-+ *
-+ * UnrealIRCd upstream unfortunately prefers to use the legacy (and near to end of life) GeoIP library
-+ * aka libgeoip (https://github.com/maxmind/geoip-api-c/) rather its successor, the GeoIP2 library aka
-+ * libmaxminddb (https://github.com/maxmind/libmaxminddb) by default.
-+ *
-+ * See also:
-+ * - https://www.unrealircd.org/docs/GeoIP (for the different options and the configuration itself)
-+ * - https://blog.maxmind.com/2020/06/01/retirement-of-geoip-legacy-downloadab...
-+ * - https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-...
-+ */
-+
-+// loadmodule "geoip_classic"; /* Disabled by Fedora intentionally, requires the legacy (and near to end of life) GeoIP library */
-+// loadmodule "geoip_csv"; /* Requires a suitable CSV file and a manual configuration (including a database update mechanism) */
-+// loadmodule "geoip_maxmind"; /* Requires unrealircd-maxmind RPM to be installed, GeoLite2 databases and a manual configuration (including a database update mechanism) */
- @if module-loaded("geoip_classic")
- set {
- geoip-classic {
diff --git a/unrealircd-6.0.5-geoip.patch b/unrealircd-6.0.5-geoip.patch
new file mode 100644
index 0000000..3ff3910
--- /dev/null
+++ b/unrealircd-6.0.5-geoip.patch
@@ -0,0 +1,72 @@
+Nasty hack by Robert Scheck <robert(a)fedoraproject.org> for UnrealIRCd >= 6.0.5 which disables all
+default upstream GeoIP functionalities in UnrealIRCd, because:
+
+As of writing, the origin of the two GeoIP Legacy databases provided by UnrealIRCd upstream is, at
+least to me as packager, unknown. MaxMind retired and removed the (free) GeoLite Legacy databases
+already in April 2018. The (free) GeoLite2 databases (to be used with libmaxminddb) are maintained
+by MaxMind, but due to legal implications these GeoLite2 databases are no longer available under
+the Creative Commons Attribution-ShareAlike 4.0 International License (since December 2019). While
+the (free) GeoLite2 databases can be still downloaded without charges, it's necessary to register a
+MaxMind account and to obtain a license key. Additionally, an end-user license agreement containing
+the relevant data processing provisions that MaxMind and the user/admin (= you) need to comply with
+applicable data privacy regulations needs to be signed (https://www.maxmind.com/en/geolite2/eula).
+Technically it's indeed possible for UnrealIRCd upstream to keep the GeoIP Legacy databases up-to-
+date using other sources themself, however:
+
+UnrealIRCd upstream unfortunately prefers to use the legacy (and near to end of life) library GeoIP
+aka libgeoip (https://github.com/maxmind/geoip-api-c/) rather its successor, the GeoIP2 library aka
+libmaxminddb (https://github.com/maxmind/libmaxminddb) by default.
+
+See also:
+ - https://www.unrealircd.org/docs/GeoIP (for the different options and the configuration itself)
+ - https://blog.maxmind.com/2020/06/01/retirement-of-geoip-legacy-downloadab...
+ - https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-...
+
+--- unrealircd-6.0.5/doc/conf/modules.default.conf 2022-12-29 10:23:56.000000000 +0100
++++ unrealircd-6.0.5/doc/conf/modules.default.conf.geoip 2022-12-31 13:55:58.158303865 +0100
+@@ -207,7 +207,7 @@
+ loadmodule "extbans/timedban"; /* +b ~time (old ~t mode, timed bans / temporary bans) */
+ loadmodule "extbans/partmsg"; /* +b ~partmsg (old ~p mode, hide part/quit message) */
+ loadmodule "extbans/securitygroup"; /* +b ~security-group (old ~G mode, security group) */
+-loadmodule "extbans/country"; /* +b ~country (country/geoip) */
++// loadmodule "extbans/country"; /* +b ~country (country/geoip) */ /* Disabled by Fedora intentionally, please read the end of this file */
+
+
+ /** IRCv3 extensions */
+@@ -258,10 +258,34 @@
+ loadmodule "json-log-tag"; /* unrealircd.org/json-log tag and CAP for ircops */
+ loadmodule "targetfloodprot"; /* set::anti-flood::target-flood protection */
+ loadmodule "watch-backend"; /* used by watch and other modules */
+-loadmodule "geoip_base"; /* needed for ALL geoip functions */
++// loadmodule "geoip_base"; /* needed for ALL geoip functions */ /* Disabled by Fedora intentionally, please read the end of this file */
+ loadmodule "websocket_common"; /* helper functions for websocket (internal) */
+
+-loadmodule "geoip_classic";
++/* As of writing, the origin of the two GeoIP Legacy databases provided by UnrealIRCd upstream is, at
++ * least to me as packager, unknown. MaxMind retired and removed the (free) GeoLite Legacy databases
++ * already in April 2018. The (free) GeoLite2 databases (to be used with libmaxminddb) are maintained
++ * by MaxMind, but due to legal implications these GeoLite2 databases are no longer available under
++ * the Creative Commons Attribution-ShareAlike 4.0 International License (since December 2019). While
++ * the (free) GeoLite2 databases can be still downloaded without charges, it's necessary to register a
++ * MaxMind account and to obtain a license key. Additionally, an end-user license agreement containing
++ * the relevant data processing provisions that MaxMind and the user/admin (= you) need to comply with
++ * applicable data privacy regulations needs to be signed (https://www.maxmind.com/en/geolite2/eula).
++ * Technically it's indeed possible for UnrealIRCd upstream to keep the GeoIP Legacy databases up-to-
++ * date using other sources themself, however:
++ *
++ * UnrealIRCd upstream unfortunately prefers to use the legacy (and near to end of life) GeoIP library
++ * aka libgeoip (https://github.com/maxmind/geoip-api-c/) rather its successor, the GeoIP2 library aka
++ * libmaxminddb (https://github.com/maxmind/libmaxminddb) by default.
++ *
++ * See also:
++ * - https://www.unrealircd.org/docs/GeoIP (for the different options and the configuration itself)
++ * - https://blog.maxmind.com/2020/06/01/retirement-of-geoip-legacy-downloadab...
++ * - https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-...
++ */
++
++// loadmodule "geoip_classic"; /* Disabled by Fedora intentionally, requires the legacy (and near to end of life) GeoIP library */
++// loadmodule "geoip_csv"; /* Requires a suitable CSV file and a manual configuration (including a database update mechanism) */
++// loadmodule "geoip_maxmind"; /* Requires unrealircd-maxmind RPM to be installed, GeoLite2 databases and a manual configuration (including a database update mechanism) */
+ @if module-loaded("geoip_classic")
+ set {
+ geoip-classic {
diff --git a/unrealircd.spec b/unrealircd.spec
index 5e0c2e4..44a485b 100644
--- a/unrealircd.spec
+++ b/unrealircd.spec
@@ -5,7 +5,7 @@
Summary: Open Source IRC server
Name: unrealircd
-Version: 6.0.4.2
+Version: 6.0.5
Release: 1%{?dist}
# UnrealIRCd declares itself as GPL-2.0-or-later as it's the common denominator for
# a GPL-1.0-or-later and GPL-2.0-or-later mixture, breakdown of other source codes:
@@ -24,7 +24,7 @@ Source5: %{name}.sysusersd
# Apply Fedora system-wide crypto policy
Patch0: unrealircd-6.0.4-crypto-policy.patch
# Disable GeoIP to avoid dependency to legacy GeoIP
-Patch1: unrealircd-6.0.1.1-geoip.patch
+Patch1: unrealircd-6.0.5-geoip.patch
# Same options like in unrealircd(ctl) shell script
Patch2: unrealircd-6.0.3-unrealircdctl.patch
BuildRequires: gnupg2
@@ -36,11 +36,7 @@ BuildRequires: openssl-devel
%else
BuildRequires: openssl11-devel
%endif
-%if 0%{?fedora} || 0%{?rhel} > 8
-BuildRequires: pcre2-devel >= 10.34
-%else
BuildRequires: pcre2-devel >= 10.00
-%endif
BuildRequires: libargon2-devel >= 20161029
BuildRequires: libsodium-devel >= 1.0.16
BuildRequires: c-ares-devel >= 1.6.0
@@ -226,6 +222,9 @@ fi
%endif
%changelog
+* Sat Dec 31 2022 Robert Scheck <robert(a)fedoraproject.org> 6.0.5-1
+- Upgrade to 6.0.5 (#2151482)
+
* Sat Nov 19 2022 Robert Scheck <robert(a)fedoraproject.org> 6.0.4.2-1
- Upgrade to 6.0.4.2 (#2143921)
https://src.fedoraproject.org/rpms/unrealircd/c/08c2584a295f6d8f941648bac...
1Â year, 4Â months
robert pushed to rpms/unrealircd (f37). "Upgrade to 6.0.5 (#2151482)"
by notificationsï¼ fedoraproject.org
Notification time stamped 2022-12-31 13:16:10 UTC
From 08c2584a295f6d8f941648bac5226a45316b6ed0 Mon Sep 17 00:00:00 2001
From: Robert Scheck <robert(a)fedoraproject.org>
Date: Dec 31 2022 13:15:30 +0000
Subject: Upgrade to 6.0.5 (#2151482)
---
diff --git a/sources b/sources
index 4cce6bc..411002f 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
SHA512 (gpgkey-1D2D2B03A0B68ED11D68A24BA7A21B0A108FF4A9.gpg) = b17e72bc242e606fc660a851676317326ea0a1f3b501cf199a6f59edd999444b957bd52a359e3aa6ceb6c54cba4001e1b94116793c3e0c815eb03df139e1239d
-SHA512 (unrealircd-6.0.4.2.tar.gz) = 2677834660f9e6123ddf5121d9a46908f6071070cc9da085884d6c6ccec9fefc5429effa2890527a1e162984f1c5cd57bcd9cd488e8713613af84fb6d507207d
-SHA512 (unrealircd-6.0.4.2.tar.gz.asc) = 3bbad079c486bd072694f246306094a5cdfc7648f49a9ec40743453bec78173454667243a05870a8a19320b31843dfcd15d962d04758cf97cccd8854dbfdfea4
+SHA512 (unrealircd-6.0.5.tar.gz) = bd3ee8db0646dd6d80df097157363506ace195d3590c82103309d78688ec39ac26384e871491e7c0884c905af478254caf168b99db3703f1c02073ad9dc2b6dc
+SHA512 (unrealircd-6.0.5.tar.gz.asc) = e376053bb6b61c24afd47f1ca4a0c671980b7a376b8655924281a1137650b3b875df7cb1d7161d9b6318f821117ac471955ddb1348425b3befce670a8f2769c9
diff --git a/unrealircd-6.0.1.1-geoip.patch b/unrealircd-6.0.1.1-geoip.patch
deleted file mode 100644
index aceb969..0000000
--- a/unrealircd-6.0.1.1-geoip.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-Nasty hack by Robert Scheck <robert(a)fedoraproject.org> for UnrealIRCd >= 6.0.1.1 which disables all
-default upstream GeoIP functionalities in UnrealIRCd, because:
-
-As of writing, the origin of the two GeoIP Legacy databases provided by UnrealIRCd upstream is, at
-least to me as packager, unknown. MaxMind retired and removed the (free) GeoLite Legacy databases
-already in April 2018. The (free) GeoLite2 databases (to be used with libmaxminddb) are maintained
-by MaxMind, but due to legal implications these GeoLite2 databases are no longer available under
-the Creative Commons Attribution-ShareAlike 4.0 International License (since December 2019). While
-the (free) GeoLite2 databases can be still downloaded without charges, it's necessary to register a
-MaxMind account and to obtain a license key. Additionally, an end-user license agreement containing
-the relevant data processing provisions that MaxMind and the user/admin (= you) need to comply with
-applicable data privacy regulations needs to be signed (https://www.maxmind.com/en/geolite2/eula).
-Technically it's indeed possible for UnrealIRCd upstream to keep the GeoIP Legacy databases up-to-
-date using other sources themself, however:
-
-UnrealIRCd upstream unfortunately prefers to use the legacy (and near to end of life) library GeoIP
-aka libgeoip (https://github.com/maxmind/geoip-api-c/) rather its successor, the GeoIP2 library aka
-libmaxminddb (https://github.com/maxmind/libmaxminddb) by default.
-
-See also:
- - https://www.unrealircd.org/docs/GeoIP (for the different options and the configuration itself)
- - https://blog.maxmind.com/2020/06/01/retirement-of-geoip-legacy-downloadab...
- - https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-...
-
---- unrealircd-6.0.1.1/doc/conf/modules.default.conf 2021-12-29 19:33:50.000000000 +0100
-+++ unrealircd-6.0.1.1/doc/conf/modules.default.conf.geoip 2021-12-31 03:04:25.592988734 +0100
-@@ -203,7 +203,7 @@
- loadmodule "extbans/timedban"; /* +b ~time (old ~t mode, timed bans / temporary bans) */
- loadmodule "extbans/partmsg"; /* +b ~partmsg (old ~p mode, hide part/quit message) */
- loadmodule "extbans/securitygroup"; /* +b ~security-group (old ~G mode, security group) */
--loadmodule "extbans/country"; /* +b ~country (country/geoip) */
-+// loadmodule "extbans/country"; /* +b ~country (country/geoip) */ /* Disabled by Fedora intentionally, please read the end of this file */
-
-
- /** IRCv3 extensions */
-@@ -250,9 +250,33 @@
- loadmodule "json-log-tag"; /* unrealircd.org/json-log tag and CAP for ircops */
- loadmodule "targetfloodprot"; /* set::anti-flood::target-flood protection */
- loadmodule "watch-backend"; /* used by watch and other modules */
--loadmodule "geoip_base"; /* needed for ALL geoip functions */
-+// loadmodule "geoip_base"; /* needed for ALL geoip functions */ /* Disabled by Fedora intentionally, please read the end of this file */
-
--loadmodule "geoip_classic";
-+/* As of writing, the origin of the two GeoIP Legacy databases provided by UnrealIRCd upstream is, at
-+ * least to me as packager, unknown. MaxMind retired and removed the (free) GeoLite Legacy databases
-+ * already in April 2018. The (free) GeoLite2 databases (to be used with libmaxminddb) are maintained
-+ * by MaxMind, but due to legal implications these GeoLite2 databases are no longer available under
-+ * the Creative Commons Attribution-ShareAlike 4.0 International License (since December 2019). While
-+ * the (free) GeoLite2 databases can be still downloaded without charges, it's necessary to register a
-+ * MaxMind account and to obtain a license key. Additionally, an end-user license agreement containing
-+ * the relevant data processing provisions that MaxMind and the user/admin (= you) need to comply with
-+ * applicable data privacy regulations needs to be signed (https://www.maxmind.com/en/geolite2/eula).
-+ * Technically it's indeed possible for UnrealIRCd upstream to keep the GeoIP Legacy databases up-to-
-+ * date using other sources themself, however:
-+ *
-+ * UnrealIRCd upstream unfortunately prefers to use the legacy (and near to end of life) GeoIP library
-+ * aka libgeoip (https://github.com/maxmind/geoip-api-c/) rather its successor, the GeoIP2 library aka
-+ * libmaxminddb (https://github.com/maxmind/libmaxminddb) by default.
-+ *
-+ * See also:
-+ * - https://www.unrealircd.org/docs/GeoIP (for the different options and the configuration itself)
-+ * - https://blog.maxmind.com/2020/06/01/retirement-of-geoip-legacy-downloadab...
-+ * - https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-...
-+ */
-+
-+// loadmodule "geoip_classic"; /* Disabled by Fedora intentionally, requires the legacy (and near to end of life) GeoIP library */
-+// loadmodule "geoip_csv"; /* Requires a suitable CSV file and a manual configuration (including a database update mechanism) */
-+// loadmodule "geoip_maxmind"; /* Requires unrealircd-maxmind RPM to be installed, GeoLite2 databases and a manual configuration (including a database update mechanism) */
- @if module-loaded("geoip_classic")
- set {
- geoip-classic {
diff --git a/unrealircd-6.0.5-geoip.patch b/unrealircd-6.0.5-geoip.patch
new file mode 100644
index 0000000..3ff3910
--- /dev/null
+++ b/unrealircd-6.0.5-geoip.patch
@@ -0,0 +1,72 @@
+Nasty hack by Robert Scheck <robert(a)fedoraproject.org> for UnrealIRCd >= 6.0.5 which disables all
+default upstream GeoIP functionalities in UnrealIRCd, because:
+
+As of writing, the origin of the two GeoIP Legacy databases provided by UnrealIRCd upstream is, at
+least to me as packager, unknown. MaxMind retired and removed the (free) GeoLite Legacy databases
+already in April 2018. The (free) GeoLite2 databases (to be used with libmaxminddb) are maintained
+by MaxMind, but due to legal implications these GeoLite2 databases are no longer available under
+the Creative Commons Attribution-ShareAlike 4.0 International License (since December 2019). While
+the (free) GeoLite2 databases can be still downloaded without charges, it's necessary to register a
+MaxMind account and to obtain a license key. Additionally, an end-user license agreement containing
+the relevant data processing provisions that MaxMind and the user/admin (= you) need to comply with
+applicable data privacy regulations needs to be signed (https://www.maxmind.com/en/geolite2/eula).
+Technically it's indeed possible for UnrealIRCd upstream to keep the GeoIP Legacy databases up-to-
+date using other sources themself, however:
+
+UnrealIRCd upstream unfortunately prefers to use the legacy (and near to end of life) library GeoIP
+aka libgeoip (https://github.com/maxmind/geoip-api-c/) rather its successor, the GeoIP2 library aka
+libmaxminddb (https://github.com/maxmind/libmaxminddb) by default.
+
+See also:
+ - https://www.unrealircd.org/docs/GeoIP (for the different options and the configuration itself)
+ - https://blog.maxmind.com/2020/06/01/retirement-of-geoip-legacy-downloadab...
+ - https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-...
+
+--- unrealircd-6.0.5/doc/conf/modules.default.conf 2022-12-29 10:23:56.000000000 +0100
++++ unrealircd-6.0.5/doc/conf/modules.default.conf.geoip 2022-12-31 13:55:58.158303865 +0100
+@@ -207,7 +207,7 @@
+ loadmodule "extbans/timedban"; /* +b ~time (old ~t mode, timed bans / temporary bans) */
+ loadmodule "extbans/partmsg"; /* +b ~partmsg (old ~p mode, hide part/quit message) */
+ loadmodule "extbans/securitygroup"; /* +b ~security-group (old ~G mode, security group) */
+-loadmodule "extbans/country"; /* +b ~country (country/geoip) */
++// loadmodule "extbans/country"; /* +b ~country (country/geoip) */ /* Disabled by Fedora intentionally, please read the end of this file */
+
+
+ /** IRCv3 extensions */
+@@ -258,10 +258,34 @@
+ loadmodule "json-log-tag"; /* unrealircd.org/json-log tag and CAP for ircops */
+ loadmodule "targetfloodprot"; /* set::anti-flood::target-flood protection */
+ loadmodule "watch-backend"; /* used by watch and other modules */
+-loadmodule "geoip_base"; /* needed for ALL geoip functions */
++// loadmodule "geoip_base"; /* needed for ALL geoip functions */ /* Disabled by Fedora intentionally, please read the end of this file */
+ loadmodule "websocket_common"; /* helper functions for websocket (internal) */
+
+-loadmodule "geoip_classic";
++/* As of writing, the origin of the two GeoIP Legacy databases provided by UnrealIRCd upstream is, at
++ * least to me as packager, unknown. MaxMind retired and removed the (free) GeoLite Legacy databases
++ * already in April 2018. The (free) GeoLite2 databases (to be used with libmaxminddb) are maintained
++ * by MaxMind, but due to legal implications these GeoLite2 databases are no longer available under
++ * the Creative Commons Attribution-ShareAlike 4.0 International License (since December 2019). While
++ * the (free) GeoLite2 databases can be still downloaded without charges, it's necessary to register a
++ * MaxMind account and to obtain a license key. Additionally, an end-user license agreement containing
++ * the relevant data processing provisions that MaxMind and the user/admin (= you) need to comply with
++ * applicable data privacy regulations needs to be signed (https://www.maxmind.com/en/geolite2/eula).
++ * Technically it's indeed possible for UnrealIRCd upstream to keep the GeoIP Legacy databases up-to-
++ * date using other sources themself, however:
++ *
++ * UnrealIRCd upstream unfortunately prefers to use the legacy (and near to end of life) GeoIP library
++ * aka libgeoip (https://github.com/maxmind/geoip-api-c/) rather its successor, the GeoIP2 library aka
++ * libmaxminddb (https://github.com/maxmind/libmaxminddb) by default.
++ *
++ * See also:
++ * - https://www.unrealircd.org/docs/GeoIP (for the different options and the configuration itself)
++ * - https://blog.maxmind.com/2020/06/01/retirement-of-geoip-legacy-downloadab...
++ * - https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-...
++ */
++
++// loadmodule "geoip_classic"; /* Disabled by Fedora intentionally, requires the legacy (and near to end of life) GeoIP library */
++// loadmodule "geoip_csv"; /* Requires a suitable CSV file and a manual configuration (including a database update mechanism) */
++// loadmodule "geoip_maxmind"; /* Requires unrealircd-maxmind RPM to be installed, GeoLite2 databases and a manual configuration (including a database update mechanism) */
+ @if module-loaded("geoip_classic")
+ set {
+ geoip-classic {
diff --git a/unrealircd.spec b/unrealircd.spec
index 5e0c2e4..44a485b 100644
--- a/unrealircd.spec
+++ b/unrealircd.spec
@@ -5,7 +5,7 @@
Summary: Open Source IRC server
Name: unrealircd
-Version: 6.0.4.2
+Version: 6.0.5
Release: 1%{?dist}
# UnrealIRCd declares itself as GPL-2.0-or-later as it's the common denominator for
# a GPL-1.0-or-later and GPL-2.0-or-later mixture, breakdown of other source codes:
@@ -24,7 +24,7 @@ Source5: %{name}.sysusersd
# Apply Fedora system-wide crypto policy
Patch0: unrealircd-6.0.4-crypto-policy.patch
# Disable GeoIP to avoid dependency to legacy GeoIP
-Patch1: unrealircd-6.0.1.1-geoip.patch
+Patch1: unrealircd-6.0.5-geoip.patch
# Same options like in unrealircd(ctl) shell script
Patch2: unrealircd-6.0.3-unrealircdctl.patch
BuildRequires: gnupg2
@@ -36,11 +36,7 @@ BuildRequires: openssl-devel
%else
BuildRequires: openssl11-devel
%endif
-%if 0%{?fedora} || 0%{?rhel} > 8
-BuildRequires: pcre2-devel >= 10.34
-%else
BuildRequires: pcre2-devel >= 10.00
-%endif
BuildRequires: libargon2-devel >= 20161029
BuildRequires: libsodium-devel >= 1.0.16
BuildRequires: c-ares-devel >= 1.6.0
@@ -226,6 +222,9 @@ fi
%endif
%changelog
+* Sat Dec 31 2022 Robert Scheck <robert(a)fedoraproject.org> 6.0.5-1
+- Upgrade to 6.0.5 (#2151482)
+
* Sat Nov 19 2022 Robert Scheck <robert(a)fedoraproject.org> 6.0.4.2-1
- Upgrade to 6.0.4.2 (#2143921)
https://src.fedoraproject.org/rpms/unrealircd/c/08c2584a295f6d8f941648bac...
1Â year, 4Â months
robert pushed to rpms/unrealircd (main). "Upgrade to 6.0.5 (#2151482)"
by notificationsï¼ fedoraproject.org
Notification time stamped 2022-12-31 13:15:46 UTC
From 08c2584a295f6d8f941648bac5226a45316b6ed0 Mon Sep 17 00:00:00 2001
From: Robert Scheck <robert(a)fedoraproject.org>
Date: Dec 31 2022 13:15:30 +0000
Subject: Upgrade to 6.0.5 (#2151482)
---
diff --git a/sources b/sources
index 4cce6bc..411002f 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
SHA512 (gpgkey-1D2D2B03A0B68ED11D68A24BA7A21B0A108FF4A9.gpg) = b17e72bc242e606fc660a851676317326ea0a1f3b501cf199a6f59edd999444b957bd52a359e3aa6ceb6c54cba4001e1b94116793c3e0c815eb03df139e1239d
-SHA512 (unrealircd-6.0.4.2.tar.gz) = 2677834660f9e6123ddf5121d9a46908f6071070cc9da085884d6c6ccec9fefc5429effa2890527a1e162984f1c5cd57bcd9cd488e8713613af84fb6d507207d
-SHA512 (unrealircd-6.0.4.2.tar.gz.asc) = 3bbad079c486bd072694f246306094a5cdfc7648f49a9ec40743453bec78173454667243a05870a8a19320b31843dfcd15d962d04758cf97cccd8854dbfdfea4
+SHA512 (unrealircd-6.0.5.tar.gz) = bd3ee8db0646dd6d80df097157363506ace195d3590c82103309d78688ec39ac26384e871491e7c0884c905af478254caf168b99db3703f1c02073ad9dc2b6dc
+SHA512 (unrealircd-6.0.5.tar.gz.asc) = e376053bb6b61c24afd47f1ca4a0c671980b7a376b8655924281a1137650b3b875df7cb1d7161d9b6318f821117ac471955ddb1348425b3befce670a8f2769c9
diff --git a/unrealircd-6.0.1.1-geoip.patch b/unrealircd-6.0.1.1-geoip.patch
deleted file mode 100644
index aceb969..0000000
--- a/unrealircd-6.0.1.1-geoip.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-Nasty hack by Robert Scheck <robert(a)fedoraproject.org> for UnrealIRCd >= 6.0.1.1 which disables all
-default upstream GeoIP functionalities in UnrealIRCd, because:
-
-As of writing, the origin of the two GeoIP Legacy databases provided by UnrealIRCd upstream is, at
-least to me as packager, unknown. MaxMind retired and removed the (free) GeoLite Legacy databases
-already in April 2018. The (free) GeoLite2 databases (to be used with libmaxminddb) are maintained
-by MaxMind, but due to legal implications these GeoLite2 databases are no longer available under
-the Creative Commons Attribution-ShareAlike 4.0 International License (since December 2019). While
-the (free) GeoLite2 databases can be still downloaded without charges, it's necessary to register a
-MaxMind account and to obtain a license key. Additionally, an end-user license agreement containing
-the relevant data processing provisions that MaxMind and the user/admin (= you) need to comply with
-applicable data privacy regulations needs to be signed (https://www.maxmind.com/en/geolite2/eula).
-Technically it's indeed possible for UnrealIRCd upstream to keep the GeoIP Legacy databases up-to-
-date using other sources themself, however:
-
-UnrealIRCd upstream unfortunately prefers to use the legacy (and near to end of life) library GeoIP
-aka libgeoip (https://github.com/maxmind/geoip-api-c/) rather its successor, the GeoIP2 library aka
-libmaxminddb (https://github.com/maxmind/libmaxminddb) by default.
-
-See also:
- - https://www.unrealircd.org/docs/GeoIP (for the different options and the configuration itself)
- - https://blog.maxmind.com/2020/06/01/retirement-of-geoip-legacy-downloadab...
- - https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-...
-
---- unrealircd-6.0.1.1/doc/conf/modules.default.conf 2021-12-29 19:33:50.000000000 +0100
-+++ unrealircd-6.0.1.1/doc/conf/modules.default.conf.geoip 2021-12-31 03:04:25.592988734 +0100
-@@ -203,7 +203,7 @@
- loadmodule "extbans/timedban"; /* +b ~time (old ~t mode, timed bans / temporary bans) */
- loadmodule "extbans/partmsg"; /* +b ~partmsg (old ~p mode, hide part/quit message) */
- loadmodule "extbans/securitygroup"; /* +b ~security-group (old ~G mode, security group) */
--loadmodule "extbans/country"; /* +b ~country (country/geoip) */
-+// loadmodule "extbans/country"; /* +b ~country (country/geoip) */ /* Disabled by Fedora intentionally, please read the end of this file */
-
-
- /** IRCv3 extensions */
-@@ -250,9 +250,33 @@
- loadmodule "json-log-tag"; /* unrealircd.org/json-log tag and CAP for ircops */
- loadmodule "targetfloodprot"; /* set::anti-flood::target-flood protection */
- loadmodule "watch-backend"; /* used by watch and other modules */
--loadmodule "geoip_base"; /* needed for ALL geoip functions */
-+// loadmodule "geoip_base"; /* needed for ALL geoip functions */ /* Disabled by Fedora intentionally, please read the end of this file */
-
--loadmodule "geoip_classic";
-+/* As of writing, the origin of the two GeoIP Legacy databases provided by UnrealIRCd upstream is, at
-+ * least to me as packager, unknown. MaxMind retired and removed the (free) GeoLite Legacy databases
-+ * already in April 2018. The (free) GeoLite2 databases (to be used with libmaxminddb) are maintained
-+ * by MaxMind, but due to legal implications these GeoLite2 databases are no longer available under
-+ * the Creative Commons Attribution-ShareAlike 4.0 International License (since December 2019). While
-+ * the (free) GeoLite2 databases can be still downloaded without charges, it's necessary to register a
-+ * MaxMind account and to obtain a license key. Additionally, an end-user license agreement containing
-+ * the relevant data processing provisions that MaxMind and the user/admin (= you) need to comply with
-+ * applicable data privacy regulations needs to be signed (https://www.maxmind.com/en/geolite2/eula).
-+ * Technically it's indeed possible for UnrealIRCd upstream to keep the GeoIP Legacy databases up-to-
-+ * date using other sources themself, however:
-+ *
-+ * UnrealIRCd upstream unfortunately prefers to use the legacy (and near to end of life) GeoIP library
-+ * aka libgeoip (https://github.com/maxmind/geoip-api-c/) rather its successor, the GeoIP2 library aka
-+ * libmaxminddb (https://github.com/maxmind/libmaxminddb) by default.
-+ *
-+ * See also:
-+ * - https://www.unrealircd.org/docs/GeoIP (for the different options and the configuration itself)
-+ * - https://blog.maxmind.com/2020/06/01/retirement-of-geoip-legacy-downloadab...
-+ * - https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-...
-+ */
-+
-+// loadmodule "geoip_classic"; /* Disabled by Fedora intentionally, requires the legacy (and near to end of life) GeoIP library */
-+// loadmodule "geoip_csv"; /* Requires a suitable CSV file and a manual configuration (including a database update mechanism) */
-+// loadmodule "geoip_maxmind"; /* Requires unrealircd-maxmind RPM to be installed, GeoLite2 databases and a manual configuration (including a database update mechanism) */
- @if module-loaded("geoip_classic")
- set {
- geoip-classic {
diff --git a/unrealircd-6.0.5-geoip.patch b/unrealircd-6.0.5-geoip.patch
new file mode 100644
index 0000000..3ff3910
--- /dev/null
+++ b/unrealircd-6.0.5-geoip.patch
@@ -0,0 +1,72 @@
+Nasty hack by Robert Scheck <robert(a)fedoraproject.org> for UnrealIRCd >= 6.0.5 which disables all
+default upstream GeoIP functionalities in UnrealIRCd, because:
+
+As of writing, the origin of the two GeoIP Legacy databases provided by UnrealIRCd upstream is, at
+least to me as packager, unknown. MaxMind retired and removed the (free) GeoLite Legacy databases
+already in April 2018. The (free) GeoLite2 databases (to be used with libmaxminddb) are maintained
+by MaxMind, but due to legal implications these GeoLite2 databases are no longer available under
+the Creative Commons Attribution-ShareAlike 4.0 International License (since December 2019). While
+the (free) GeoLite2 databases can be still downloaded without charges, it's necessary to register a
+MaxMind account and to obtain a license key. Additionally, an end-user license agreement containing
+the relevant data processing provisions that MaxMind and the user/admin (= you) need to comply with
+applicable data privacy regulations needs to be signed (https://www.maxmind.com/en/geolite2/eula).
+Technically it's indeed possible for UnrealIRCd upstream to keep the GeoIP Legacy databases up-to-
+date using other sources themself, however:
+
+UnrealIRCd upstream unfortunately prefers to use the legacy (and near to end of life) library GeoIP
+aka libgeoip (https://github.com/maxmind/geoip-api-c/) rather its successor, the GeoIP2 library aka
+libmaxminddb (https://github.com/maxmind/libmaxminddb) by default.
+
+See also:
+ - https://www.unrealircd.org/docs/GeoIP (for the different options and the configuration itself)
+ - https://blog.maxmind.com/2020/06/01/retirement-of-geoip-legacy-downloadab...
+ - https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-...
+
+--- unrealircd-6.0.5/doc/conf/modules.default.conf 2022-12-29 10:23:56.000000000 +0100
++++ unrealircd-6.0.5/doc/conf/modules.default.conf.geoip 2022-12-31 13:55:58.158303865 +0100
+@@ -207,7 +207,7 @@
+ loadmodule "extbans/timedban"; /* +b ~time (old ~t mode, timed bans / temporary bans) */
+ loadmodule "extbans/partmsg"; /* +b ~partmsg (old ~p mode, hide part/quit message) */
+ loadmodule "extbans/securitygroup"; /* +b ~security-group (old ~G mode, security group) */
+-loadmodule "extbans/country"; /* +b ~country (country/geoip) */
++// loadmodule "extbans/country"; /* +b ~country (country/geoip) */ /* Disabled by Fedora intentionally, please read the end of this file */
+
+
+ /** IRCv3 extensions */
+@@ -258,10 +258,34 @@
+ loadmodule "json-log-tag"; /* unrealircd.org/json-log tag and CAP for ircops */
+ loadmodule "targetfloodprot"; /* set::anti-flood::target-flood protection */
+ loadmodule "watch-backend"; /* used by watch and other modules */
+-loadmodule "geoip_base"; /* needed for ALL geoip functions */
++// loadmodule "geoip_base"; /* needed for ALL geoip functions */ /* Disabled by Fedora intentionally, please read the end of this file */
+ loadmodule "websocket_common"; /* helper functions for websocket (internal) */
+
+-loadmodule "geoip_classic";
++/* As of writing, the origin of the two GeoIP Legacy databases provided by UnrealIRCd upstream is, at
++ * least to me as packager, unknown. MaxMind retired and removed the (free) GeoLite Legacy databases
++ * already in April 2018. The (free) GeoLite2 databases (to be used with libmaxminddb) are maintained
++ * by MaxMind, but due to legal implications these GeoLite2 databases are no longer available under
++ * the Creative Commons Attribution-ShareAlike 4.0 International License (since December 2019). While
++ * the (free) GeoLite2 databases can be still downloaded without charges, it's necessary to register a
++ * MaxMind account and to obtain a license key. Additionally, an end-user license agreement containing
++ * the relevant data processing provisions that MaxMind and the user/admin (= you) need to comply with
++ * applicable data privacy regulations needs to be signed (https://www.maxmind.com/en/geolite2/eula).
++ * Technically it's indeed possible for UnrealIRCd upstream to keep the GeoIP Legacy databases up-to-
++ * date using other sources themself, however:
++ *
++ * UnrealIRCd upstream unfortunately prefers to use the legacy (and near to end of life) GeoIP library
++ * aka libgeoip (https://github.com/maxmind/geoip-api-c/) rather its successor, the GeoIP2 library aka
++ * libmaxminddb (https://github.com/maxmind/libmaxminddb) by default.
++ *
++ * See also:
++ * - https://www.unrealircd.org/docs/GeoIP (for the different options and the configuration itself)
++ * - https://blog.maxmind.com/2020/06/01/retirement-of-geoip-legacy-downloadab...
++ * - https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-...
++ */
++
++// loadmodule "geoip_classic"; /* Disabled by Fedora intentionally, requires the legacy (and near to end of life) GeoIP library */
++// loadmodule "geoip_csv"; /* Requires a suitable CSV file and a manual configuration (including a database update mechanism) */
++// loadmodule "geoip_maxmind"; /* Requires unrealircd-maxmind RPM to be installed, GeoLite2 databases and a manual configuration (including a database update mechanism) */
+ @if module-loaded("geoip_classic")
+ set {
+ geoip-classic {
diff --git a/unrealircd.spec b/unrealircd.spec
index 5e0c2e4..44a485b 100644
--- a/unrealircd.spec
+++ b/unrealircd.spec
@@ -5,7 +5,7 @@
Summary: Open Source IRC server
Name: unrealircd
-Version: 6.0.4.2
+Version: 6.0.5
Release: 1%{?dist}
# UnrealIRCd declares itself as GPL-2.0-or-later as it's the common denominator for
# a GPL-1.0-or-later and GPL-2.0-or-later mixture, breakdown of other source codes:
@@ -24,7 +24,7 @@ Source5: %{name}.sysusersd
# Apply Fedora system-wide crypto policy
Patch0: unrealircd-6.0.4-crypto-policy.patch
# Disable GeoIP to avoid dependency to legacy GeoIP
-Patch1: unrealircd-6.0.1.1-geoip.patch
+Patch1: unrealircd-6.0.5-geoip.patch
# Same options like in unrealircd(ctl) shell script
Patch2: unrealircd-6.0.3-unrealircdctl.patch
BuildRequires: gnupg2
@@ -36,11 +36,7 @@ BuildRequires: openssl-devel
%else
BuildRequires: openssl11-devel
%endif
-%if 0%{?fedora} || 0%{?rhel} > 8
-BuildRequires: pcre2-devel >= 10.34
-%else
BuildRequires: pcre2-devel >= 10.00
-%endif
BuildRequires: libargon2-devel >= 20161029
BuildRequires: libsodium-devel >= 1.0.16
BuildRequires: c-ares-devel >= 1.6.0
@@ -226,6 +222,9 @@ fi
%endif
%changelog
+* Sat Dec 31 2022 Robert Scheck <robert(a)fedoraproject.org> 6.0.5-1
+- Upgrade to 6.0.5 (#2151482)
+
* Sat Nov 19 2022 Robert Scheck <robert(a)fedoraproject.org> 6.0.4.2-1
- Upgrade to 6.0.4.2 (#2143921)
https://src.fedoraproject.org/rpms/unrealircd/c/08c2584a295f6d8f941648bac...
1Â year, 4Â months
than pushed to rpms/chromium (f37). "update to 108.0.5359.124 (..more)"
by notificationsï¼ fedoraproject.org
Notification time stamped 2022-12-31 12:59:37 UTC
From 3aaab3062e93aad413dd75b5d8f1b9bb8c296731 Mon Sep 17 00:00:00 2001
From: Than Ngo <than(a)redhat.com>
Date: Dec 28 2022 17:04:46 +0000
Subject: update to 108.0.5359.124
switch to clang
---
diff --git a/chromium-102.0.5005.115-el7-memfd-include.patch b/chromium-102.0.5005.115-el7-memfd-include.patch
deleted file mode 100644
index 8724909..0000000
--- a/chromium-102.0.5005.115-el7-memfd-include.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-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-107.0.5304.110-neon_2_sse.patch b/chromium-107.0.5304.110-neon_2_sse.patch
deleted file mode 100644
index 689d1c1..0000000
--- a/chromium-107.0.5304.110-neon_2_sse.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up iridium-browser-2022.11.107/third_party/neon_2_sse/src/NEON_2_SSE.h.me iridium-browser-2022.11.107/third_party/neon_2_sse/src/NEON_2_SSE.h
---- iridium-browser-2022.11.107/third_party/neon_2_sse/src/NEON_2_SSE.h.me 2022-11-18 22:17:57.883182823 +0100
-+++ iridium-browser-2022.11.107/third_party/neon_2_sse/src/NEON_2_SSE.h 2022-11-18 22:18:51.883143167 +0100
-@@ -2292,7 +2292,7 @@ _NEON2SSESTORAGE float64x2_t vsqrtq_f64(
- // the following macros solve the problem of the "immediate parameters requirement" for some x86 intrinsics.
- // we need it to compile the code unless the "Intrinsic parameter must be an immediate value" error is our goal
- //
--#if ( defined (__INTEL_COMPILER) || defined (__GNUC__) && !defined(__llvm__) )
-+#if ( defined (__INTEL_COMPILER) && !defined(__llvm__) )
- # define _MM_ALIGNR_EPI8 _mm_alignr_epi8
- # define _MM_EXTRACT_EPI16 (int16_t) _mm_extract_epi16
- # define _MM_INSERT_EPI16 _mm_insert_epi16
diff --git a/chromium-107.0.5304.110-wayland-fcntl.patch b/chromium-107.0.5304.110-wayland-fcntl.patch
deleted file mode 100644
index 7cd2f03..0000000
--- a/chromium-107.0.5304.110-wayland-fcntl.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -up iridium-browser-2022.11.107/third_party/wayland/src/src/wayland-shm.c.me iridium-browser-2022.11.107/third_party/wayland/src/src/wayland-shm.c
---- iridium-browser-2022.11.107/third_party/wayland/src/src/wayland-shm.c.me 2022-11-18 12:07:56.724329365 +0100
-+++ iridium-browser-2022.11.107/third_party/wayland/src/src/wayland-shm.c 2022-11-18 12:18:38.009916441 +0100
-@@ -45,6 +45,13 @@
- #include <errno.h>
- #include <fcntl.h>
-
-+#ifndef F_GET_SEALS
-+#define F_GET_SEALS 1034 /* Get seals for file. */
-+#endif
-+#ifndef F_SEAL_SHRINK
-+#define F_SEAL_SHRINK 0x0002 /* Prevent file from shrinking. */
-+#endif
-+
- #include "wayland-util.h"
- #include "wayland-private.h"
- #include "wayland-server.h"
diff --git a/chromium-108-EnumTable-crash.patch b/chromium-108-EnumTable-crash.patch
new file mode 100644
index 0000000..661ec33
--- /dev/null
+++ b/chromium-108-EnumTable-crash.patch
@@ -0,0 +1,76 @@
+diff --git a/components/media_router/common/providers/cast/channel/enum_table.h b/components/media_router/common/providers/cast/channel/enum_table.h
+index 842553a..89de703 100644
+--- a/components/media_router/common/providers/cast/channel/enum_table.h
++++ b/components/media_router/common/providers/cast/channel/enum_table.h
+@@ -8,6 +8,7 @@
+ #include <cstdint>
+ #include <cstring>
+ #include <ostream>
++#include <vector>
+
+ #include "base/check_op.h"
+ #include "base/notreached.h"
+@@ -187,7 +188,6 @@ class
+ inline constexpr GenericEnumTableEntry(int32_t value);
+ inline constexpr GenericEnumTableEntry(int32_t value, base::StringPiece str);
+
+- GenericEnumTableEntry(const GenericEnumTableEntry&) = delete;
+ GenericEnumTableEntry& operator=(const GenericEnumTableEntry&) = delete;
+
+ private:
+@@ -253,7 +253,6 @@ class EnumTable {
+ constexpr Entry(E value, base::StringPiece str)
+ : GenericEnumTableEntry(static_cast<int32_t>(value), str) {}
+
+- Entry(const Entry&) = delete;
+ Entry& operator=(const Entry&) = delete;
+ };
+
+@@ -312,15 +311,14 @@ class EnumTable {
+ if (is_sorted_) {
+ const std::size_t index = static_cast<std::size_t>(value);
+ if (ANALYZER_ASSUME_TRUE(index < data_.size())) {
+- const auto& entry = data_.begin()[index];
++ const auto& entry = data_[index];
+ if (ANALYZER_ASSUME_TRUE(entry.has_str()))
+ return entry.str();
+ }
+ return absl::nullopt;
+ }
+ return GenericEnumTableEntry::FindByValue(
+- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
+- data_.size(), static_cast<int32_t>(value));
++ &data_[0], data_.size(), static_cast<int32_t>(value));
+ }
+
+ // This overload of GetString is designed for cases where the argument is a
+@@ -348,8 +346,7 @@ class EnumTable {
+ // enum value directly.
+ absl::optional<E> GetEnum(base::StringPiece str) const {
+ auto* entry = GenericEnumTableEntry::FindByString(
+- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
+- data_.size(), str);
++ &data_[0], data_.size(), str);
+ return entry ? static_cast<E>(entry->value) : absl::optional<E>();
+ }
+
+@@ -364,7 +361,7 @@ class EnumTable {
+ // Align the data on a cache line boundary.
+ alignas(64)
+ #endif
+- std::initializer_list<Entry> data_;
++ const std::vector<Entry> data_;
+ bool is_sorted_;
+
+ constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted)
+@@ -376,8 +373,8 @@ class EnumTable {
+
+ for (std::size_t i = 0; i < data.size(); i++) {
+ for (std::size_t j = i + 1; j < data.size(); j++) {
+- const Entry& ei = data.begin()[i];
+- const Entry& ej = data.begin()[j];
++ const Entry& ei = data[i];
++ const Entry& ej = data[j];
+ DCHECK(ei.value != ej.value)
+ << "Found duplicate enum values at indices " << i << " and " << j;
+ DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str()))
diff --git a/chromium-108-el7-drop-python-importlib-metadata.patch b/chromium-108-el7-drop-python-importlib-metadata.patch
new file mode 100644
index 0000000..dbba0c6
--- /dev/null
+++ b/chromium-108-el7-drop-python-importlib-metadata.patch
@@ -0,0 +1,80 @@
+diff -up chromium-108.0.5359.124/third_party/mako/mako/mako/compat.py.drop-python-importlib-metadata chromium-108.0.5359.124/third_party/mako/mako/mako/compat.py
+--- chromium-108.0.5359.124/third_party/mako/mako/mako/compat.py.drop-python-importlib-metadata 2022-12-14 01:40:09.000000000 +0100
++++ chromium-108.0.5359.124/third_party/mako/mako/mako/compat.py 2022-12-28 14:07:33.761045114 +0100
+@@ -11,7 +11,6 @@ import sys
+
+ win32 = sys.platform.startswith("win")
+ pypy = hasattr(sys, "pypy_version_info")
+-py38 = sys.version_info >= (3, 8)
+
+ ArgSpec = collections.namedtuple(
+ "ArgSpec", ["args", "varargs", "keywords", "defaults"]
+@@ -60,17 +59,3 @@ def exception_as():
+
+ def exception_name(exc):
+ return exc.__class__.__name__
+-
+-
+-if py38:
+- from importlib import metadata as importlib_metadata
+-else:
+- import importlib_metadata # noqa
+-
+-
+-def importlib_metadata_get(group):
+- ep = importlib_metadata.entry_points()
+- if hasattr(ep, "select"):
+- return ep.select(group=group)
+- else:
+- return ep.get(group, ())
+diff -up chromium-108.0.5359.124/third_party/mako/mako/mako/util.py.drop-python-importlib-metadata chromium-108.0.5359.124/third_party/mako/mako/mako/util.py
+--- chromium-108.0.5359.124/third_party/mako/mako/mako/util.py.drop-python-importlib-metadata 2022-12-14 01:40:09.000000000 +0100
++++ chromium-108.0.5359.124/third_party/mako/mako/mako/util.py 2022-12-28 14:07:33.761045114 +0100
+@@ -11,8 +11,6 @@ import os
+ import re
+ import timeit
+
+-from .compat import importlib_metadata_get
+-
+
+ def update_wrapper(decorated, fn):
+ decorated.__wrapped__ = fn
+@@ -28,17 +26,17 @@ class PluginLoader:
+ def load(self, name):
+ if name in self.impls:
+ return self.impls[name]()
++ import pkg_resources
+
+- for impl in importlib_metadata_get(self.group):
+- if impl.name == name:
+- self.impls[name] = impl.load
+- return impl.load()
+-
+- from mako import exceptions
+-
+- raise exceptions.RuntimeException(
+- "Can't load plugin %s %s" % (self.group, name)
+- )
++ for impl in pkg_resources.iter_entry_points(self.group, name):
++ self.impls[name] = impl.load
++ return impl.load()
++ else:
++ from mako import exceptions
++
++ raise exceptions.RuntimeException(
++ "Can't load plugin %s %s" % (self.group, name)
++ )
+
+ def register(self, name, modulepath, objname):
+ def load():
+diff -up chromium-108.0.5359.124/third_party/mako/mako/setup.cfg.drop-python-importlib-metadata chromium-108.0.5359.124/third_party/mako/mako/setup.cfg
+--- chromium-108.0.5359.124/third_party/mako/mako/setup.cfg.drop-python-importlib-metadata 2022-12-28 14:07:33.761045114 +0100
++++ chromium-108.0.5359.124/third_party/mako/mako/setup.cfg 2022-12-28 15:30:47.024152133 +0100
+@@ -33,7 +33,6 @@ python_requires = >=3.7
+ zip_safe = false
+ install_requires =
+ MarkupSafe >= 0.9.2
+- importlib-metadata;python_version<"3.8"
+
+ [options.packages.find]
+ exclude =
diff --git a/chromium-108-el7-include-fcntl-memfd.patch b/chromium-108-el7-include-fcntl-memfd.patch
new file mode 100644
index 0000000..bd2925b
--- /dev/null
+++ b/chromium-108-el7-include-fcntl-memfd.patch
@@ -0,0 +1,36 @@
+diff -up chromium-108.0.5359.124/third_party/wayland/src/src/wayland-shm.c.me chromium-108.0.5359.124/third_party/wayland/src/src/wayland-shm.c
+--- chromium-108.0.5359.124/third_party/wayland/src/src/wayland-shm.c.me 2022-12-24 11:08:03.212333476 +0100
++++ chromium-108.0.5359.124/third_party/wayland/src/src/wayland-shm.c 2022-12-24 11:08:18.316606155 +0100
+@@ -44,7 +44,7 @@
+ #include <signal.h>
+ #include <pthread.h>
+ #include <errno.h>
+-#include <fcntl.h>
++#include <linux/fcntl.h>
+
+ #include "wayland-os.h"
+ #include "wayland-util.h"
+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 -up iridium-browser-2022.12.108.1/third_party/wayland/src/cursor/os-compatibility.c.me iridium-browser-2022.12.108.1/third_party/wayland/src/cursor/os-compatibility.c
+--- iridium-browser-2022.12.108.1/third_party/wayland/src/cursor/os-compatibility.c.me 2022-12-08 21:59:43.502200984 +0100
++++ iridium-browser-2022.12.108.1/third_party/wayland/src/cursor/os-compatibility.c 2022-12-08 22:13:53.375653343 +0100
+@@ -29,7 +29,8 @@
+
+ #include <sys/types.h>
+ #include <unistd.h>
+-#include <fcntl.h>
++#include <linux/fcntl.h> // for F_SEAL_SHRINK, F_ADD_SEALS, F_SEAL_SEAL
++#include <linux/memfd.h> // for MFD_CLOEXEC
+ #include <errno.h>
+ #include <signal.h>
+ #include <string.h>
diff --git a/chromium-108-el7-wayland-strndup-error.patch b/chromium-108-el7-wayland-strndup-error.patch
new file mode 100644
index 0000000..1147867
--- /dev/null
+++ b/chromium-108-el7-wayland-strndup-error.patch
@@ -0,0 +1,11 @@
+diff -up chromium-108.0.5359.124/third_party/wayland/src/src/scanner.c.me chromium-108.0.5359.124/third_party/wayland/src/src/scanner.c
+--- chromium-108.0.5359.124/third_party/wayland/src/src/scanner.c.me 2022-12-27 16:14:22.507496575 +0100
++++ chromium-108.0.5359.124/third_party/wayland/src/src/scanner.c 2022-12-27 16:35:17.617573610 +0100
+@@ -26,6 +26,7 @@
+ */
+
+ #include "wayland-version.h"
++#include "config.h" // HAVE_STRNDUP
+
+ #include <stdbool.h>
+ #include <stdio.h>
diff --git a/chromium-108-enable-WebRTCPipeWireCapturer-byDefault.patch b/chromium-108-enable-WebRTCPipeWireCapturer-byDefault.patch
new file mode 100644
index 0000000..a8bad1b
--- /dev/null
+++ b/chromium-108-enable-WebRTCPipeWireCapturer-byDefault.patch
@@ -0,0 +1,12 @@
+diff -up chromium-108.0.5359.124/content/public/common/content_features.cc.me chromium-108.0.5359.124/content/public/common/content_features.cc
+--- chromium-108.0.5359.124/content/public/common/content_features.cc.me 2022-12-24 11:02:56.417773922 +0100
++++ chromium-108.0.5359.124/content/public/common/content_features.cc 2022-12-24 11:04:41.641696681 +0100
+@@ -1479,7 +1479,7 @@ BASE_FEATURE(kRetryGetVideoCaptureDevice
+ // Wayland display server.
+ BASE_FEATURE(kWebRtcPipeWireCapturer,
+ "WebRTCPipeWireCapturer",
+- base::FEATURE_DISABLED_BY_DEFAULT);
++ base::FEATURE_ENABLED_BY_DEFAULT);
+ #endif // defined(WEBRTC_USE_PIPEWIRE)
+
+ enum class VideoCaptureServiceConfiguration {
diff --git a/chromium-108-norar.patch b/chromium-108-norar.patch
new file mode 100644
index 0000000..f226f00
--- /dev/null
+++ b/chromium-108-norar.patch
@@ -0,0 +1,93 @@
+diff -up chromium-108.0.5359.124/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-108.0.5359.124/chrome/common/safe_browsing/BUILD.gn
+--- chromium-108.0.5359.124/chrome/common/safe_browsing/BUILD.gn.nounrar 2022-12-14 01:39:45.000000000 +0100
++++ chromium-108.0.5359.124/chrome/common/safe_browsing/BUILD.gn 2022-12-24 13:15:57.877070764 +0100
+@@ -58,39 +58,6 @@ if (safe_browsing_mode == 1) {
+ public_deps = [ "//components/safe_browsing/core/common/proto:csd_proto" ]
+ }
+
+- source_set("rar_analyzer") {
+- sources = [
+- "rar_analyzer.cc",
+- "rar_analyzer.h",
+- ]
+-
+- deps = [
+- ":archive_analyzer_results",
+- ":download_type_util",
+- "//base",
+- "//base:i18n",
+- "//components/safe_browsing/content/common:file_type_policies",
+- "//components/safe_browsing/core/common",
+- "//third_party/unrar:unrar",
+- ]
+-
+- defines = [
+- "_FILE_OFFSET_BITS=64",
+- "LARGEFILE_SOURCE",
+- "RAR_SMP",
+- "SILENT",
+-
+- # The following is set to disable certain macro definitions in the unrar
+- # source code.
+- "CHROMIUM_UNRAR",
+-
+- # Disables exceptions in unrar, replaces them with process termination.
+- "UNRAR_NO_EXCEPTIONS",
+- ]
+-
+- public_deps = [ "//components/safe_browsing/core/common/proto:csd_proto" ]
+- }
+-
+ if (is_linux || is_win) {
+ source_set("document_analyzer") {
+ sources = [
+@@ -191,7 +158,6 @@ source_set("safe_browsing") {
+ ":archive_analyzer_results",
+ ":binary_feature_extractor",
+ ":download_type_util",
+- ":rar_analyzer",
+ "//components/safe_browsing/core/common",
+ "//third_party/lzma_sdk/google:seven_zip_reader",
+ ]
+diff -up chromium-108.0.5359.124/chrome/common/safe_browsing/DEPS.nounrar chromium-108.0.5359.124/chrome/common/safe_browsing/DEPS
+--- chromium-108.0.5359.124/chrome/common/safe_browsing/DEPS.nounrar 2022-12-24 12:49:52.621400599 +0100
++++ chromium-108.0.5359.124/chrome/common/safe_browsing/DEPS 2022-12-24 13:16:21.551486489 +0100
+@@ -3,7 +3,6 @@ include_rules = [
+ "+components/safe_browsing/core/common",
+ "+third_party/maldoca",
+ "+third_party/protobuf",
+- "+third_party/unrar",
+ "+third_party/zlib",
+ "+third_party/lzma_sdk/google",
+ ]
+diff -up chromium-108.0.5359.124/chrome/services/file_util/BUILD.gn.nounrar chromium-108.0.5359.124/chrome/services/file_util/BUILD.gn
+--- chromium-108.0.5359.124/chrome/services/file_util/BUILD.gn.nounrar 2022-12-14 01:39:45.000000000 +0100
++++ chromium-108.0.5359.124/chrome/services/file_util/BUILD.gn 2022-12-24 12:49:52.622400617 +0100
+@@ -60,7 +60,6 @@ source_set("file_util") {
+ deps += [
+ "//chrome/common/safe_browsing",
+ "//chrome/common/safe_browsing:archive_analyzer_results",
+- "//chrome/common/safe_browsing:rar_analyzer",
+ ]
+
+ if (is_linux || is_win) {
+diff -up chromium-108.0.5359.124/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-108.0.5359.124/chrome/services/file_util/safe_archive_analyzer.cc
+--- chromium-108.0.5359.124/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2022-12-24 12:49:52.622400617 +0100
++++ chromium-108.0.5359.124/chrome/services/file_util/safe_archive_analyzer.cc 2022-12-24 13:18:43.477966285 +0100
+@@ -45,12 +45,16 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile
+ void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file,
+ base::File temporary_file,
+ AnalyzeRarFileCallback callback) {
++#if 0
+ DCHECK(rar_file.IsValid());
+
+ safe_browsing::ArchiveAnalyzerResults results;
+ safe_browsing::rar_analyzer::AnalyzeRarFile(
+ std::move(rar_file), std::move(temporary_file), &results);
+ std::move(callback).Run(results);
++#else
++ NOTREACHED();
++#endif
+ }
+
+ void SafeArchiveAnalyzer::AnalyzeSevenZipFile(
diff --git a/chromium-108-vaapi-i686-fpermissive.patch b/chromium-108-vaapi-i686-fpermissive.patch
new file mode 100644
index 0000000..3bd9b50
--- /dev/null
+++ b/chromium-108-vaapi-i686-fpermissive.patch
@@ -0,0 +1,22 @@
+--- chromium-108.0.5359.124/media/gpu/vaapi/BUILD.gn.orig 2022-12-14 01:39:52.992482000 +0100
++++ chromium-108.0.5359.124/media/gpu/vaapi/BUILD.gn 2022-12-24 11:14:19.118033967 +0100
+@@ -14,6 +14,10 @@
+ assert(is_linux || is_chromeos)
+ assert(use_vaapi)
+
++config("vaapi_permissive") {
++ cflags = [ "-fpermissive" ]
++}
++
+ generate_stubs("libva_stubs") {
+ extra_header = "va_stub_header.fragment"
+ sigs = [ "va.sigs" ]
+@@ -138,6 +142,8 @@
+ ]
+ }
+
++ configs += [ ":vaapi_permissive" ]
++
+ if (use_vaapi_x11) {
+ deps += [ "//ui/gfx/x" ]
+ sources += [
diff --git a/chromium-53-ffmpeg-no-deprecation-errors.patch b/chromium-53-ffmpeg-no-deprecation-errors.patch
deleted file mode 100644
index d5e41e3..0000000
--- a/chromium-53-ffmpeg-no-deprecation-errors.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- chromium-60.0.3112.40/build/linux/unbundle/ffmpeg.gn.ffmpeg-deprecation 2017-06-25 13:24:47.390218631 +0200
-+++ chromium-60.0.3112.40/build/linux/unbundle/ffmpeg.gn 2017-06-25 13:32:48.528583949 +0200
-@@ -19,6 +19,12 @@
- flags = [ "USE_SYSTEM_FFMPEG=true" ]
- }
-
-+config("ffmpeg_deprecations") {
-+ if (is_linux) {
-+ cflags = [ "-Wno-error=deprecated-declarations" ]
-+ }
-+}
-+
- shim_headers("ffmpeg_shim") {
- root_path = "."
- headers = [
-@@ -33,5 +39,5 @@
- ":ffmpeg_features",
- ":ffmpeg_shim",
- ]
-- public_configs = [ ":system_ffmpeg" ]
-+ public_configs = [ ":system_ffmpeg", ":ffmpeg_deprecations" ]
- }
diff --git a/chromium-86.0.4240.75-vaapi-i686-fpermissive.patch b/chromium-86.0.4240.75-vaapi-i686-fpermissive.patch
deleted file mode 100644
index b902594..0000000
--- a/chromium-86.0.4240.75-vaapi-i686-fpermissive.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -up chromium-86.0.4240.75/media/gpu/vaapi/BUILD.gn.i686permissive chromium-86.0.4240.75/media/gpu/vaapi/BUILD.gn
---- chromium-86.0.4240.75/media/gpu/vaapi/BUILD.gn.i686permissive 2020-10-14 16:24:17.803206586 -0400
-+++ chromium-86.0.4240.75/media/gpu/vaapi/BUILD.gn 2020-10-14 16:24:59.212530721 -0400
-@@ -13,6 +13,10 @@ import("//ui/ozone/ozone.gni")
- assert(is_linux || is_chromeos)
- assert(use_vaapi)
-
-+config("vaapi_permissive") {
-+ cflags = [ "-fpermissive" ]
-+}
-+
- generate_stubs("libva_stubs") {
- extra_header = "va_stub_header.fragment"
- sigs = [ "va.sigs" ]
-@@ -121,6 +125,8 @@ source_set("vaapi") {
- ]
- }
-
-+ configs += [ ":vaapi_permissive" ]
-+
- if (use_x11) {
- deps += [ "//ui/gfx/x" ]
- sources += [
diff --git a/chromium-95.0.4638.69-norar.patch b/chromium-95.0.4638.69-norar.patch
deleted file mode 100644
index ee8c255..0000000
--- a/chromium-95.0.4638.69-norar.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-diff -up chromium-95.0.4638.69/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-95.0.4638.69/chrome/common/safe_browsing/BUILD.gn
---- chromium-95.0.4638.69/chrome/common/safe_browsing/BUILD.gn.nounrar 2021-10-28 23:07:12.000000000 -0400
-+++ chromium-95.0.4638.69/chrome/common/safe_browsing/BUILD.gn 2021-11-12 11:33:52.691346496 -0500
-@@ -58,39 +58,6 @@ if (safe_browsing_mode == 1) {
- public_deps = [ "//components/safe_browsing/core/common/proto:csd_proto" ]
- }
-
-- source_set("rar_analyzer") {
-- sources = [
-- "rar_analyzer.cc",
-- "rar_analyzer.h",
-- ]
--
-- deps = [
-- ":archive_analyzer_results",
-- ":download_type_util",
-- "//base",
-- "//base:i18n",
-- "//components/safe_browsing/content/common:file_type_policies",
-- "//components/safe_browsing/core/common",
-- "//third_party/unrar:unrar",
-- ]
--
-- defines = [
-- "_FILE_OFFSET_BITS=64",
-- "LARGEFILE_SOURCE",
-- "RAR_SMP",
-- "SILENT",
--
-- # The following is set to disable certain macro definitions in the unrar
-- # source code.
-- "CHROMIUM_UNRAR",
--
-- # Disables exceptions in unrar, replaces them with process termination.
-- "UNRAR_NO_EXCEPTIONS",
-- ]
--
-- public_deps = [ "//components/safe_browsing/core/common/proto:csd_proto" ]
-- }
--
- if (is_linux || is_win) {
- source_set("document_analyzer") {
- sources = [
-@@ -189,7 +156,6 @@ source_set("safe_browsing") {
- ":archive_analyzer_results",
- ":binary_feature_extractor",
- ":download_type_util",
-- ":rar_analyzer",
- "//components/safe_browsing/core/common",
- ]
-
-diff -up chromium-95.0.4638.69/chrome/common/safe_browsing/DEPS.nounrar chromium-95.0.4638.69/chrome/common/safe_browsing/DEPS
---- chromium-95.0.4638.69/chrome/common/safe_browsing/DEPS.nounrar 2021-11-12 11:30:02.629954310 -0500
-+++ chromium-95.0.4638.69/chrome/common/safe_browsing/DEPS 2021-11-12 11:34:16.732491978 -0500
-@@ -3,6 +3,5 @@ include_rules = [
- "+components/safe_browsing/core/common",
- "+third_party/maldoca",
- "+third_party/protobuf",
-- "+third_party/unrar",
- "+third_party/zlib",
- ]
-diff -up chromium-95.0.4638.69/chrome/services/file_util/BUILD.gn.nounrar chromium-95.0.4638.69/chrome/services/file_util/BUILD.gn
---- chromium-95.0.4638.69/chrome/services/file_util/BUILD.gn.nounrar 2021-11-12 11:30:02.629954310 -0500
-+++ chromium-95.0.4638.69/chrome/services/file_util/BUILD.gn 2021-11-12 11:36:08.277168386 -0500
-@@ -60,7 +60,6 @@ source_set("file_util") {
- deps += [
- "//chrome/common/safe_browsing",
- "//chrome/common/safe_browsing:archive_analyzer_results",
-- "//chrome/common/safe_browsing:rar_analyzer",
- ]
-
- if (is_linux || is_win) {
-diff -up chromium-95.0.4638.69/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-95.0.4638.69/chrome/services/file_util/safe_archive_analyzer.cc
---- chromium-95.0.4638.69/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2021-10-28 23:07:12.000000000 -0400
-+++ chromium-95.0.4638.69/chrome/services/file_util/safe_archive_analyzer.cc 2021-11-12 11:30:02.630954316 -0500
-@@ -45,10 +45,14 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile
- void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file,
- base::File temporary_file,
- AnalyzeRarFileCallback callback) {
-+#if 0
- DCHECK(rar_file.IsValid());
-
- safe_browsing::ArchiveAnalyzerResults results;
- safe_browsing::rar_analyzer::AnalyzeRarFile(
- std::move(rar_file), std::move(temporary_file), &results);
- std::move(callback).Run(results);
-+#else
-+ NOTREACHED();
-+#endif
- }
diff --git a/chromium-96.0.4664.110-enable-WebRTCPipeWireCapturer-byDefault.patch b/chromium-96.0.4664.110-enable-WebRTCPipeWireCapturer-byDefault.patch
deleted file mode 100644
index 9d22e71..0000000
--- a/chromium-96.0.4664.110-enable-WebRTCPipeWireCapturer-byDefault.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up chromium-96.0.4664.110/content/public/common/content_features.cc.enable-WebRTCPipeWireCapturer-byDefault chromium-96.0.4664.110/content/public/common/content_features.cc
---- chromium-96.0.4664.110/content/public/common/content_features.cc.enable-WebRTCPipeWireCapturer-byDefault 2021-12-20 11:24:28.862940185 -0500
-+++ chromium-96.0.4664.110/content/public/common/content_features.cc 2021-12-20 11:24:43.397027114 -0500
-@@ -1125,7 +1125,7 @@ const base::Feature kAuraWindowSubtreeCa
- // Controls whether the PipeWire support for screen capturing is enabled on the
- // Wayland display server.
- const base::Feature kWebRtcPipeWireCapturer{"WebRTCPipeWireCapturer",
-- base::FEATURE_DISABLED_BY_DEFAULT};
-+ base::FEATURE_ENABLED_BY_DEFAULT};
- #endif // defined(WEBRTC_USE_PIPEWIRE)
-
- enum class VideoCaptureServiceConfiguration {
diff --git a/chromium-98.0.4758.80-EnumTable-crash.patch b/chromium-98.0.4758.80-EnumTable-crash.patch
deleted file mode 100644
index 68459ba..0000000
--- a/chromium-98.0.4758.80-EnumTable-crash.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-diff -up chromium-98.0.4758.80/components/cast_channel/enum_table.h.EnumTable-crash chromium-98.0.4758.80/components/cast_channel/enum_table.h
---- chromium-98.0.4758.80/components/cast_channel/enum_table.h.EnumTable-crash 2022-02-01 00:41:47.000000000 +0000
-+++ chromium-98.0.4758.80/components/cast_channel/enum_table.h 2022-02-02 18:54:23.096214186 +0000
-@@ -8,6 +8,7 @@
- #include <cstdint>
- #include <cstring>
- #include <ostream>
-+#include <vector>
-
- #include "base/check_op.h"
- #include "base/notreached.h"
-@@ -187,7 +188,6 @@ class
- inline constexpr GenericEnumTableEntry(int32_t value);
- inline constexpr GenericEnumTableEntry(int32_t value, base::StringPiece str);
-
-- GenericEnumTableEntry(const GenericEnumTableEntry&) = delete;
- GenericEnumTableEntry& operator=(const GenericEnumTableEntry&) = delete;
-
- private:
-@@ -253,7 +253,6 @@ class EnumTable {
- constexpr Entry(E value, base::StringPiece str)
- : GenericEnumTableEntry(static_cast<int32_t>(value), str) {}
-
-- Entry(const Entry&) = delete;
- Entry& operator=(const Entry&) = delete;
- };
-
-@@ -312,15 +311,14 @@ class EnumTable {
- if (is_sorted_) {
- const std::size_t index = static_cast<std::size_t>(value);
- if (ANALYZER_ASSUME_TRUE(index < data_.size())) {
-- const auto& entry = data_.begin()[index];
-+ const auto& entry = data_[index];
- if (ANALYZER_ASSUME_TRUE(entry.has_str()))
- return entry.str();
- }
- return absl::nullopt;
- }
- return GenericEnumTableEntry::FindByValue(
-- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
-- data_.size(), static_cast<int32_t>(value));
-+ &data_[0], data_.size(), static_cast<int32_t>(value));
- }
-
- // This overload of GetString is designed for cases where the argument is a
-@@ -348,8 +346,7 @@ class EnumTable {
- // enum value directly.
- absl::optional<E> GetEnum(base::StringPiece str) const {
- auto* entry = GenericEnumTableEntry::FindByString(
-- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
-- data_.size(), str);
-+ &data_[0], data_.size(), str);
- return entry ? static_cast<E>(entry->value) : absl::optional<E>();
- }
-
-@@ -364,7 +361,7 @@ class EnumTable {
- // Align the data on a cache line boundary.
- alignas(64)
- #endif
-- std::initializer_list<Entry> data_;
-+ const std::vector<Entry> data_;
- bool is_sorted_;
-
- constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted)
-@@ -376,8 +373,8 @@ class EnumTable {
-
- for (std::size_t i = 0; i < data.size(); i++) {
- for (std::size_t j = i + 1; j < data.size(); j++) {
-- const Entry& ei = data.begin()[i];
-- const Entry& ej = data.begin()[j];
-+ const Entry& ei = data[i];
-+ const Entry& ej = data[j];
- DCHECK(ei.value != ej.value)
- << "Found duplicate enum values at indices " << i << " and " << j;
- DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str()))
diff --git a/chromium-browser.sh b/chromium-browser.sh
index b0ace53..18dfca1 100755
--- a/chromium-browser.sh
+++ b/chromium-browser.sh
@@ -55,12 +55,4 @@ if [ "$XDG_SESSION_TYPE" == "wayland" ] || [[ $WAYLAND_DISPLAY ]] ; then
CHROMIUM_DISTRO_FLAGS="--ozone-platform=wayland $CHROMIUM_DISTRO_FLAGS"
fi
-if [ -f "$HERE/PepperFlash/libpepflashplayer.so" ] && [ -f "$HERE/PepperFlash/manifest.json" ] ; then
- CHROMIUM_FLASH_VERSION=$(grep '"version":' "$HERE/PepperFlash/manifest.json" | awk -F\" '{ print $4 }')
- CHROMIUM_FLASH_FLAGS=" --ppapi-flash-path=$HERE/PepperFlash/libpepflashplayer.so \
- --ppapi-flash-version=$CHROMIUM_FLASH_VERSION"
-else
- CHROMIUM_FLASH_FLAGS=""
-fi
-
-exec -a "$0" "$HERE/@@CHROMIUM_BROWSER_CHANNEL@@" $CHROMIUM_DISTRO_FLAGS $CHROMIUM_FLASH_FLAGS "$@"
+exec -a "$0" "$HERE/@@CHROMIUM_BROWSER_CHANNEL@@" $CHROMIUM_DISTRO_FLAGS "$@"
diff --git a/chromium-gcc11.patch b/chromium-gcc11.patch
deleted file mode 100644
index 75f2299..0000000
--- a/chromium-gcc11.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-diff --git a/third_party/angle/src/libANGLE/HandleAllocator.cpp b/third_party/angle/src/libANGLE/HandleAllocator.cpp
-index 013f1dfb2..3ce63c192 100644
---- a/third_party/angle/src/libANGLE/HandleAllocator.cpp
-+++ b/third_party/angle/src/libANGLE/HandleAllocator.cpp
-@@ -9,6 +9,7 @@
-
- #include "libANGLE/HandleAllocator.h"
-
-+#include <limits>
- #include <algorithm>
- #include <functional>
-
-diff --git a/third_party/perfetto/src/trace_processor/containers/string_pool.cc b/third_party/perfetto/src/trace_processor/containers/string_pool.cc
-index fd651958f..1e8d0606c 100644
---- a/third_party/perfetto/src/trace_processor/containers/string_pool.cc
-+++ b/third_party/perfetto/src/trace_processor/containers/string_pool.cc
-@@ -14,9 +14,9 @@
- * limitations under the License.
- */
-
-+#include <limits>
- #include "src/trace_processor/containers/string_pool.h"
-
--#include <limits>
-
- #include "perfetto/base/logging.h"
- #include "perfetto/ext/base/utils.h"
-diff --git a/third_party/perfetto/src/trace_processor/db/column.cc b/third_party/perfetto/src/trace_processor/db/column.cc
-index 00496b335..0dccfeb8a 100644
---- a/third_party/perfetto/src/trace_processor/db/column.cc
-+++ b/third_party/perfetto/src/trace_processor/db/column.cc
-@@ -14,6 +14,7 @@
- * limitations under the License.
- */
-
-+#include <limits>
- #include "src/trace_processor/db/column.h"
-
- #include "src/trace_processor/db/compare.h"
-diff --git a/third_party/perfetto/src/trace_processor/types/variadic.cc b/third_party/perfetto/src/trace_processor/types/variadic.cc
-index 837bfeba9..cdd56817d 100644
---- a/third_party/perfetto/src/trace_processor/types/variadic.cc
-+++ b/third_party/perfetto/src/trace_processor/types/variadic.cc
-@@ -14,6 +14,7 @@
- * limitations under the License.
- */
-
-+#include <limits>
- #include "src/trace_processor/types/variadic.h"
-
- namespace perfetto {
-diff --git a/ui/accessibility/platform/ax_platform_atk_hyperlink.cc b/ui/accessibility/platform/ax_platform_atk_hyperlink.cc
-index be91def6b..73f202356 100644
---- a/ui/accessibility/platform/ax_platform_atk_hyperlink.cc
-+++ b/ui/accessibility/platform/ax_platform_atk_hyperlink.cc
-@@ -245,7 +245,7 @@ static void AXPlatformAtkHyperlinkInit(AXPlatformAtkHyperlink* self, gpointer) {
- }
-
- GType ax_platform_atk_hyperlink_get_type() {
-- static volatile gsize type_volatile = 0;
-+ static gsize type_volatile = 0;
-
- AXPlatformNodeAuraLinux::EnsureGTypeInit();
-
-diff --git a/ui/accessibility/platform/ax_platform_node_auralinux.cc b/ui/accessibility/platform/ax_platform_node_auralinux.cc
-index 04125c6fd..6c64e5d8e 100644
---- a/ui/accessibility/platform/ax_platform_node_auralinux.cc
-+++ b/ui/accessibility/platform/ax_platform_node_auralinux.cc
-@@ -2274,7 +2274,7 @@ void ClassInit(gpointer class_pointer, gpointer /* class_data */) {
- GType GetType() {
- AXPlatformNodeAuraLinux::EnsureGTypeInit();
-
-- static volatile gsize type_volatile = 0;
-+ static gsize type_volatile = 0;
- if (g_once_init_enter(&type_volatile)) {
- static const GTypeInfo type_info = {
- sizeof(AXPlatformNodeAuraLinuxClass), // class_size
-diff --git a/ui/gtk/gtk_key_bindings_handler.cc b/ui/gtk/gtk_key_bindings_handler.cc
-index c663a2074..38a342484 100644
---- a/ui/gtk/gtk_key_bindings_handler.cc
-+++ b/ui/gtk/gtk_key_bindings_handler.cc
-@@ -141,7 +141,7 @@ void GtkKeyBindingsHandler::HandlerClassInit(HandlerClass* klass) {
- }
-
- GType GtkKeyBindingsHandler::HandlerGetType() {
-- static volatile gsize type_id_volatile = 0;
-+ static gsize type_id_volatile = 0;
- if (g_once_init_enter(&type_id_volatile)) {
- GType type_id = g_type_register_static_simple(
- GTK_TYPE_TEXT_VIEW, g_intern_static_string("GtkKeyBindingsHandler"),
-diff --git a/chrome/browser/ui/bookmarks/bookmark_tab_helper.cc b/chrome/browser/ui/bookmarks/bookmark_tab_helper.cc
-index c0b5a805b..e6f921926 100644
---- a/chrome/browser/ui/bookmarks/bookmark_tab_helper.cc
-+++ b/chrome/browser/ui/bookmarks/bookmark_tab_helper.cc
-@@ -2,6 +2,7 @@
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
-
-+#include <cstddef>
- #include "chrome/browser/ui/bookmarks/bookmark_tab_helper.h"
-
- #include "base/observer_list.h"
-diff --git a/components/bookmarks/browser/bookmark_expanded_state_tracker.cc b/components/bookmarks/browser/bookmark_expanded_state_tracker.cc
-index 4ad2afa1f..5c4596e12 100644
---- a/components/bookmarks/browser/bookmark_expanded_state_tracker.cc
-+++ b/components/bookmarks/browser/bookmark_expanded_state_tracker.cc
-@@ -2,6 +2,7 @@
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
-
-+#include <cstddef>
- #include "components/bookmarks/browser/bookmark_expanded_state_tracker.h"
-
- #include <stdint.h>
-diff --git a/components/bookmarks/browser/base_bookmark_model_observer.cc b/components/bookmarks/browser/base_bookmark_model_observer.cc
-index 657a3c96b..ad641a082 100644
---- a/components/bookmarks/browser/base_bookmark_model_observer.cc
-+++ b/components/bookmarks/browser/base_bookmark_model_observer.cc
-@@ -2,6 +2,8 @@
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
-
-+#include <cstddef>
-+
- #include "components/bookmarks/browser/base_bookmark_model_observer.h"
-
- namespace bookmarks {
diff --git a/chromium.spec b/chromium.spec
index 5a66af1..5cacd71 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -7,7 +7,7 @@
# This flag is so I can build things very fast on a giant system.
# Enabling this in koji causes aarch64 builds to timeout indefinitely.
-%global use_all_cpus 0
+%global use_all_cpus 1
%if %{use_all_cpus}
%global numjobs %{_smp_build_ncpus}
@@ -21,7 +21,7 @@
# %2 what
%global build_target() \
export NINJA_STATUS="[%2:%f/%t] " ; \
- ../depot_tools/ninja -j %{numjobs} -C '%1' -vvv '%2'
+ ninja -j %{numjobs} -C '%1' '%2'
# This was faster when it worked, but it didn't always.
# As of chromium 80, it is no longer supported. RIP.
@@ -36,6 +36,22 @@
# This is finally possible with Chromium 93
%global build_with_python3 1
+# set nodejs_version
+%global nodejs_version v16.17.0
+
+# set version for devtoolset and gcc-toolset
+%global dts_version 12
+
+# set version for llvm-toolset on el7
+%global llvm_toolset_version 14.0
+
+# set name for toolset
+%if 0%{?rhel} == 7
+%global toolset devtoolset
+%else
+%global toolset gcc-toolset
+%endif
+
%if 0%{?build_with_python3}
%if 0%{?rhel} == 7
%global chromium_pybin /usr/bin/python3
@@ -48,14 +64,16 @@
# We'd like to always have this on...
%global use_vaapi 1
+
# ... but the libva in EL7 (and EL8) is too old.
%if 0%{?rhel} == 7 || 0%{?rhel} == 8
%global use_vaapi 0
%endif
+
# ... and EL9 doesn't ship libva-devel on aarch64?
%if 0%{?rhel} == 9
%ifarch aarch64
- %global use_vaapi 0
+ %global use_vaapi 0
%endif
%endif
@@ -65,25 +83,9 @@
%global build_clear_key_cdm 0
-# Since no one liked replacing just the media components, we do not build shared anymore.
-%global shared 0
-
-# NEVER EVER EVER turn this on in official builds
-%global freeworld 0
-%if %{freeworld}
-%global lsuffix freeworld
-%if 0%{?shared}
-%global nsuffix -libs-media-freeworld
-%else
-%global nsuffix -freeworld
-%endif
-%else
-%global lsuffix fedora
-%global nsuffix %{nil}
-%endif
-
# Disabled because of Google, starting with Chromium 88.
%global userestrictedapikeys 0
+
# We can still use the api key though. For now.
%global useapikey 1
@@ -111,31 +113,20 @@
# for i in `find . -name "*.so" | sort`; do NAME=`basename -s .so $i`; printf "$NAME|"; done
# for RHEL7, append libfontconfig to the end
# make sure there is not a trailing | at the end of the list
-
# We always filter provides. We only filter Requires when building shared.
-%global __provides_exclude_from ^(%{chromium_path}/.*\\.so|%{chromium_path}/.*\\.so.*|%{chromium_path}/lib/.*\\.so|%{chromium_path}/lib/.*\\.so.*)$
+%global __provides_exclude_from ^(%{chromium_path}/.*\\.so|%{chromium_path}/.*\\.so.*)$
+%global __requires_exclude ^(%{chromium_path}/.*\\.so|%{chromium_path}/.*\\.so.*)$
-%if 0%{?shared}
+# enable clang by default
+%global clang 1
-%if 0%{?rhel} == 7
-%global privlibs libaccessibility|libandroid_mojo_bindings_shared|libanimation|libapdu|libaura|libaura_extra|libauthenticator_test_mojo_bindings_shared|libbase|libbase_i18n|libbindings|libbindings_base|libblink_common|libblink_controller|libblink_core|libblink_embedded_frame_sink_mojo_bindings_shared|libblink_features|libblink_modules|libblink_mojom_broadcastchannel_bindings_shared|libblink_platform|libbluetooth|libboringssl|libbrowser_ui_views|libcaptive_portal|libcapture_base|libcapture_lib|libcbor|libcc|libcc_animation|libcc_base|libcc_debug|libcc_ipc|libcc_mojo_embedder|libcc_paint|libcertificate_matching|libcert_verifier|libchrome_features|libchromium_sqlite3|libclearkeycdm|libclient|libcloud_policy_proto_generated_compile|libcodec|libcolor_space|libcolor_utils|libcommon|libcompositor|libcontent|libcontent_common_mojo_bindings_shared|libcontent_public_common_mojo_bindings_shared|libcontent_service_cpp|libcontent_service_mojom|libcontent_service_mojom_shared|libcontent_settings_features|libcrash_key_lib|libcrcrypto|libcrdtp|libdbus|libdevice_base|libdevice_event_log|libdevice_features|libdevice_gamepad|libdevices|libdevice_vr|libdevice_vr_mojo_bindings|libdevice_vr_mojo_bindings_blink|libdevice_vr_mojo_bindings_shared|libdevice_vr_test_mojo_bindings|libdevice_vr_test_mojo_bindings_blink|libdevice_vr_test_mojo_bindings_shared|libdiscardable_memory_client|libdiscardable_memory_common|libdiscardable_memory_service|libdisplay|libdisplay_types|libdisplay_util|libdomain_reliability|libdom_storage_mojom|libdom_storage_mojom_shared|libEGL|libEGL|libembedder|libembedder_switches|libevents|libevents_base|libevents_devices_x11|libevents_ozone_layout|libevents_x|libextras|libffmpeg|libfido|libfingerprint|libfreetype_harfbuzz|libgamepad_mojom|libgamepad_mojom_blink|libgamepad_mojom_shared|libgamepad_shared_typemap_traits|libgcm|libgeometry|libgeometry_skia|libgesture_detection|libgfx|libgfx_ipc|libgfx_ipc_buffer_types|libgfx_ipc_color|libgfx_ipc_geometry|libgfx_ipc_skia|libgfx_switches|libgfx_x11|libgin|libgles2|libgles2_implementation|libgles2_utils|libGLESv2|libGLESv2|libgl_init|libgl_in_process_context|libgl_wrapper|libgpu|libgpu_ipc_service|libgtkui|libheadless_non_renderer|libhost|libicui18n|libicuuc|libinterfaces_shared|libipc|libipc_mojom|libipc_mojom_shared|libkeycodes_x11|libkeyed_service_content|libkeyed_service_core|liblearning_common|liblearning_impl|libleveldatabase|libleveldb_proto|libmanager|libmedia|libmedia_blink|libmedia_gpu|libmedia_learning_mojo_impl|libmedia_message_center|libmedia_mojo_services|libmedia_session_base_cpp|libmedia_session_cpp|libmedia_webrtc|libmemory_instrumentation|libmenu|libmessage_center|libmessage_support|libmetrics_cpp|libmidi|libmirroring_service|libmojo_base_lib|libmojo_base_mojom|libmojo_base_mojom_blink|libmojo_base_mojom_shared|libmojo_base_shared_typemap_traits|libmojo_core_embedder|libmojo_core_embedder_internal|libmojo_core_ports|libmojo_cpp_platform|libmojom_core_shared|libmojom_mhtml_load_result_shared|libmojom_modules_shared|libmojo_mojom_bindings|libmojo_mojom_bindings_shared|libmojom_platform_shared|libmojo_public_system|libmojo_public_system_cpp|libnative_theme|libnet|libnetwork_cpp|libnetwork_cpp_base|libnetwork_service|libnetwork_session_configurator|libonc|libos_crypt|libparsers|libpdfium|libperfetto|libperformace_manager_public_mojom|libperformace_manager_public_mojom_blink|libperformace_manager_public_mojom_shared|libplatform|libplatform_window|libplatform_window_common|libplatform_window_handler_libs|libpolicy_component|libpolicy_proto|libppapi_host|libppapi_proxy|libppapi_shared|libprefs|libprinting|libproperties|libprotobuf_lite|libproxy_config|libpublic|librange|libraster|libresource_coordinator_public_mojom|libresource_coordinator_public_mojom_blink|libresource_coordinator_public_mojom_shared|libsandbox|libsandbox_services|libscheduling_metrics|libseccomp_bpf|libsecurity_state_features|libservice|libservice_manager_cpp|libservice_manager_cpp_types|libservice_manager_mojom|libservice_manager_mojom_blink|libservice_manager_mojom_constants|libservice_manager_mojom_constants_blink|libservice_manager_mojom_constants_shared|libservice_manager_mojom_shared|libservice_manager_mojom_traits|libservice_provider|libsessions|libshared_memory_support|libshared_with_blink|libshell_dialogs|libskia|libskia_shared_typemap_traits|libsnapshot|libsql|libstartup_tracing|libstorage_browser|libstorage_common|libstorage_service_public|libstub_window|libsuid_sandbox_client|libsurface|libsystem_media_controls|libtab_count_metrics|libthread_linux|libtracing|libtracing_cpp|libtracing_mojom|libtracing_mojom_shared|libui_accessibility_ax_mojom|libui_accessibility_ax_mojom_blink|libui_accessibility_ax_mojom_shared|libui_base|libui_base_clipboard|libui_base_clipboard_types|libui_base_features|libui_base_idle|libui_base_ime|libui_base_ime_init|libui_base_ime_linux|libui_base_ime_types|libui_base_x|libui_data_pack|libui_devtools|libui_message_center_cpp|libui_touch_selection|liburl|liburl_ipc|liburl_matcher|libusb_shared|libuser_manager|libuser_prefs|libv8|libv8_libbase|libv8_libplatform|libviews|libviz_common|libviz_resource_format_utils|libviz_vulkan_context_provider|libVkICD_mock_icd|libvk_swiftshader|libvr_base|libvr_common|libvulkan_info|libvulkan_init|libvulkan_wrapper|libvulkan_x11|libvulkan_ycbcr_info|libweb_bluetooth_mojo_bindings_shared|libwebdata_common|libweb_dialogs|libweb_feature_mojo_bindings_mojom|libweb_feature_mojo_bindings_mojom_blink|libweb_feature_mojo_bindings_mojom_shared|libwebgpu|libweb_modal|libwebrtc_component|libwebview|libwm|libwm_public|libwtf|libwtf_support|libx11_events_platform|libx11_window|libzygote|libfontconfig
-%else
-%global privlibs libaccessibility|libandroid_mojo_bindings_shared|libanimation|libapdu|libaura|libaura_extra|libauthenticator_test_mojo_bindings_shared|libbase|libbase_i18n|libbindings|libbindings_base|libblink_common|libblink_controller|libblink_core|libblink_embedded_frame_sink_mojo_bindings_shared|libblink_features|libblink_modules|libblink_mojom_broadcastchannel_bindings_shared|libblink_platform|libbluetooth|libboringssl|libbrowser_ui_views|libcaptive_portal|libcapture_base|libcapture_lib|libcbor|libcc|libcc_animation|libcc_base|libcc_debug|libcc_ipc|libcc_mojo_embedder|libcc_paint|libcertificate_matching|libcert_verifier|libchrome_features|libchromium_sqlite3|libclearkeycdm|libclient|libcloud_policy_proto_generated_compile|libcodec|libcolor_space|libcolor_utils|libcommon|libcompositor|libcontent|libcontent_common_mojo_bindings_shared|libcontent_public_common_mojo_bindings_shared|libcontent_service_cpp|libcontent_service_mojom|libcontent_service_mojom_shared|libcontent_settings_features|libcrash_key_lib|libcrcrypto|libcrdtp|libdbus|libdevice_base|libdevice_event_log|libdevice_features|libdevice_gamepad|libdevices|libdevice_vr|libdevice_vr_mojo_bindings|libdevice_vr_mojo_bindings_blink|libdevice_vr_mojo_bindings_shared|libdevice_vr_test_mojo_bindings|libdevice_vr_test_mojo_bindings_blink|libdevice_vr_test_mojo_bindings_shared|libdiscardable_memory_client|libdiscardable_memory_common|libdiscardable_memory_service|libdisplay|libdisplay_types|libdisplay_util|libdomain_reliability|libdom_storage_mojom|libdom_storage_mojom_shared|libEGL|libEGL|libembedder|libembedder_switches|libevents|libevents_base|libevents_devices_x11|libevents_ozone_layout|libevents_x|libextras|libffmpeg|libfido|libfingerprint|libfreetype_harfbuzz|libgamepad_mojom|libgamepad_mojom_blink|libgamepad_mojom_shared|libgamepad_shared_typemap_traits|libgcm|libgeometry|libgeometry_skia|libgesture_detection|libgfx|libgfx_ipc|libgfx_ipc_buffer_types|libgfx_ipc_color|libgfx_ipc_geometry|libgfx_ipc_skia|libgfx_switches|libgfx_x11|libgin|libgles2|libgles2_implementation|libgles2_utils|libGLESv2|libGLESv2|libgl_init|libgl_in_process_context|libgl_wrapper|libgpu|libgpu_ipc_service|libgtkui|libheadless_non_renderer|libhost|libicui18n|libicuuc|libinterfaces_shared|libipc|libipc_mojom|libipc_mojom_shared|libkeycodes_x11|libkeyed_service_content|libkeyed_service_core|liblearning_common|liblearning_impl|libleveldatabase|libleveldb_proto|libmanager|libmedia|libmedia_blink|libmedia_gpu|libmedia_learning_mojo_impl|libmedia_message_center|libmedia_mojo_services|libmedia_session_base_cpp|libmedia_session_cpp|libmedia_webrtc|libmemory_instrumentation|libmenu|libmessage_center|libmessage_support|libmetrics_cpp|libmidi|libmirroring_service|libmojo_base_lib|libmojo_base_mojom|libmojo_base_mojom_blink|libmojo_base_mojom_shared|libmojo_base_shared_typemap_traits|libmojo_core_embedder|libmojo_core_embedder_internal|libmojo_core_ports|libmojo_cpp_platform|libmojom_core_shared|libmojom_mhtml_load_result_shared|libmojom_modules_shared|libmojo_mojom_bindings|libmojo_mojom_bindings_shared|libmojom_platform_shared|libmojo_public_system|libmojo_public_system_cpp|libnative_theme|libnet|libnetwork_cpp|libnetwork_cpp_base|libnetwork_service|libnetwork_session_configurator|libonc|libos_crypt|libparsers|libpdfium|libperfetto|libperformace_manager_public_mojom|libperformace_manager_public_mojom_blink|libperformace_manager_public_mojom_shared|libplatform|libplatform_window|libplatform_window_common|libplatform_window_handler_libs|libpolicy_component|libpolicy_proto|libppapi_host|libppapi_proxy|libppapi_shared|libprefs|libprinting|libproperties|libprotobuf_lite|libproxy_config|libpublic|librange|libraster|libresource_coordinator_public_mojom|libresource_coordinator_public_mojom_blink|libresource_coordinator_public_mojom_shared|libsandbox|libsandbox_services|libscheduling_metrics|libseccomp_bpf|libsecurity_state_features|libservice|libservice_manager_cpp|libservice_manager_cpp_types|libservice_manager_mojom|libservice_manager_mojom_blink|libservice_manager_mojom_constants|libservice_manager_mojom_constants_blink|libservice_manager_mojom_constants_shared|libservice_manager_mojom_shared|libservice_manager_mojom_traits|libservice_provider|libsessions|libshared_memory_support|libshared_with_blink|libshell_dialogs|libskia|libskia_shared_typemap_traits|libsnapshot|libsql|libstartup_tracing|libstorage_browser|libstorage_common|libstorage_service_public|libstub_window|libsuid_sandbox_client|libsurface|libsystem_media_controls|libtab_count_metrics|libthread_linux|libtracing|libtracing_cpp|libtracing_mojom|libtracing_mojom_shared|libui_accessibility_ax_mojom|libui_accessibility_ax_mojom_blink|libui_accessibility_ax_mojom_shared|libui_base|libui_base_clipboard|libui_base_clipboard_types|libui_base_features|libui_base_idle|libui_base_ime|libui_base_ime_init|libui_base_ime_linux|libui_base_ime_types|libui_base_x|libui_data_pack|libui_devtools|libui_message_center_cpp|libui_touch_selection|liburl|liburl_ipc|liburl_matcher|libusb_shared|libuser_manager|libuser_prefs|libv8|libv8_libbase|libv8_libplatform|libviews|libviz_common|libviz_resource_format_utils|libviz_vulkan_context_provider|libVkICD_mock_icd|libvk_swiftshader|libvr_base|libvr_common|libvulkan_info|libvulkan_init|libvulkan_wrapper|libvulkan_x11|libvulkan_ycbcr_info|libweb_bluetooth_mojo_bindings_shared|libwebdata_common|libweb_dialogs|libweb_feature_mojo_bindings_mojom|libweb_feature_mojo_bindings_mojom_blink|libweb_feature_mojo_bindings_mojom_shared|libwebgpu|libweb_modal|libwebrtc_component|libwebview|libwm|libwm_public|libwtf|libwtf_support|libx11_events_platform|libx11_window|libzygote
-%endif
-%global __requires_exclude ^(%{privlibs})\\.so*
-
-%endif
-
-# AddressSanitizer mode
-# https://www.chromium.org/developers/testing/addresssanitizer
-%global asan 0
-
-%global use_qt 0
+# set bundleffmpeg 0 to enable system ffmpeg-free
+%global bundleffmpeg 1
%if 0
# Chromium's fork of ICU is now something we can't unbundle.
# This is left here to ease the change if that ever switches.
-BuildRequires: libicu-devel >= 5.4
+BuildRequires: libicu-devel >= 5.4
%global bundleicu 0
%else
%global bundleicu 1
@@ -159,13 +150,13 @@ BuildRequires: libicu-devel >= 5.4
%global bundleminizip 1
%endif
-# Chromium used to break on wayland, hidpi, and colors with gtk3 enabled.
-# Hopefully it does not anymore.
+# disable qt by default
+%global use_qt 0
+
+# enable gtk3 by default
%global gtk3 1
%if 0%{?rhel} == 7 || 0%{?rhel} == 8
-%global dts_version 11
-
%global bundleopus 1
%global bundlelibusbx 1
%global bundleharfbuzz 1
@@ -222,66 +213,60 @@ BuildRequires: libicu-devel >= 5.4
%global chromoting_client_id %nil
%endif
-%global majorversion 107
-
-%if %{freeworld}
-Name: chromium%{chromium_channel}%{nsuffix}
-%else
-Name: chromium%{chromium_channel}
-%endif
-Version: %{majorversion}.0.5304.121
-Release: 1%{?dist}
-%if %{?freeworld}
-%if %{?shared}
-# chromium-libs-media-freeworld
-Summary: Chromium media libraries built with all possible codecs
-%else
-# chromium-freeworld
-Summary: A WebKit (Blink) powered web browser built with all possible codecs
-%endif
-%else
-Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use
-%endif
-Url: http://www.chromium.org/Home
-License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
+Name: chromium%{chromium_channel}
+Version: 108.0.5359.124
+Release: 1%{?dist}
+Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use
+Url: http://www.chromium.org/Home
+License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
### Chromium Fedora Patches ###
-Patch0: chromium-70.0.3538.67-sandbox-pie.patch
+Patch0: chromium-70.0.3538.67-sandbox-pie.patch
+
# Use /etc/chromium for initial_prefs
-Patch1: chromium-91.0.4472.77-initial_prefs-etc-path.patch
+Patch1: chromium-91.0.4472.77-initial_prefs-etc-path.patch
+
# Use gn system files
-Patch2: chromium-107.0.5304.110-gn-system.patch
+Patch2: chromium-107.0.5304.110-gn-system.patch
+
# Do not prefix libpng functions
-Patch3: chromium-60.0.3112.78-no-libpng-prefix.patch
+Patch3: chromium-60.0.3112.78-no-libpng-prefix.patch
+
# Do not mangle zlib
-Patch5: chromium-77.0.3865.75-no-zlib-mangle.patch
+Patch5: chromium-77.0.3865.75-no-zlib-mangle.patch
+
# Do not use unrar code, it is non-free
-Patch6: chromium-95.0.4638.69-norar.patch
+Patch6: chromium-108-norar.patch
+
# Use Gentoo's Widevine hack
# https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/...
-Patch7: chromium-71.0.3578.98-widevine-r3.patch
+Patch7: chromium-71.0.3578.98-widevine-r3.patch
+
# Try to load widevine from other places
-Patch10: chromium-100.0.4896.60-widevine-other-locations.patch
+Patch8: chromium-100.0.4896.60-widevine-other-locations.patch
+
# Tell bootstrap.py to always use the version of Python we specify
%if 0%{?build_with_python3}
-Patch11: chromium-93.0.4577.63-py3-bootstrap.patch
+Patch11: chromium-93.0.4577.63-py3-bootstrap.patch
%else
-Patch11: chromium-92.0.4515.107-py2-bootstrap.patch
+Patch11: chromium-92.0.4515.107-py2-bootstrap.patch
%endif
+
# Add "Fedora" to the user agent string
Patch12: chromium-101.0.4951.41-fedora-user-agent.patch
# Needs to be submitted..
Patch51: chromium-96.0.4664.45-gcc-remoting-constexpr.patch
+
# https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/...
Patch52: chromium-81.0.4044.92-unbundle-zlib.patch
+
# ../../third_party/perfetto/include/perfetto/base/task_runner.h:48:55: error: 'uint32_t' has not been declared
Patch56: chromium-96.0.4664.45-missing-cstdint-header.patch
+
# Missing <cstring> (thanks c++17)
Patch57: chromium-96.0.4664.45-missing-cstring.patch
-# prepare for using system ffmpeg (clean)
-# http://svnweb.mageia.org/packages/cauldron/chromium-browser-stable/curren...
-Patch58: chromium-53-ffmpeg-no-deprecation-errors.patch
+
# https://github.com/stha09/chromium-patches/blob/master/chromium-103-Virtu...
Patch59: chromium-103-VirtualCursor-std-layout.patch
@@ -297,6 +282,7 @@ Patch65: chromium-91.0.4472.77-java-only-allowed-in-android-builds.patch
# Fix missing cstring in remoting code
Patch67: chromium-98.0.4758.80-remoting-cstring.patch
+
# Apply fix_textrels hack for i686 (even without lld)
Patch68: chromium-84.0.4147.125-i686-fix_textrels.patch
@@ -311,7 +297,8 @@ Patch79: chromium-99.0.4844.51-widevine-no-download.patch
# Fix crashes with components/cast_*
# Thanks to Gentoo
-Patch80: chromium-98.0.4758.80-EnumTable-crash.patch
+Patch80: chromium-108-EnumTable-crash.patch
+
# Disable tests on remoting build
Patch82: chromium-98.0.4758.102-remoting-no-tests.patch
@@ -331,61 +318,67 @@ Patch88: chromium-105.0.5195.125-arm64-gcc-fix.patch
# Fix extra qualification error
Patch97: chromium-107.0.5304.110-remoting-extra-qualification.patch
+
# From gentoo
Patch98: chromium-94.0.4606.71-InkDropHost-crash.patch
+
# Enable WebRTCPPipeWireCapturer by default
-Patch99: chromium-96.0.4664.110-enable-WebRTCPipeWireCapturer-byDefault.patch
+Patch99: chromium-108-enable-WebRTCPipeWireCapturer-byDefault.patch
+
+# need to explicitly include a kernel header on EL7 to support MFD_CLOEXEC, F_SEAL_SHRINK, F_ADD_SEALS, F_SEAL_SEAL
+Patch100: chromium-108-el7-include-fcntl-memfd.patch
+# add define HAVE_STRNDUP on epel7
+Patch101: chromium-108-el7-wayland-strndup-error.patch
+
+# drop build dependency of python3-importlib-metadata on el7
+Patch102: chromium-108-el7-drop-python-importlib-metadata.patch
# Work around old and missing headers on EPEL7
-Patch103: chromium-99.0.4844.51-epel7-old-headers-workarounds.patch
+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
+Patch104: chromium-99.0.4844.51-epel7-old-cups.patch
+
+# libdrm on EL7 is rather old and chromium assumes newer
+# This gets us by for now
+Patch105: chromium-85.0.4183.83-el7-old-libdrm.patch
# error: no matching function for call to 'std::basic_string<char>::erase(std::basic_string<char>::const_iterator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&)'
# 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-98.0.4758.80-epel7-erase-fix.patch
+Patch106: chromium-98.0.4758.80-epel7-erase-fix.patch
+
+# Add additional operator== to make el7 happy.
+Patch107: chromium-99.0.4844.51-el7-extra-operator==.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
-# Add additional operator== to make el7 happy.
-Patch111: chromium-99.0.4844.51-el7-extra-operator==.patch
-# missing F_GET_SEALS, F_SEAL_SHRINK
-Patch112: chromium-107.0.5304.110-wayland-fcntl.patch
+Patch110: chromium-90.0.4430.93-epel8-aarch64-libpng16-symbol-prefixes.patch
+
# memset was not declared in this scope
Patch113: chromium-107.0.5304.110-cstring-memset.patch
+# system ffmpeg
+Patch114: chromium-107-ffmpeg-duration.patch
+Patch115: chromium-107-proprietary-codecs.patch
+
# VAAPI
# Upstream turned VAAPI on in Linux in 86
-Patch202: chromium-104.0.5112.101-enable-hardware-accelerated-mjpeg.patch
-Patch203: chromium-86.0.4240.75-vaapi-i686-fpermissive.patch
-Patch205: chromium-86.0.4240.75-fix-vaapi-on-intel.patch
+Patch202: chromium-104.0.5112.101-enable-hardware-accelerated-mjpeg.patch
+Patch203: chromium-108-vaapi-i686-fpermissive.patch
+Patch205: chromium-86.0.4240.75-fix-vaapi-on-intel.patch
# Apply these patches to work around EPEL8 issues
-Patch300: chromium-99.0.4844.51-rhel8-force-disable-use_gnome_keyring.patch
-
-# Apply this patch to work around EPEL9 issues
-Patch350: chromium-107.0.5304.110-neon_2_sse.patch
-
-# And fixes for new compilers
-Patch400: %{name}-gcc11.patch
+Patch300: chromium-99.0.4844.51-rhel8-force-disable-use_gnome_keyring.patch
# Use chromium-latest.py to generate clean tarball from released build tarballs, found here:
# http://build.chromium.org/buildbot/official/
# For Chromium Fedora use chromium-latest.py --stable --ffmpegclean --ffmpegarm
# If you want to include the ffmpeg arm sources append the --ffmpegarm switch
# https://commondatastorage.googleapis.com/chromium-browser-official/chromi...
-%if %{freeworld}
-Source0: https://commondatastorage.googleapis.com/chromium-browser-official/chromi...
-%else
Source0: chromium-%{version}-clean.tar.xz
-%endif
-# https://chromium.googlesource.com/chromium/tools/depot_tools.git/+archive...
-Source2: depot_tools.git-master.tar.gz
Source3: chromium-browser.sh
Source4: %{chromium_browser_channel}.desktop
# Also, only used if you want to reproduce the clean tarball.
@@ -397,24 +390,55 @@ Source7: get_free_ffmpeg_source_files.py
Source8: get_linux_tests_names.py
# GNOME stuff
Source9: chromium-browser.xml
-Source11: chrome-remote-desktop@.service
-Source13: master_preferences
-# Unpackaged fonts
-Source14: https://fontlibrary.org/assets/downloads/gelasio/4d610887ff4d445cbc639aae...
-Source15: http://download.savannah.nongnu.org/releases/freebangfont/MuktiNarrow-0.9...
-Source16: https://github.com/web-platform-tests/wpt/raw/master/fonts/Ahem.ttf
-Source17: GardinerModBug.ttf
-Source18: GardinerModCat.ttf
+Source11: chrome-remote-desktop@.service
+Source13: master_preferences
+
# RHEL 7|8 needs newer nodejs
-%if 0%{?rhel} && 0%{?rhel} <= 8
-Source19: https://nodejs.org/dist/latest-v16.x/node-v16.17.0-linux-x64.tar.xz
-Source21: https://nodejs.org/dist/latest-v16.x/node-v16.17.0-linux-arm64.tar.xz
+%if 0%{?rhel} == 8
+Source19: https://nodejs.org/dist/latest-v16.x/node-%{nodejs_version}-linux-x64.tar.xz
+Source21: https://nodejs.org/dist/latest-v16.x/node-%{nodejs_version}-linux-arm64.t...
%endif
-# Bring xcb-proto with us (might need more than python on EPEL?)
-Source20: https://www.x.org/releases/individual/proto/xcb-proto-1.14.tar.xz
-# We can assume gcc and binutils.
+# Unpackaged fonts
+Source14: https://fontlibrary.org/assets/downloads/gelasio/4d610887ff4d445cbc639aae...
+Source15: http://download.savannah.nongnu.org/releases/freebangfont/MuktiNarrow-0.9...
+Source16: https://github.com/web-platform-tests/wpt/raw/master/fonts/Ahem.ttf
+Source17: GardinerModBug.ttf
+Source18: GardinerModCat.ttf
+
+%if 0%{?clang}
+%if 0%{?rhel} == 7
+BuildRequires: llvm-toolset-%{llvm_toolset_version}
+%else
+BuildRequires: clang
+BuildRequires: clang-tools-extra
+BuildRequires: llvm
+BuildRequires: lld
+%endif
+# needs for libatomic
+%if 0%{?rhel} >= 7
+BuildRequires: %{toolset}-%{dts_version}-libatomic-devel
+%endif
+%else
+%if 0%{?rhel} == 7 || 0%{?rhel} == 8
+BuildRequires: %{toolset}-%{dts_version}-toolchain, %{toolset}-%{dts_version}-libatomic-devel
+%endif
+%if 0{?fedora} || 0%{?rhel} > 8
BuildRequires: gcc-c++
+BuildRequires: gcc
+BuildRequires: binutils
+%endif
+%endif
+
+# build with system ffmpeg-free
+%if 0%{?bundleffmpeg}
+# nothing
+%else
+BuildRequires: pkgconfig(libavcodec)
+BuildRequires: pkgconfig(libavfilter)
+BuildRequires: pkgconfig(libavformat)
+BuildRequires: pkgconfig(libavutil)
+%endif
BuildRequires: alsa-lib-devel
BuildRequires: atk-devel
@@ -428,32 +452,39 @@ BuildRequires: fontconfig-devel
BuildRequires: glib2-devel
BuildRequires: glibc-devel
BuildRequires: gperf
+
%if 0%{?bundleharfbuzz}
#nothing
%else
BuildRequires: harfbuzz-devel >= 2.4.0
%endif
-BuildRequires: libatomic
+
+BuildRequires: libatomic
BuildRequires: libcap-devel
BuildRequires: libcurl-devel
+
%if 0%{?bundlelibdrm}
#nothing
%else
BuildRequires: libdrm-devel
%endif
+
BuildRequires: libgcrypt-devel
BuildRequires: libudev-devel
BuildRequires: libuuid-devel
+
%if 0%{?fedora} >= 37
BuildRequires: libusb-compat-0.1-devel
%else
BuildRequires: libusb-devel
%endif
+
BuildRequires: libutempter-devel
BuildRequires: libXdamage-devel
BuildRequires: libXtst-devel
BuildRequires: xcb-proto
BuildRequires: mesa-libgbm-devel
+
# Old Fedora (before 30) uses the 1.2 minizip by default.
# Newer Fedora needs to use the compat package
%if 0%{?fedora} >= 30
@@ -467,12 +498,14 @@ BuildRequires: minizip-compat-devel
# BuildRequires: minizip-devel
%endif
%endif
-# RHEL 7|8's nodejs is too old
-%if 0%{?rhel} && 0%{?rhel} <= 8
-# Use bundled.
+
+# RHEL 8 needs newer nodejs
+%if 0%{?rhel} == 8
+# nothing
%else
BuildRequires: nodejs
%endif
+
BuildRequires: nss-devel >= 3.26
BuildRequires: pciutils-devel
BuildRequires: pulseaudio-libs-devel
@@ -484,10 +517,8 @@ BuildRequires: pkgconfig(libpipewire-0.3)
# for /usr/bin/appstream-util
BuildRequires: libappstream-glib
-
# gn needs these
BuildRequires: libstdc++-static
-BuildRequires: libstdc++-devel, openssl-devel
# Fedora tries to use system libs whenever it can.
BuildRequires: bzip2-devel
BuildRequires: dbus-glib-devel
@@ -495,17 +526,20 @@ BuildRequires: dbus-glib-devel
BuildRequires: elfutils
BuildRequires: elfutils-libelf-devel
BuildRequires: flac-devel
+
%if 0%{?bundlefreetype}
# nothing
%else
BuildRequires: freetype-devel
%endif
+
# One of the python scripts invokes git to look for a hash. So helpful.
BuildRequires: /usr/bin/git
BuildRequires: hwdata
BuildRequires: kernel-headers
BuildRequires: libevent-devel
BuildRequires: libffi-devel
+
%if 0%{?bundleicu}
# If this is true, we're using the bundled icu.
# We'd like to use the system icu every time, but we cannot always do that.
@@ -513,32 +547,38 @@ BuildRequires: libffi-devel
# Not newer than 54 (at least not right now)
BuildRequires: libicu-devel = 54.1
%endif
+
%if 0%{?bundlelibjpeg}
# If this is true, we're using the bundled libjpeg
# which we need to do because the RHEL 7 libjpeg doesn't work for chromium anymore
%else
BuildRequires: libjpeg-devel
%endif
+
%if 0%{?bundlelibpng}
# If this is true, we're using the bundled libpng
# which we need to do because the RHEL 7 libpng doesn't work right anymore
%else
BuildRequires: libpng-devel
%endif
+
%if 0
# see https://code.google.com/p/chromium/issues/detail?id=501318
BuildRequires: libsrtp-devel >= 1.4.4
%endif
BuildRequires: libudev-devel
+
%if %{bundlelibusbx}
# Do nothing
%else
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.
@@ -547,27 +587,37 @@ BuildRequires: libva-devel
%else
BuildRequires: libwebp-devel
%endif
+
BuildRequires: libxslt-devel
BuildRequires: libxshmfence-devel
+
# Same here, it seems.
# BuildRequires: libyuv-devel
BuildRequires: mesa-libGL-devel
+
%if %{bundleopus}
# Do nothing
%else
BuildRequires: opus-devel
%endif
+
BuildRequires: perl(Switch)
+BuildRequires: %{chromium_pybin}
+
%if 0%{gtk3}
BuildRequires: pkgconfig(gtk+-3.0)
%else
BuildRequires: pkgconfig(gtk+-2.0)
%endif
-BuildRequires: %{chromium_pybin}
-%if ! %{build_with_python3}
-BuildRequires: python2-devel
+
+%if %{build_with_python3}
+BuildRequires: python3-devel
+BuildRequires: python3-zipp
+BuildRequires: python3-importlib-metadata
%else
-BuildRequires: python3-devel
+BuildRequires: python2-devel
+BuildRequires: python-zipp
+BuildRequires: python-importlib-metadata
%endif
%if 0%{?build_with_python3}
@@ -575,11 +625,10 @@ BuildRequires: python3-devel
# Using bundled bits, do nothing.
%else
%if 0%{?fedora} || 0%{?rhel} >= 8
-BuildRequires: python3-beautifulsoup4
-# BuildRequires: python2-beautifulsoup
-BuildRequires: python3-html5lib
-BuildRequires: python3-markupsafe
-BuildRequires: python3-ply
+BuildRequires: python3-beautifulsoup4
+BuildRequires: python3-html5lib
+BuildRequires: python3-markupsafe
+BuildRequires: python3-ply
%else
BuildRequires: python-beautifulsoup4
BuildRequires: python-BeautifulSoup
@@ -587,167 +636,130 @@ BuildRequires: python-html5lib
BuildRequires: python-markupsafe
BuildRequires: python-ply
%endif
-BuildRequires: python3-importlib-metadata
-BuildRequires: python3-simplejson
+BuildRequires: python3-simplejson
%endif
%else
%if 0%{?bundlepylibs}
# Using bundled bits, do nothing.
%else
%if 0%{?fedora}
-BuildRequires: python2-beautifulsoup4
-BuildRequires: python2-beautifulsoup
-BuildRequires: python2-html5lib
-BuildRequires: python2-markupsafe
-BuildRequires: python2-ply
+BuildRequires: python2-beautifulsoup4
+BuildRequires: python2-beautifulsoup
+BuildRequires: python2-html5lib
+BuildRequires: python2-markupsafe
+BuildRequires: python2-ply
%else
-BuildRequires: python-beautifulsoup4
-BuildRequires: python-BeautifulSoup
-BuildRequires: python-html5lib
-BuildRequires: python-markupsafe
-BuildRequires: python-ply
+BuildRequires: python-beautifulsoup4
+BuildRequires: python-BeautifulSoup
+BuildRequires: python-html5lib
+BuildRequires: python-markupsafe
+BuildRequires: python-ply
%endif
-BuildRequires: python2-simplejson
+BuildRequires: python2-simplejson
%endif
%endif
-
%if 0%{?bundlere2}
# Using bundled bits, do nothing.
%else
-Requires: re2 >= 20160401
+Requires: re2 >= 20160401
BuildRequires: re2-devel >= 20160401
%endif
+
BuildRequires: speech-dispatcher-devel
BuildRequires: yasm
BuildRequires: zlib-devel
+
# Technically, this logic probably applies to older rhel too... but whatever.
# 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
BuildRequires: pam-devel
BuildRequires: systemd
-# for third_party/test_fonts
-%if %{freeworld}
-# dont need fonts for this
-%else
+
+# fonts
+BuildRequires: dejavu-sans-fonts
+BuildRequires: thai-scalable-garuda-fonts
+BuildRequires: lohit-devanagari-fonts
+BuildRequires: lohit-tamil-fonts
+BuildRequires: google-noto-sans-khmer-fonts
+BuildRequires: google-noto-emoji-color-fonts
+
%if 0%{?rhel} >= 7
-Source100: https://github.com/google/fonts/blob/master/apache/arimo/Arimo-Bold.ttf
-Source101: https://github.com/google/fonts/blob/master/apache/arimo/Arimo-BoldItalic...
-Source102: https://github.com/google/fonts/blob/master/apache/arimo/Arimo-Italic.ttf
-Source103: https://github.com/google/fonts/blob/master/apache/arimo/Arimo-Regular.ttf
-Source104: https://github.com/google/fonts/blob/master/apache/cousine/Cousine-Bold.ttf
-Source105: https://github.com/google/fonts/blob/master/apache/cousine/Cousine-BoldIt...
-Source106: https://github.com/google/fonts/blob/master/apache/cousine/Cousine-Italic...
-Source107: https://github.com/google/fonts/blob/master/apache/cousine/Cousine-Regula...
-Source108: https://github.com/google/fonts/blob/master/apache/tinos/Tinos-Bold.ttf
-Source109: https://github.com/google/fonts/blob/master/apache/tinos/Tinos-BoldItalic...
-Source110: https://github.com/google/fonts/blob/master/apache/tinos/Tinos-Italic.ttf
-Source111: https://github.com/google/fonts/blob/master/apache/tinos/Tinos-Regular.ttf
-%else
-BuildRequires: google-croscore-arimo-fonts
-BuildRequires: google-croscore-cousine-fonts
-BuildRequires: google-croscore-tinos-fonts
+Source100: https://github.com/google/fonts/blob/master/apache/arimo/Arimo-Bold.ttf
+Source101: https://github.com/google/fonts/blob/master/apache/arimo/Arimo-BoldItalic...
+Source102: https://github.com/google/fonts/blob/master/apache/arimo/Arimo-Italic.ttf
+Source103: https://github.com/google/fonts/blob/master/apache/arimo/Arimo-Regular.ttf
+Source104: https://github.com/google/fonts/blob/master/apache/cousine/Cousine-Bold.ttf
+Source105: https://github.com/google/fonts/blob/master/apache/cousine/Cousine-BoldIt...
+Source106: https://github.com/google/fonts/blob/master/apache/cousine/Cousine-Italic...
+Source107: https://github.com/google/fonts/blob/master/apache/cousine/Cousine-Regula...
+Source108: https://github.com/google/fonts/blob/master/apache/tinos/Tinos-Bold.ttf
+Source109: https://github.com/google/fonts/blob/master/apache/tinos/Tinos-BoldItalic...
+Source110: https://github.com/google/fonts/blob/master/apache/tinos/Tinos-Italic.ttf
+Source111: https://github.com/google/fonts/blob/master/apache/tinos/Tinos-Regular.ttf
+%else
+BuildRequires: google-croscore-arimo-fonts
+BuildRequires: google-croscore-cousine-fonts
+BuildRequires: google-croscore-tinos-fonts
%endif
+
%if 0%{?rhel} == 7
-Source112: https://releases.pagure.org/lohit/lohit-gurmukhi-ttf-2.91.2.tar.gz
-Source113: https://noto-website-2.storage.googleapis.com/pkgs/NotoSansCJKjp-hinted.zip
-%else
-BuildRequires: google-noto-sans-cjk-jp-fonts
-BuildRequires: lohit-gurmukhi-fonts
-%endif
-BuildRequires: dejavu-sans-fonts
-BuildRequires: thai-scalable-garuda-fonts
-BuildRequires: lohit-devanagari-fonts
-BuildRequires: lohit-tamil-fonts
-BuildRequires: google-noto-sans-khmer-fonts
-BuildRequires: google-noto-emoji-color-fonts
+Source112: https://releases.pagure.org/lohit/lohit-gurmukhi-ttf-2.91.2.tar.gz
+Source113:https://noto-website-2.storage.googleapis.com/pkgs/NotoSansCJKjp-hinted.zip
+%else
+BuildRequires: google-noto-sans-cjk-jp-fonts
+BuildRequires: lohit-gurmukhi-fonts
+%endif
+
%if 0%{?fedora} >= 30
-BuildRequires: google-noto-sans-symbols2-fonts
+BuildRequires: google-noto-sans-symbols2-fonts
%else
-Source114: https://github.com/googlefonts/noto-fonts/blob/master/unhinted/NotoSansSy...
+Source114: https://github.com/googlefonts/noto-fonts/blob/master/unhinted/NotoSansSy...
%endif
+
# There used to be a copy of this font file here, but it looks like NotoSansTibetan is no more.
# And yet, the chromium code still wants it.
-Source115: https://github.com/googlefonts/noto-fonts/blob/master/hinted/NotoSansTibe...
-%endif
+Source115: https://github.com/googlefonts/noto-fonts/blob/master/hinted/NotoSansTibe...
+
# using the built from source version on aarch64
BuildRequires: ninja-build
+
# Yes, java is needed as well..
BuildRequires: java-1.8.0-openjdk-headless
-%if 0%{?rhel} == 7
-BuildRequires: devtoolset-%{dts_version}-toolchain, devtoolset-%{dts_version}-libatomic-devel
-%endif
-
-# We need to workaround a gcc 8 bug
-# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94929
-# https://bugs.gentoo.org/726604
-%if 0%{?rhel} == 8
-BuildRequires: gcc-toolset-%{dts_version}-toolchain, gcc-toolset-%{dts_version}-libatomic-devel
-%endif
-
# There is a hardcoded check for nss 3.26 in the chromium code (crypto/nss_util.cc)
-Requires: nss%{_isa} >= 3.26
-Requires: nss-mdns%{_isa}
+Requires: nss%{_isa} >= 3.26
+Requires: nss-mdns%{_isa}
# GTK modules it expects to find for some reason.
%if 0%{gtk3}
-Requires: libcanberra-gtk3%{_isa}
+Requires: libcanberra-gtk3%{_isa}
%else
-Requires: libcanberra-gtk2%{_isa}
+Requires: libcanberra-gtk2%{_isa}
%endif
%if 0%{?fedora}
# This enables support for u2f tokens
-Requires: u2f-hidraw-policy
-%endif
-
-# Once upon a time, we tried to split these out... but that's not worth the effort anymore.
-Provides: chromium-ffmpegsumo = %{version}-%{release}
-Obsoletes: chromium-ffmpegsumo <= 35.0.1916.114
-# This is a lie. v8 has its own version... but I'm being lazy and not using it here.
-# Barring Google getting much faster on the v8 side (or much slower on the Chromium side)
-# the true v8 version will be much smaller than the Chromium version that it came from.
-Provides: chromium-v8 = %{version}-%{release}
-Obsoletes: chromium-v8 <= 3.25.28.18
-# This is a lie. webrtc never had any real version. 0.2 is greater than 0.1
-Provides: webrtc = 0.2
-Obsoletes: webrtc <= 0.1
-Requires: chromium-common%{_isa} = %{version}-%{release}
-%if 0%{?shared}
-%if 0%{?freeworld}
-# chromium-libs-media-freeworld case
-Provides: chromium-libs-media = %{version}-%{release}
-Provides: chromium-libs-media%{_isa} = %{version}-%{release}
-Requires: chromium-libs%{_isa} = %{version}
-Requires(post): %{_sbindir}/update-alternatives
-Requires(preun): %{_sbindir}/update-alternatives
-%else
-# chromium case with shared libs
-Requires: chromium-libs%{_isa} = %{version}-%{release}
-# This is broken out so it can be replaced.
-Requires: chromium-libs-media%{_isa} = %{version}-%{release}
-%endif
-# Nothing to do here. chromium-libs is real.
-%else
-Provides: chromium-libs = %{version}-%{release}
-Obsoletes: chromium-libs <= %{version}-%{release}
-%endif
-
-#rhel 7: ia32 x86_64
-#rhel 8+: ia32, x86_64, aarch64
-#fedora 32 or older: ia32, x86_64, aarch64
-#fedora 33+: x86_64 aarch64 only
+Requires: u2f-hidraw-policy
+%endif
+
+Requires: chromium-common%{_isa} = %{version}-%{release}
+
+# rhel 7: ia32 x86_64
+# rhel 8+: ia32, x86_64, aarch64
+# fedora 32 or older: ia32, x86_64, aarch64
+# fedora 33+: x86_64 aarch64 only
%if 0%{?rhel} == 7
-ExclusiveArch: x86_64 i686
+ExclusiveArch: x86_64 i686
%else
%if 0%{?fedora} > 32
-ExclusiveArch: x86_64 aarch64
+ExclusiveArch: x86_64 aarch64
%else
-ExclusiveArch: x86_64 i686 aarch64
+ExclusiveArch: x86_64 i686 aarch64
%endif
%endif
@@ -765,50 +777,67 @@ Provides: bundled(dmg_fp)
Provides: bundled(expat) = 2.2.0
Provides: bundled(fdmlibm) = 5.3
# Don't get too excited. MPEG and other legally problematic stuff is stripped out.
-Provides: bundled(ffmpeg) = 3.2git
+Provides: bundled(ffmpeg) = 5.1.2
Provides: bundled(fips181) = 2.2.3
+
%if 0%{?bundlefontconfig}
Provides: bundled(fontconfig) = 2.12.6
%endif
+
%if 0%{?bundlefreetype}
Provides: bundled(freetype) = 2.11.0git
%endif
+
Provides: bundled(gperftools) = svn144
%if 0%{?bundleharfbuzz}
Provides: bundled(harfbuzz) = 2.4.0
%endif
+
Provides: bundled(hunspell) = 1.6.0
Provides: bundled(iccjpeg)
+
%if 0%{?bundleicu}
Provides: bundled(icu) = 58.1
%endif
+
Provides: bundled(kitchensink) = 1
Provides: bundled(leveldb) = 1.20
Provides: bundled(libaddressinput) = 0
+
%if 0%{?bundlelibdrm}
Provides: bundled(libdrm) = 2.4.85
%endif
+
Provides: bundled(libevent) = 1.4.15
Provides: bundled(libjingle) = 9564
+
%if 0%{?bundlelibjpeg}
Provides: bundled(libjpeg-turbo) = 1.4.90
%endif
+
Provides: bundled(libphonenumber) = a4da30df63a097d67e3c429ead6790ad91d36cf4
+
%if 0%{?bundlelibpng}
Provides: bundled(libpng) = 1.6.22
%endif
+
Provides: bundled(libsrtp) = 2cbd85085037dc7bf2eda48d4cf62e2829056e2d
+
%if %{bundlelibusbx}
Provides: bundled(libusbx) = 1.0.17
%endif
+
Provides: bundled(libvpx) = 1.6.0
+
%if %{bundlelibwebp}
Provides: bundled(libwebp) = 0.6.0
%endif
+
%if %{bundlelibxml}
# Well, it's actually newer than 2.9.4 and has code in it that has been reverted upstream... but eh.
Provides: bundled(libxml) = 2.9.4
%endif
+
Provides: bundled(libXNVCtrl) = 302.17
Provides: bundled(libyuv) = 1651
Provides: bundled(lzma) = 15.14
@@ -816,15 +845,19 @@ Provides: bundled(libudis86) = 1.7.1
Provides: bundled(mesa) = 9.0.3
Provides: bundled(NSBezierPath) = 1.0
Provides: bundled(mozc)
+
%if %{bundleopus}
Provides: bundled(opus) = 1.1.3
%endif
+
Provides: bundled(ots) = 8d70cffebbfa58f67a5c3ed0e9bc84dccdbc5bc0
Provides: bundled(protobuf) = 3.0.0.beta.3
Provides: bundled(qcms) = 4
+
%if 0%{?bundlere2}
Provides: bundled(re2)
%endif
+
Provides: bundled(sfntly) = 04740d2600193b14aa3ef24cd9fbb3d5996b9f77
Provides: bundled(skia)
Provides: bundled(SMHasher) = 0
@@ -844,39 +877,9 @@ Provides: bundled(xdg-user-dirs)
# For selinux scriptlet
Requires(post): /usr/sbin/semanage
Requires(post): /usr/sbin/restorecon
-%if %{?shared}
-# Do nothing
-%else
-Provides: chromium-libs = %{version}-%{release}
-Obsoletes: chromium-libs <= %{version}-%{release}
-Provides: chromium-libs-media = %{version}-%{release}
-Obsoletes: chromium-libs-media <= %{version}-%{release}
-# This may not actually be true (depending on how freeworld is set). But what
-# is definite here is that if we're upgrading from a shared build to a static
-# build none of the shared subpackages (or replacement packages) will work at
-# all and without these provides/obsoletes, the upgrade transaction will fail.
-# Since we have no way of conditionalizing whether the user has the freeworld
-# replacement, we just assume they do.
-Provides: chromium-libs-media-freeworld = %{version}-%{release}
-Obsoletes: chromium-libs-media-freeworld <= %{version}-%{release}
-%endif
-
-%if %{?freeworld}
-%if %{?shared}
-%description
-Chromium media libraries built with all possible codecs. Chromium is an
-open-source web browser, powered by WebKit (Blink). This package replaces
-the default chromium-libs-media package, which is limited in what it
-can include.
-%else
-%description
-Chromium built with all possible codecs. Chromium is an
-open-source web browser, powered by WebKit (Blink).
-%endif
-%else
+
%description
Chromium is an open-source web browser, powered by WebKit (Blink).
-%endif
%package common
Summary: Files needed for both the headless_shell and full Chromium
@@ -906,29 +909,6 @@ Obsoletes: chrome-remote-desktop <= 81.0.4044.138
%description common
%{summary}.
-%if 0%{?shared}
-%package libs
-Summary: Shared libraries used by chromium (and chrome-remote-desktop)
-Requires: chromium-common%{_isa} = %{version}-%{release}
-Requires: chromium-libs-media%{_isa} >= %{majorversion}
-Requires(post): %{_sbindir}/update-alternatives
-Requires(preun): %{_sbindir}/update-alternatives
-
-%description libs
-Shared libraries used by chromium (and chrome-remote-desktop).
-
-%if ! %{freeworld}
-%package libs-media
-Summary: Shared libraries used by the chromium media subsystem
-Requires: chromium-libs%{_isa} = %{version}
-Requires(post): %{_sbindir}/update-alternatives
-Requires(preun): %{_sbindir}/update-alternatives
-
-%description libs-media
-Shared libraries used by the chromium media subsystem.
-%endif
-%endif
-
%if %{build_remoting}
%package -n chrome-remote-desktop
Requires(pre): shadow-utils
@@ -941,11 +921,7 @@ Requires: python3-psutil
%else
Requires: python2-psutil
%endif
-%if 0%{?shared}
-Requires: chromium-libs%{_isa} = %{version}-%{release}
-%else
Requires: chromium-common%{_isa} = %{version}-%{release}
-%endif
Summary: Remote desktop support for google-chrome & chromium
%description -n chrome-remote-desktop
@@ -954,15 +930,7 @@ Remote desktop support for google-chrome & chromium.
%package -n chromedriver
Summary: WebDriver for Google Chrome/Chromium
-%if 0%{?shared}
-Requires: chromium-libs%{_isa} = %{version}-%{release}
-%else
-Requires: chromium-common%{_isa} = %{version}-%{release}
-%endif
-# From Russian Fedora (minus the epoch)
-Provides: chromedriver-stable = %{version}-%{release}
-Conflicts: chromedriver-testing
-Conflicts: chromedriver-unstable
+Requires: chromium-common%{_isa} = %{version}-%{release}
%description -n chromedriver
WebDriver is an open source tool for automated testing of webapps across many
@@ -973,7 +941,7 @@ members of the Chromium and WebDriver teams.
%package headless
Summary: A minimal headless shell built from Chromium
-Requires: chromium-common%{_isa} = %{version}-%{release}
+Requires: chromium-common%{_isa} = %{version}-%{release}
%description headless
A minimal headless client built from Chromium. headless_shell is built
@@ -981,7 +949,6 @@ without support for alsa, cups, dbus, gconf, gio, kerberos, pulseaudio, or
udev.
%prep
-%setup -q -T -c -n depot_tools -a 2
%setup -q -n chromium-%{version}
### Chromium Fedora Patches ###
@@ -992,26 +959,28 @@ udev.
%patch5 -p1 -b .nozlibmangle
%patch6 -p1 -b .nounrar
%patch7 -p1 -b .widevine-hack
-%patch10 -p1 -b .widevine-other-locations
+%patch8 -p1 -b .widevine-other-locations
+
%if 0%{?build_with_python3}
%patch11 -p1 -b .py3
%endif
# Short term fixes (usually gcc and backports)
%patch51 -p1 -b .gcc-remoting-constexpr
+
%if 0%{?fedora} || 0%{?rhel} >= 8
%patch52 -p1 -b .unbundle-zlib
%endif
+
%patch56 -p1 -b .missing-cstdint
%patch57 -p1 -b .missing-cstring
-%patch58 -p1 -b .ffmpeg-deprecations
%patch59 -p1 -b .VirtualCursor-std-layout
%if ! 0%{?bundleminizip}
%patch61 -p1 -b .system-minizip
%endif
-%patch62 -p1 -b .update-wayland-client-core
+# %%patch62 -p1 -b .update-wayland-client-core
%patch65 -p1 -b .java-only-allowed
%patch67 -p1 -b .remoting-cstring
%patch68 -p1 -b .i686-textrels
@@ -1022,10 +991,12 @@ udev.
%patch82 -p1 -b .remoting-no-tests
%patch84 -p1 -b .remoting-missing-cmath-header
%patch86 -p1 -b .clang-format-py3
+
%if 0%{?fedora} >= 37
%patch87 -p1 -b .markdownsafe-soft_str
%endif
-%patch88 -p1 -b .arm64-gcc-fix
+
+# %%patch88 -p1 -b .arm64-gcc-fix
%patch97 -p1 -b .remoting-extra-qualification
%patch98 -p1 -b .InkDropHost-crash
%patch99 -p1 -b .enable-WebRTCPipeWireCapturer-byDefault
@@ -1037,14 +1008,23 @@ udev.
%patch113 -p1 -b .memset
+%if 0%{?bundleffmpeg}
+# nothing
+%else
+%patch114 -p1 -b .system-ffmppeg
+%patch115 -p1 -b .prop-codecs
+%endif
+
# EPEL specific patches
%if 0%{?rhel} == 7
+%patch100 -p1 -b .el7-memfd-fcntl-include
+%patch101 -p1 -b .wayland-strndup-error
+%patch102 -p1 -b .drop-python-importlib-metadata
%patch103 -p1 -b .epel7-header-workarounds
%patch104 -p1 -b .el7cups
-%patch105 -p1 -b .el7-memfd-include
-%patch109 -p1 -b .el7-erase-fix
-%patch111 -p1 -b .el7-extra-operator-equalequal
-%patch112 -p1 -b .fcntl
+%patch105 -p1 -b .el7-old-libdrm
+%patch106 -p1 -b .el7-erase-fix
+%patch107 -p1 -b .el7-extra-operator-equalequal
%endif
%if 0%{?rhel} == 8
@@ -1064,13 +1044,6 @@ udev.
%patch300 -p1 -b .disblegnomekeyring
%endif
-# rhel9 support
-%if 0%{?rhel} >= 9
-%patch350 -p1 -b .neon_2_sse-gcc
-%endif
-
-%patch400 -p1 -b .gcc11
-
# Change shebang in all relevant files in this directory and all subdirectories
# See `man find` for how the `-exec command {} +` syntax works
%if 0%{?build_with_python3}
@@ -1079,22 +1052,7 @@ find -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?=#!%{__
find -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?=#!%{__python2}=' {} +
%endif
-%if 0%{?asan}
-export CC="clang"
-export CXX="clang++"
-%else
-export CC="gcc"
-export CXX="g++"
-%endif
-export AR="ar"
-export RANLIB="ranlib"
-
-rm -rf buildtools/third_party/libc++/BUILD.gn
-
# Unpack fonts
-%if %{freeworld}
-# no font fun needed.
-%else
pushd third_party/test_fonts
mkdir test_fonts
cd test_fonts
@@ -1129,6 +1087,7 @@ cp -a /usr/share/fonts/google-croscore/Cousine-*.ttf .
cp -a /usr/share/fonts/google-croscore/Tinos-*.ttf .
%endif
%endif
+
%if 0%{?rhel} == 7
tar xf %{SOURCE112}
mv lohit-gurmukhi-ttf-2.91.2/Lohit-Gurmukhi.ttf .
@@ -1138,86 +1097,193 @@ unzip %{SOURCE113}
cp -a /usr/share/fonts/lohit-gurmukhi/Lohit-Gurmukhi.ttf .
cp -a /usr/share/fonts/google-noto-cjk/NotoSansCJKjp-Regular.otf .
%endif
+
%if 0%{?fedora} >= 32 || 0%{?rhel} >= 9
cp -a /usr/share/fonts/dejavu-sans-fonts/DejaVuSans.ttf /usr/share/fonts/dejavu-sans-fonts/DejaVuSans-Bold.ttf .
%else
cp -a /usr/share/fonts/dejavu/DejaVuSans.ttf /usr/share/fonts/dejavu/DejaVuSans-Bold.ttf .
%endif
+
%if 0%{?fedora} >= 33 || 0%{?rhel} >= 9
cp -a /usr/share/fonts/thai-scalable/Garuda.otf .
sed -i 's|Garuda.ttf|Garuda.otf|g' ../BUILD.gn
%else
cp -a /usr/share/fonts/thai-scalable/Garuda.ttf .
%endif
+
cp -a /usr/share/fonts/lohit-devanagari/Lohit-Devanagari.ttf /usr/share/fonts/lohit-tamil/Lohit-Tamil.ttf .
cp -a /usr/share/fonts/google-noto/NotoSansKhmer-Regular.ttf .
cp -a /usr/share/fonts/google-noto-emoji/NotoColorEmoji.ttf .
+
%if 0%{?fedora} >= 30
cp -a /usr/share/fonts/google-noto/NotoSansSymbols2-Regular.ttf .
%else
cp -a %{SOURCE114} .
%endif
+
cp -a %{SOURCE115} .
popd
+
+%if 0%{?rhel} == 8
+ pushd third_party/node/linux
+%ifarch x86_64
+ tar xf %{SOURCE19}
+ mv node-%{nodejs_version}-linux-x64 node-linux-x64
+%endif
+%ifarch aarch64
+ tar xf %{SOURCE21}
+ mv node-%{nodejs_version}-linux-arm64 node-linux-arm64
+ # This is weird, but whatever
+ ln -s node-linux-arm64 node-linux-x64
+%endif
+popd
+%else
+ mkdir -p third_party/node/linux/node-linux-x64/bin
+ ln -s %{_bindir}/node third_party/node/linux/node-linux-x64/bin/node
+%endif
+
+# Get rid of the pre-built eu-strip binary, it is x86_64 and of mysterious origin
+rm -rf buildtools/third_party/eu-strip/bin/eu-strip
+
+# Replace it with a symlink to the Fedora copy
+ln -s %{_bindir}/eu-strip buildtools/third_party/eu-strip/bin/eu-strip
+
+%if %{bundlelibusbx}
+# no hackity hack hack
+%else
+# hackity hack hack
+rm -rf third_party/libusb/src/libusb/libusb.h
+# we _shouldn't need to do this, but it looks like we do.
+cp -a %{_includedir}/libusb-1.0/libusb.h third_party/libusb/src/libusb/libusb.h
+%endif
+
+# Hard code extra version
+sed -i.orig -e 's/getenv("CHROME_VERSION_EXTRA")/"Fedora Project"/' chrome/common/channel_info_posix.cc
+
+# Fix hardcoded path in remoting code
+sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' remoting/host/setup/daemon_controller_delegate_linux.cc
+
+# reduce debuginfos
+sed -i 's|-g2|-g0|g' build/config/compiler/BUILD.gn
+
+%build
+# utf8 issue on epel7
+# Internal parsing error 'ascii' codec can't decode byte 0xe2 in position 474: ordinal not in range(128)
+export LC_ALL=en_US.UTF-8
+
+# Turning the buildsystem up to 11.
+ulimit -n 4096
+
+# reduce warnings
+FLAGS="-Wno-deprecated-declarations -Wno-unknown-warning-option"
+export CFLAGS="$FLAGS"
+export CXXFLAGS="$FLAGS"
+
+%if 0%{?clang}
+export CC="clang"
+export CXX="clang++"
+export AR="llvm-ar"
+export NM="llvm-nm"
+export READELF="llvm-readelf"
+%else
+export CC="gcc"
+export CXX="g++"
+export AR="ar"
+export NM="nm"
+export READELF="eu-readelf"
+%endif
+
+# enable toolset on el7
+%if 0%{?rhel} == 7
+%if 0%{?clang}
+. /opt/rh/llvm-toolset-%{llvm_toolset_version}/enable
+%else
+. /opt/rh/%{toolset}-%{dts_version}/enable
+%endif
+%endif
+
+# enable toolset on el8
+%if 0%{?rhel} == 8 && !0%{?clang}
+. /opt/rh/%{toolset}-%{dts_version}/enable
%endif
# Core defines are flags that are true for both the browser and headless.
CHROMIUM_CORE_GN_DEFINES=""
+# using system toolchain
+CHROMIUM_CORE_GN_DEFINES+=' custom_toolchain="//build/toolchain/linux/unbundle:default"'
+CHROMIUM_CORE_GN_DEFINES+=' host_toolchain="//build/toolchain/linux/unbundle:default"'
CHROMIUM_CORE_GN_DEFINES+=' is_debug=false dcheck_always_on=false dcheck_is_configurable=false'
-%ifarch x86_64 aarch64
-CHROMIUM_CORE_GN_DEFINES+=' system_libdir="lib64"'
-%endif
+CHROMIUM_CORE_GN_DEFINES+=' use_goma=false'
+CHROMIUM_CORE_GN_DEFINES+=' system_libdir="%{_lib}"'
%if %{official_build}
CHROMIUM_CORE_GN_DEFINES+=' is_official_build=true use_thin_lto=false is_cfi=false chrome_pgo_phase=0 use_debug_fission=true'
sed -i 's|OFFICIAL_BUILD|GOOGLE_CHROME_BUILD|g' tools/generate_shim_headers/generate_shim_headers.py
-# Too much debuginfo for i686 and aarch64
-%ifarch i686 aarch64
+# Too much debuginfo
sed -i 's|-g2|-g0|g' build/config/compiler/BUILD.gn
%endif
-%endif
%if %{useapikey}
CHROMIUM_CORE_GN_DEFINES+=' google_api_key="%{api_key}"'
%endif
%if %{userestrictedapikeys}
CHROMIUM_CORE_GN_DEFINES+=' google_default_client_id="%{default_client_id}" google_default_client_secret="%{default_client_secret}"'
%endif
-CHROMIUM_CORE_GN_DEFINES+=' is_clang=false use_sysroot=false disable_fieldtrial_testing_config=true use_lld=false rtc_enable_symbol_export=true'
+%if %{?clang}
+ CHROMIUM_CORE_GN_DEFINES+=' is_clang=true'
+ CHROMIUM_CORE_GN_DEFINES+=' clang_base_path="%{_prefix}"'
+ CHROMIUM_CORE_GN_DEFINES+=' clang_use_chrome_plugins=false'
+ CHROMIUM_CORE_GN_DEFINES+=' use_lld=true'
+%else
+ CHROMIUM_CORE_GN_DEFINES+=' is_clang=false'
+ CHROMIUM_CORE_GN_DEFINES+=' use_lld=false'
+%endif
+CHROMIUM_CORE_GN_DEFINES+=' use_sysroot=false disable_fieldtrial_testing_config=true rtc_enable_symbol_export=true'
%if %{use_gold}
CHROMIUM_CORE_GN_DEFINES+=' use_gold=true'
%else
CHROMIUM_CORE_GN_DEFINES+=' use_gold=false'
%endif
-
-%if %{freeworld}
-CHROMIUM_CORE_GN_DEFINES+=' ffmpeg_branding="ChromeOS" proprietary_codecs=true'
-%else
CHROMIUM_CORE_GN_DEFINES+=' ffmpeg_branding="Chromium" proprietary_codecs=false'
-%endif
+CHROMIUM_CORE_GN_DEFINES+=' media_use_openh264=false'
+CHROMIUM_CORE_GN_DEFINES+=' rtc_use_h264=false'
CHROMIUM_CORE_GN_DEFINES+=' treat_warnings_as_errors=false'
CHROMIUM_CORE_GN_DEFINES+=' use_custom_libcxx=false'
CHROMIUM_CORE_GN_DEFINES+=' use_kerberos=true'
+CHROMIUM_CORE_GN_DEFINES+=' target_os="linux"'
+CHROMIUM_CORE_GN_DEFINES+=' current_os="linux"'
+CHROMIUM_CORE_GN_DEFINES+=' use_allocator="none"'
+CHROMIUM_CORE_GN_DEFINES+=' enable_vr=false'
+CHROMIUM_CORE_GN_DEFINES+=' build_dawn_tests=false'
+CHROMIUM_CORE_GN_DEFINES+=' enable_iterator_debugging=false'
+CHROMIUM_CORE_GN_DEFINES+=' enable_js_type_check=false'
+
%ifarch aarch64
-CHROMIUM_CORE_GN_DEFINES+=' target_cpu="arm64"'
+ CHROMIUM_CORE_GN_DEFINES+=' target_cpu="arm64"'
%endif
+
%if %{?use_jumbo}
-CHROMIUM_CORE_GN_DEFINES+=' use_jumbo_build=true jumbo_file_merge_limit=8'
+ CHROMIUM_CORE_GN_DEFINES+=' use_jumbo_build=true jumbo_file_merge_limit=8'
%endif
+
%if 0%{?rhel} == 8
-CHROMIUM_CORE_GN_DEFINES+=' use_gnome_keyring=false use_glib=true'
+ CHROMIUM_CORE_GN_DEFINES+=' use_gnome_keyring=false use_glib=true'
+%endif
+
+%if 0%{?use_qt}
+ CHROMIUM_CORE_GN_DEFINES+=' use_qt=true'
+%else
+ CHROMIUM_CORE_GN_DEFINES+=' use_qt=false'
%endif
export CHROMIUM_CORE_GN_DEFINES
CHROMIUM_BROWSER_GN_DEFINES=""
CHROMIUM_BROWSER_GN_DEFINES+=' use_gio=true use_pulseaudio=true icu_use_data_file=true'
CHROMIUM_BROWSER_GN_DEFINES+=' enable_nacl=false'
-%if 0%{?shared}
-CHROMIUM_BROWSER_GN_DEFINES+=' is_component_ffmpeg=true is_component_build=true'
-%else
-CHROMIUM_BROWSER_GN_DEFINES+=' is_component_ffmpeg=false is_component_build=false'
-%endif
+CHROMIUM_BROWSER_GN_DEFINES+=' is_component_ffmpeg=false'
+CHROMIUM_BROWSER_GN_DEFINES+=' is_component_build=false'
CHROMIUM_BROWSER_GN_DEFINES+=' blink_symbol_level=0 enable_hangout_services_extension=true'
CHROMIUM_BROWSER_GN_DEFINES+=' use_aura=true'
CHROMIUM_BROWSER_GN_DEFINES+=' enable_widevine=true'
+
%if %{use_vaapi}
%if 0%{?fedora} >= 28
CHROMIUM_BROWSER_GN_DEFINES+=' use_vaapi=true'
@@ -1225,323 +1291,23 @@ CHROMIUM_BROWSER_GN_DEFINES+=' use_vaapi=true'
%else
CHROMIUM_BROWSER_GN_DEFINES+=' use_vaapi=false'
%endif
+
%if 0%{?fedora}
CHROMIUM_BROWSER_GN_DEFINES+=' rtc_use_pipewire=true rtc_link_pipewire=true'
%endif
-%if 0%{?use_qt}
- CHROMIUM_BROWSER_GN_DEFINES+=' use_qt=true'
-%else
- CHROMIUM_BROWSER_GN_DEFINES+=' use_qt=false'
-%endif
+
CHROMIUM_BROWSER_GN_DEFINES+=' use_system_libffi=true'
export CHROMIUM_BROWSER_GN_DEFINES
+# headless gn defines
CHROMIUM_HEADLESS_GN_DEFINES=""
CHROMIUM_HEADLESS_GN_DEFINES+=' use_ozone=true ozone_auto_platforms=false ozone_platform="headless" ozone_platform_headless=true'
CHROMIUM_HEADLESS_GN_DEFINES+=' headless_use_embedded_resources=false icu_use_data_file=false v8_use_external_startup_data=false'
CHROMIUM_HEADLESS_GN_DEFINES+=' enable_nacl=false enable_print_preview=false enable_remoting=false use_alsa=false'
CHROMIUM_HEADLESS_GN_DEFINES+=' use_cups=false use_dbus=true use_gio=false use_kerberos=false use_libpci=false'
-CHROMIUM_HEADLESS_GN_DEFINES+=' use_pulseaudio=false use_udev=false use_gtk=false use_glib=false use_qt=false'
+CHROMIUM_HEADLESS_GN_DEFINES+=' use_pulseaudio=false use_udev=false use_gtk=false use_glib=false'
export CHROMIUM_HEADLESS_GN_DEFINES
-%if 0%{?rhel} && 0%{?rhel} <= 8
-pushd third_party/node/linux
-%ifarch x86_64
-tar xf %{SOURCE19}
-mv node-v16.17.0-linux-x64 node-linux-x64
-%endif
-%ifarch aarch64
-tar xf %{SOURCE21}
-mv node-v16.17.0-linux-arm64 node-linux-arm64
-# This is weird, but whatever
-ln -s node-linux-arm64 node-linux-x64
-%endif
-popd
-%else
-mkdir -p third_party/node/linux/node-linux-x64/bin
-ln -s %{_bindir}/node third_party/node/linux/node-linux-x64/bin/node
-%endif
-
-# Remove most of the bundled libraries. Libraries specified below (taken from
-# Gentoo's Chromium ebuild) are the libraries that needs to be preserved.
-build/linux/unbundle/remove_bundled_libraries.py \
- 'base/third_party/cityhash' \
- 'base/third_party/cityhash_v103' \
- 'base/third_party/double_conversion' \
- 'base/third_party/dynamic_annotations' \
- 'base/third_party/icu' \
- 'base/third_party/nspr' \
- 'base/third_party/superfasthash' \
- 'base/third_party/symbolize' \
- 'base/third_party/valgrind' \
- 'base/third_party/xdg_mime' \
- 'base/third_party/xdg_user_dirs' \
- 'buildtools/third_party/eu-strip' \
- 'buildtools/third_party/libc++' \
- 'buildtools/third_party/libc++abi' \
- 'chrome/third_party/mozilla_security_manager' \
- 'courgette/third_party' \
- 'net/third_party/mozilla_security_manager' \
- 'net/third_party/nss' \
- 'net/third_party/quiche' \
- 'net/third_party/uri_template' \
- 'third_party/abseil-cpp' \
- 'third_party/angle' \
- 'third_party/angle/src/common/third_party/base' \
- 'third_party/angle/src/common/third_party/smhasher' \
- 'third_party/angle/src/common/third_party/xxhash' \
- 'third_party/angle/src/third_party/libXNVCtrl' \
- 'third_party/angle/src/third_party/trace_event' \
- 'third_party/angle/src/third_party/volk' \
- 'third_party/apple_apsl' \
- 'third_party/axe-core' \
- 'third_party/blanketjs' \
- 'third_party/blink' \
- 'third_party/bidimapper' \
- 'third_party/boringssl' \
- 'third_party/boringssl/src/third_party/fiat' \
- 'third_party/breakpad' \
- 'third_party/breakpad/breakpad/src/third_party/curl' \
- 'third_party/brotli' \
- 'third_party/catapult' \
- 'third_party/catapult/common/py_vulcanize/third_party/rcssmin' \
- 'third_party/catapult/common/py_vulcanize/third_party/rjsmin' \
- 'third_party/catapult/third_party/beautifulsoup4' \
- 'third_party/catapult/third_party/beautifulsoup4-4.9.3' \
- 'third_party/catapult/third_party/google-endpoints' \
- 'third_party/catapult/third_party/html5lib-1.1' \
- 'third_party/catapult/third_party/html5lib-python' \
- 'third_party/catapult/third_party/polymer' \
- 'third_party/catapult/third_party/six' \
- 'third_party/catapult/tracing/third_party/d3' \
- 'third_party/catapult/tracing/third_party/gl-matrix' \
- 'third_party/catapult/tracing/third_party/jpeg-js' \
- 'third_party/catapult/tracing/third_party/jszip' \
- 'third_party/catapult/tracing/third_party/mannwhitneyu' \
- 'third_party/catapult/tracing/third_party/oboe' \
- 'third_party/catapult/tracing/third_party/pako' \
- 'third_party/ced' \
- 'third_party/cld_3' \
- 'third_party/closure_compiler' \
- 'third_party/content_analysis_sdk' \
- 'third_party/cpuinfo' \
- 'third_party/crashpad' \
- 'third_party/crashpad/crashpad/third_party/lss' \
- 'third_party/crashpad/crashpad/third_party/zlib/' \
- 'third_party/crc32c' \
- 'third_party/cros_system_api' \
- 'third_party/dav1d' \
- 'third_party/dawn' \
- 'third_party/dawn/third_party/gn' \
- 'third_party/dawn/third_party/khronos' \
- 'third_party/depot_tools' \
- 'third_party/devscripts' \
- 'third_party/devtools-frontend' \
- 'third_party/devtools-frontend/src/third_party/typescript' \
- 'third_party/devtools-frontend/src/front_end/third_party' \
- 'third_party/devtools-frontend/src/front_end/third_party/acorn' \
- 'third_party/devtools-frontend/src/front_end/third_party/axe-core' \
- 'third_party/devtools-frontend/src/front_end/third_party/chromium' \
- 'third_party/devtools-frontend/src/front_end/third_party/codemirror' \
- 'third_party/devtools-frontend/src/front_end/third_party/diff' \
- 'third_party/devtools-frontend/src/front_end/third_party/i18n' \
- 'third_party/devtools-frontend/src/front_end/third_party/intl-messageformat' \
- 'third_party/devtools-frontend/src/front_end/third_party/lighthouse' \
- 'third_party/devtools-frontend/src/front_end/third_party/lit-html' \
- 'third_party/devtools-frontend/src/front_end/third_party/lodash-isequal' \
- 'third_party/devtools-frontend/src/front_end/third_party/marked' \
- 'third_party/devtools-frontend/src/front_end/third_party/puppeteer' \
- 'third_party/devtools-frontend/src/front_end/third_party/wasmparser' \
- 'third_party/devtools-frontend/src/test/unittests/front_end/third_party/i18n' \
- 'third_party/devtools-frontend/src/third_party' \
- 'third_party/distributed_point_functions' \
- 'third_party/dom_distiller_js' \
- 'third_party/eigen3' \
- 'third_party/emoji-segmenter' \
- 'third_party/expat' \
- 'third_party/farmhash' \
- 'third_party/fdlibm' \
- 'third_party/ffmpeg' \
- 'third_party/fft2d' \
- 'third_party/flac' \
- 'third_party/flatbuffers' \
- 'third_party/fontconfig' \
- 'third_party/fp16' \
- 'third_party/freetype' \
- 'third_party/fusejs' \
- 'third_party/fxdiv' \
- 'third_party/gemmlowp' \
- 'third_party/google_input_tools' \
- 'third_party/google_input_tools/third_party/closure_library' \
- 'third_party/google_input_tools/third_party/closure_library/third_party/closure' \
- 'third_party/google_trust_services' \
- 'third_party/googletest' \
- 'third_party/grpc' \
- 'third_party/harfbuzz-ng' \
- 'third_party/highway' \
- 'third_party/hunspell' \
- 'third_party/iccjpeg' \
- 'third_party/icu' \
- 'third_party/inspector_protocol' \
- 'third_party/ipcz' \
- 'third_party/jinja2' \
- 'third_party/jsoncpp' \
- 'third_party/jstemplate' \
- 'third_party/khronos' \
- 'third_party/leveldatabase' \
- 'third_party/libaddressinput' \
- 'third_party/libaom' \
- 'third_party/libaom/source/libaom/third_party/fastfeat' \
- 'third_party/libaom/source/libaom/third_party/vector' \
- 'third_party/libaom/source/libaom/third_party/x86inc' \
- 'third_party/libavif' \
- 'third_party/libdrm' \
- 'third_party/libevent' \
- 'third_party/libgav1' \
- 'third_party/libgifcodec' \
- 'third_party/libjingle' \
- 'third_party/libjpeg_turbo' \
- 'third_party/libjxl' \
- 'third_party/libphonenumber' \
- 'third_party/libpng' \
- 'third_party/libsecret' \
- 'third_party/libsrtp' \
- 'third_party/libsync' \
- 'third_party/libudev' \
- 'third_party/liburlpattern' \
- 'third_party/libusb' \
- 'third_party/libva_protected_content' \
- 'third_party/libvpx' \
- 'third_party/libvpx/source/libvpx/third_party/x86inc' \
- 'third_party/libwebm' \
- 'third_party/libwebp' \
- 'third_party/libx11' \
- 'third_party/libxcb-keysyms' \
- 'third_party/libxml' \
- 'third_party/libxml/chromium' \
- 'third_party/libxslt' \
- 'third_party/libyuv' \
- 'third_party/libzip' \
- 'third_party/lottie' \
- 'third_party/lss' \
- 'third_party/lzma_sdk' \
- 'third_party/mako' \
- 'third_party/maldoca' \
- 'third_party/maldoca/src/third_party/tensorflow_protos' \
- 'third_party/maldoca/src/third_party/zlibwrapper' \
- 'third_party/markupsafe' \
- 'third_party/mesa' \
- 'third_party/metrics_proto' \
- 'third_party/minigbm' \
- 'third_party/modp_b64' \
- 'third_party/nasm' \
- 'third_party/nearby' \
- 'third_party/neon_2_sse' \
- 'third_party/node' \
- 'third_party/omnibox_proto' \
- 'third_party/one_euro_filter' \
-%if %{freeworld}
- 'third_party/openh264' \
-%endif
- 'third_party/openscreen' \
- 'third_party/openscreen/src/third_party/mozilla' \
- 'third_party/openscreen/src/third_party/tinycbor' \
- 'third_party/opus' \
- 'third_party/ots' \
- 'third_party/pdfium' \
- 'third_party/pdfium/third_party/agg23' \
- 'third_party/pdfium/third_party/base' \
- 'third_party/pdfium/third_party/bigint' \
- 'third_party/pdfium/third_party/freetype' \
- 'third_party/pdfium/third_party/lcms' \
- 'third_party/pdfium/third_party/libopenjpeg' \
- 'third_party/pdfium/third_party/libpng16' \
- 'third_party/pdfium/third_party/libtiff' \
- 'third_party/pdfium/third_party/skia_shared' \
- 'third_party/perfetto' \
- 'third_party/perfetto/protos/third_party/chromium' \
- 'third_party/pffft' \
- 'third_party/ply' \
- 'third_party/polymer' \
- 'third_party/pthreadpool' \
- 'third_party/private-join-and-compute' \
- 'third_party/private_membership' \
- 'third_party/protobuf' \
- 'third_party/protobuf/third_party/six' \
- 'third_party/pyjson5' \
- 'third_party/qcms' \
- 'third_party/qunit' \
-%if 0%{?bundlere2}
- 'third_party/re2' \
-%endif
- 'third_party/rnnoise' \
- 'third_party/ruy' \
- 'third_party/s2cellid' \
- 'third_party/securemessage' \
- 'third_party/shell-encryption' \
- 'third_party/simplejson' \
- 'third_party/sinonjs' \
- 'third_party/six' \
- 'third_party/skia' \
- 'third_party/skia/include/third_party/vulkan' \
- 'third_party/skia/third_party/vulkan' \
- 'third_party/smhasher' \
- 'third_party/snappy' \
- 'third_party/speech-dispatcher' \
- 'third_party/sqlite' \
- 'third_party/swiftshader' \
- 'third_party/swiftshader/third_party/astc-encoder' \
- 'third_party/swiftshader/third_party/llvm-subzero' \
- 'third_party/swiftshader/third_party/llvm-10.0' \
- 'third_party/swiftshader/third_party/marl' \
- 'third_party/swiftshader/third_party/subzero' \
- 'third_party/swiftshader/third_party/SPIRV-Headers' \
- 'third_party/swiftshader/third_party/SPIRV-Tools' \
- 'third_party/tensorflow-text' \
- 'third_party/test_fonts' \
- 'third_party/tflite' \
- 'third_party/tflite/src/third_party/eigen3' \
- 'third_party/tflite/src/third_party/fft2d' \
- 'third_party/ukey2' \
- 'third_party/usb_ids' \
- 'third_party/utf' \
- 'third_party/vulkan' \
- 'third_party/wayland' \
- 'third_party/web-animations-js' \
- 'third_party/webdriver' \
- 'third_party/webgpu-cts' \
- 'third_party/webrtc' \
- 'third_party/webrtc/common_audio/third_party/ooura' \
- 'third_party/webrtc/common_audio/third_party/spl_sqrt_floor' \
- 'third_party/webrtc/modules/third_party/fft' \
- 'third_party/webrtc/modules/third_party/g711' \
- 'third_party/webrtc/modules/third_party/g722' \
- 'third_party/webrtc/rtc_base/third_party/base64' \
- 'third_party/webrtc/rtc_base/third_party/sigslot' \
- 'third_party/widevine' \
- 'third_party/woff2' \
- 'third_party/wuffs' \
- 'third_party/x11proto' \
- 'third_party/xcbproto' \
- 'third_party/xdg-utils' \
- 'third_party/xnnpack' \
- 'third_party/zxcvbn-cpp' \
- 'third_party/zlib' \
- 'third_party/zlib/google' \
- 'tools/gn/src/base/third_party/icu' \
- 'url/third_party/mozilla' \
- 'v8/src/third_party/siphash' \
- 'v8/src/third_party/utf8-decoder' \
- 'v8/src/third_party/valgrind' \
- 'v8/third_party/v8' \
- 'v8/third_party/inspector_protocol' \
- --do-remove
-
-# Fix hardcoded path in remoting code
-sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' remoting/host/setup/daemon_controller_delegate_linux.cc
-
-export PATH=$PATH:%{_builddir}/depot_tools
-
build/linux/unbundle/replace_gn_files.py --system-libraries \
%if 0%{?bundlefontconfig}
%else
@@ -1596,33 +1362,11 @@ build/linux/unbundle/replace_gn_files.py --system-libraries \
%else
zlib \
%endif
- flac
-
-# fix arm gcc
-sed -i 's|arm-linux-gnueabihf-|arm-linux-gnu-|g' build/toolchain/linux/BUILD.gn
-
-%ifarch aarch64
-# We don't need to cross compile while building on an aarch64 system.
-sed -i 's|aarch64-linux-gnu-||g' build/toolchain/linux/BUILD.gn
-
-# Correct the ninja file to check for aarch64, not just x86.
-sed -i '/${LONG_BIT}/ a \ aarch64)\' ../depot_tools/ninja
-sed -i '/aarch64)/ a \ exec "/usr/bin/ninja-build" "$@";;\' ../depot_tools/ninja
-%endif
-sed -i 's|exec "${THIS_DIR}/ninja-linux${LONG_BIT}"|exec "/usr/bin/ninja-build"|g' ../depot_tools/ninja
-
-# Get rid of the pre-built eu-strip binary, it is x86_64 and of mysterious origin
-rm -rf buildtools/third_party/eu-strip/bin/eu-strip
-# Replace it with a symlink to the Fedora copy
-ln -s %{_bindir}/eu-strip buildtools/third_party/eu-strip/bin/eu-strip
-
-%if 0%{?rhel} == 7
-. /opt/rh/devtoolset-%{dts_version}/enable
-%endif
-
-%if 0%{?rhel} == 8
-. /opt/rh/gcc-toolset-%{dts_version}/enable
+%if 0%{?bundleffmpeg}
+%else
+ ffmpeg \
%endif
+ flac
# Check that there is no system 'google' module, shadowing bundled ones:
%if 0%{?build_with_python3}
@@ -1635,70 +1379,18 @@ if python2 -c 'import google ; print google.__path__' 2> /dev/null ; then \
exit 1 ; \
fi
-tools/gn/bootstrap/bootstrap.py -v --no-clean --gn-gen-args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES"
+tools/gn/bootstrap/bootstrap.py --gn-gen-args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES"
%{builddir}/gn --script-executable=%{chromium_pybin} gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{builddir}
-%if %{freeworld}
-# do not need to do headless gen
-%else
%if %{build_headless}
%{builddir}/gn --script-executable=%{chromium_pybin} gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_HEADLESS_GN_DEFINES" %{headlessbuilddir}
%endif
-%endif
%if %{build_remoting}
%{builddir}/gn --script-executable=%{chromium_pybin} gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{remotingbuilddir}
%endif
-%if %{bundlelibusbx}
-# no hackity hack hack
-%else
-# hackity hack hack
-rm -rf third_party/libusb/src/libusb/libusb.h
-# we _shouldn't need to do this, but it looks like we do.
-cp -a %{_includedir}/libusb-1.0/libusb.h third_party/libusb/src/libusb/libusb.h
-%endif
-
-# Hard code extra version
-FILE=chrome/common/channel_info_posix.cc
-sed -i.orig -e 's/getenv("CHROME_VERSION_EXTRA")/"Fedora Project"/' $FILE
-
-%build
-# utf8 issue in epel7
-# Internal parsing error 'ascii' codec can't decode byte 0xe2 in position 474: ordinal not in range(128)
-export LC_CTYPE=C.UTF-8
-
-# Turning the buildsystem up to 11.
-ulimit -n 4096
-
-# unpack a local copy of the xcb-proto bits
-tar xf %{SOURCE20}
-
-%if 0%{?rhel} == 7
-. /opt/rh/devtoolset-%{dts_version}/enable
-%endif
-
-%if 0%{?rhel} == 8
-. /opt/rh/gcc-toolset-%{dts_version}/enable
-%endif
-
-# Decrease the debuginfo verbosity, so it compiles in koji
-%ifarch %{ix86}
-%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
-%endif
-
-# export PYTHONPATH="../../third_party/pyjson5/src:../../third_party/catapult/third_party/google-endpoints:../../xcb-proto-1.14"
-%if 0%{?rhel} == 8
-export PYTHONPATH="../../third_party/protobuf/third_party/six:../../third_party/pyjson5/src:../../xcb-proto-1.14:../../third_party/catapult/third_party/html5lib-1.1"
-%else
-export PYTHONPATH="../../third_party/pyjson5/src:../../xcb-proto-1.14:../../third_party/catapult/third_party/html5lib-1.1"
-%endif
-
echo
-# Now do the full browser
-%if 0%{freeworld}
-%build_target %{builddir} media
-%else
%if %{build_headless}
# Do headless first.
%build_target %{headlessbuilddir} headless_shell
@@ -1707,17 +1399,18 @@ echo
%build_target %{builddir} chrome
%build_target %{builddir} chrome_sandbox
%build_target %{builddir} chromedriver
+
%if %{build_clear_key_cdm}
%build_target %{builddir} clear_key_cdm
%endif
+
%build_target %{builddir} policy_templates
%if %{build_remoting}
# remote client
-# ../../depot_tools/ninja -C ../%{builddir} -vvv remoting_me2me_host remoting_start_host remoting_it2me_native_messaging_host remoting_me2me_native_messaging_host remoting_native_messaging_manifests remoting_resources
+# ninja -C ../%{builddir} -vvv remoting_me2me_host remoting_start_host remoting_it2me_native_messaging_host remoting_me2me_native_messaging_host remoting_native_messaging_manifests remoting_resources
%build_target %{remotingbuilddir} remoting_all
%endif
-%endif
# bug #827861, vk_swiftshader_icd.json not getting properly installed in out/Release
sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > out/Release/vk_swiftshader_icd.json
@@ -1725,209 +1418,178 @@ sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' third_party/swiftshader/
%install
rm -rf %{buildroot}
-%if 0%{freeworld}
- mkdir -p %{buildroot}%{chromium_path}
+mkdir -p %{buildroot}%{_bindir}
+mkdir -p %{buildroot}%{chromium_path}
+cp -a %{SOURCE3} %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
- pushd %{builddir}
- cp -a libffmpeg.so* %{buildroot}%{chromium_path}
- cp -a libmedia.so* %{buildroot}%{chromium_path}
- mv %{buildroot}%{chromium_path}/libffmpeg.so{,.%{lsuffix}}
- mv %{buildroot}%{chromium_path}/libffmpeg.so.TOC{,.%{lsuffix}}
- mv %{buildroot}%{chromium_path}/libmedia.so{,.%{lsuffix}}
- mv %{buildroot}%{chromium_path}/libmedia.so.TOC{,.%{lsuffix}}
- popd
+export BUILD_TARGET=`cat /etc/redhat-release`
+export CHROMIUM_PATH=%{chromium_path}
+export CHROMIUM_BROWSER_CHANNEL=%{chromium_browser_channel}
+
+sed -i "s|@@BUILD_TARGET@@|$BUILD_TARGET|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
+sed -i "s|@@CHROMIUM_PATH@@|$CHROMIUM_PATH|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
+sed -i "s|@@CHROMIUM_BROWSER_CHANNEL@@|$CHROMIUM_BROWSER_CHANNEL|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
+
+%if "%{chromium_channel}" == "%{nil}"
+ sed -i "s|@@EXTRA_FLAGS@@||g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
%else
- mkdir -p %{buildroot}%{_bindir}
- mkdir -p %{buildroot}%{chromium_path}
- cp -a %{SOURCE3} %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
- export BUILD_TARGET=`cat /etc/redhat-release`
- export CHROMIUM_PATH=%{chromium_path}
- export CHROMIUM_BROWSER_CHANNEL=%{chromium_browser_channel}
- sed -i "s|@@BUILD_TARGET@@|$BUILD_TARGET|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
- sed -i "s|@@CHROMIUM_PATH@@|$CHROMIUM_PATH|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
- sed -i "s|@@CHROMIUM_BROWSER_CHANNEL@@|$CHROMIUM_BROWSER_CHANNEL|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
- %if "%{chromium_channel}" == "%{nil}"
- sed -i "s|@@EXTRA_FLAGS@@||g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
- %else
- # Enable debug outputs for beta and dev channels
- export EXTRA_FLAGS="--enable-logging=stderr --v=2"
- sed -i "s|@@EXTRA_FLAGS@@|$EXTRA_FLAGS|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
- %endif
+ # Enable debug outputs for beta and dev channels
+ export EXTRA_FLAGS="--enable-logging=stderr --v=2"
+ sed -i "s|@@EXTRA_FLAGS@@|$EXTRA_FLAGS|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
+%endif
- ln -s %{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel}
- mkdir -p %{buildroot}%{_mandir}/man1/
-
- pushd %{builddir}
- cp -a *.pak locales resources icudtl.dat %{buildroot}%{chromium_path}
- %ifarch x86_64 i686 aarch64
- # cp -a swiftshader %{buildroot}%{chromium_path}
- # strip %{buildroot}%{chromium_path}/swiftshader/libEGL.so
- # strip %{buildroot}%{chromium_path}/swiftshader/libGLESv2.so
- cp -a libvk_swiftshader.so* %{buildroot}%{chromium_path}
- strip %{buildroot}%{chromium_path}/libvk_swiftshader.so
- cp -a libvulkan.so* %{buildroot}%{chromium_path}
- strip %{buildroot}%{chromium_path}/libvulkan.so.1
- cp -a vk_swiftshader_icd.json %{buildroot}%{chromium_path}
- %endif
- cp -a chrome %{buildroot}%{chromium_path}/%{chromium_browser_channel}
- # Explicitly strip chromium-browser (since we don't use debuginfo here anyway)
- strip %{buildroot}%{chromium_path}/%{chromium_browser_channel}
- cp -a chrome_sandbox %{buildroot}%{chromium_path}/chrome-sandbox
- strip %{buildroot}%{chromium_path}/chrome-sandbox
- cp -a chrome_crashpad_handler %{buildroot}%{chromium_path}/chrome_crashpad_handler
- strip %{buildroot}%{chromium_path}/chrome_crashpad_handler
- cp -a ../../chrome/app/resources/manpage.1.in %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1
- sed -i "s|@@PACKAGE@@|%{chromium_browser_channel}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1
- sed -i "s|@@MENUNAME@@|%{chromium_menu_name}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1
- # V8 initial snapshots
- # https://code.google.com/p/chromium/issues/detail?id=421063
- cp -a snapshot_blob.bin %{buildroot}%{chromium_path}
- cp -a v8_context_snapshot.bin %{buildroot}%{chromium_path}
- cp -a xdg-mime xdg-settings %{buildroot}%{chromium_path}
- cp -a MEIPreload %{buildroot}%{chromium_path}
- # This is ANGLE, not to be confused with the similarly named files under swiftshader/
- cp -a libEGL.so* libGLESv2.so* %{buildroot}%{chromium_path}
- strip %{buildroot}%{chromium_path}/libEGL.so
- strip %{buildroot}%{chromium_path}/libGLESv2.so
-
- %if %{build_clear_key_cdm}
- %ifarch i686
- cp -a ClearKeyCdm/_platform_specific/linux_x86/libclearkeycdm.so %{buildroot}%{chromium_path}
+
+ln -sr %{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel}
+mkdir -p %{buildroot}%{_mandir}/man1/
+
+pushd %{builddir}
+ cp -a chrom*.pak resources.pak locales resources icudtl.dat %{buildroot}%{chromium_path}
+ %ifarch x86_64 i686 aarch64
+ cp -a libvk_swiftshader.so %{buildroot}%{chromium_path}
+ strip %{buildroot}%{chromium_path}/libvk_swiftshader.so
+ cp -a libvulkan.so.1 %{buildroot}%{chromium_path}
+ strip %{buildroot}%{chromium_path}/libvulkan.so.1
+ cp -a vk_swiftshader_icd.json %{buildroot}%{chromium_path}
+ %endif
+ cp -a chrome %{buildroot}%{chromium_path}/%{chromium_browser_channel}
+ # Explicitly strip chromium-browser (since we don't use debuginfo here anyway)
+ strip %{buildroot}%{chromium_path}/%{chromium_browser_channel}
+ cp -a chrome_sandbox %{buildroot}%{chromium_path}/chrome-sandbox
+ strip %{buildroot}%{chromium_path}/chrome-sandbox
+ cp -a chrome_crashpad_handler %{buildroot}%{chromium_path}/chrome_crashpad_handler
+ strip %{buildroot}%{chromium_path}/chrome_crashpad_handler
+ cp -a ../../chrome/app/resources/manpage.1.in %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1
+ sed -i "s|@@PACKAGE@@|%{chromium_browser_channel}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1
+ sed -i "s|@@MENUNAME@@|%{chromium_menu_name}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1
+
+ # V8 initial snapshots
+ # https://code.google.com/p/chromium/issues/detail?id=421063
+ cp -a snapshot_blob.bin %{buildroot}%{chromium_path}
+ cp -a v8_context_snapshot.bin %{buildroot}%{chromium_path}
+ cp -a xdg-mime xdg-settings %{buildroot}%{chromium_path}
+ cp -a MEIPreload %{buildroot}%{chromium_path}
+
+ # This is ANGLE, not to be confused with the similarly named files under swiftshader/
+ cp -a libEGL.so libGLESv2.so %{buildroot}%{chromium_path}
+ strip %{buildroot}%{chromium_path}/libEGL.so
+ strip %{buildroot}%{chromium_path}/libGLESv2.so
+
+ %if %{build_clear_key_cdm}
+ %ifarch i686
+ cp -a ClearKeyCdm/_platform_specific/linux_x86/libclearkeycdm.so %{buildroot}%{chromium_path}
+ %else
+ %ifarch x86_64
+ cp -a ClearKeyCdm/_platform_specific/linux_x64/libclearkeycdm.so %{buildroot}%{chromium_path}
%else
- %ifarch x86_64
- cp -a ClearKeyCdm/_platform_specific/linux_x64/libclearkeycdm.so %{buildroot}%{chromium_path}
+ %ifarch aarch64
+ cp -a ClearKeyCdm/_platform_specific/linux_arm64/libclearkeycdm.so %{buildroot}%{chromium_path}
%else
- %ifarch aarch64
- cp -a ClearKeyCdm/_platform_specific/linux_arm64/libclearkeycdm.so %{buildroot}%{chromium_path}
- %else
- cp -a libclearkeycdm.so %{buildroot}%{chromium_path}
- %endif
+ cp -a libclearkeycdm.so %{buildroot}%{chromium_path}
%endif
%endif
- strip %{buildroot}%{chromium_path}/libclearkeycdm.so
%endif
+ strip %{buildroot}%{chromium_path}/libclearkeycdm.so
+ %endif
- %if 0%{?shared}
- cp -a lib*.so* %{buildroot}%{chromium_path}
- # cp -p %%{buildroot}%{chromium_path}/libwidevinecdm.so{,.fedora}
- cp -p %{buildroot}%{chromium_path}/libffmpeg.so{,.%{lsuffix}}
- cp -p %{buildroot}%{chromium_path}/libffmpeg.so.TOC{,.%{lsuffix}}
- cp -p %{buildroot}%{chromium_path}/libmedia.so{,.%{lsuffix}}
- cp -p %{buildroot}%{chromium_path}/libmedia.so.TOC{,.%{lsuffix}}
- %endif
+ # chromedriver
+ cp -a chromedriver %{buildroot}%{chromium_path}/chromedriver
+ ln -sr %{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver
- # chromedriver
- cp -a chromedriver %{buildroot}%{chromium_path}/chromedriver
- ln -s %{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver
-
- %if %{build_remoting}
- # Remote desktop bits
- mkdir -p %{buildroot}%{crd_path}
-
- %if 0%{?shared}
- pushd %{buildroot}%{crd_path}
- for i in ../chromium-browser%{?chromium_channel}/lib*.so; do
- libname=`basename $i`
- ln -s $i $libname
- done
- popd
- %endif
- %endif
- popd
%if %{build_remoting}
- pushd %{remotingbuilddir}
-
- # Hey, there is a library now.
- cp -a libremoting_core.so* %{buildroot}%{crd_path}/
- strip %{buildroot}%{crd_path}/libremoting_core.so
-
- # See remoting/host/installer/linux/Makefile for logic
- cp -a remoting_native_messaging_host %{buildroot}%{crd_path}/native-messaging-host
- cp -a remote_assistance_host %{buildroot}%{crd_path}/remote-assistance-host
- cp -a remoting_locales %{buildroot}%{crd_path}/
- cp -a remoting_me2me_host %{buildroot}%{crd_path}/chrome-remote-desktop-host
- cp -a remoting_start_host %{buildroot}%{crd_path}/start-host
- cp -a remoting_user_session %{buildroot}%{crd_path}/user-session
- chmod +s %{buildroot}%{crd_path}/user-session
-
- # chromium
- mkdir -p %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts
- # google-chrome
- mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/
- cp -a remoting/* %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/
- for i in %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/*.json; do
- sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' $i
- done
- mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts
- pushd %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts
- for i in ../../../chromium/native-messaging-hosts/*; do
- # rpm gets unhappy when we symlink here
- cp -a $i .
- done
- popd
- popd
-
- mkdir -p %{buildroot}/var/lib/chrome-remote-desktop
- touch %{buildroot}/var/lib/chrome-remote-desktop/hashes
-
- mkdir -p %{buildroot}%{_sysconfdir}/pam.d/
- pushd %{buildroot}%{_sysconfdir}/pam.d/
- ln -s system-auth chrome-remote-desktop
- popd
+ # Remote desktop bits
+ mkdir -p %{buildroot}%{crd_path}
%endif
+popd
- %if %{build_headless}
- pushd %{headlessbuilddir}
- cp -a headless_lib_data.pak headless_lib_strings.pak headless_shell %{buildroot}%{chromium_path}
- # Explicitly strip headless_shell binary
- strip %{buildroot}%{chromium_path}/headless_shell
+%if %{build_remoting}
+ pushd %{remotingbuilddir}
+ # Hey, there is a library now.
+ cp -a libremoting_core.so* %{buildroot}%{crd_path}/
+ strip %{buildroot}%{crd_path}/libremoting_core.so
+
+ # See remoting/host/installer/linux/Makefile for logic
+ cp -a remoting_native_messaging_host %{buildroot}%{crd_path}/native-messaging-host
+ cp -a remote_assistance_host %{buildroot}%{crd_path}/remote-assistance-host
+ cp -a remoting_locales %{buildroot}%{crd_path}/
+ cp -a remoting_me2me_host %{buildroot}%{crd_path}/chrome-remote-desktop-host
+ cp -a remoting_start_host %{buildroot}%{crd_path}/start-host
+ cp -a remoting_user_session %{buildroot}%{crd_path}/user-session
+ chmod +s %{buildroot}%{crd_path}/user-session
+
+ # chromium
+ mkdir -p %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts
+ # google-chrome
+ mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/
+ cp -a remoting/* %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/
+ for i in %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/*.json; do
+ sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' $i
+ done
+ mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts
+ pushd %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts
+ for i in ../../../chromium/native-messaging-hosts/*; do
+ # rpm gets unhappy when we symlink here
+ cp -a $i .
+ done
popd
- %endif
+ popd
- %if %{build_remoting}
- cp -a remoting/host/linux/linux_me2me_host.py %{buildroot}%{crd_path}/chrome-remote-desktop
- cp -a remoting/host/installer/linux/is-remoting-session %{buildroot}%{crd_path}/
+ mkdir -p %{buildroot}/var/lib/chrome-remote-desktop
+ touch %{buildroot}/var/lib/chrome-remote-desktop/hashes
- mkdir -p %{buildroot}%{_unitdir}
- cp -a %{SOURCE11} %{buildroot}%{_unitdir}/
- sed -i 's|@@CRD_PATH@@|%{crd_path}|g' %{buildroot}%{_unitdir}/chrome-remote-desktop@.service
- %endif
+ mkdir -p %{buildroot}%{_sysconfdir}/pam.d/
+ pushd %{buildroot}%{_sysconfdir}/pam.d/
+ ln -s system-auth chrome-remote-desktop
+ popd
+%endif
- # Add directories for policy management
- mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/managed
- mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/recommended
+%if %{build_headless}
+ pushd %{headlessbuilddir}
+ cp -a headless_lib_data.pak headless_lib_strings.pak headless_shell %{buildroot}%{chromium_path}
+ # Explicitly strip headless_shell binary
+ strip %{buildroot}%{chromium_path}/headless_shell
+ popd
+%endif
- cp -a out/Release/gen/chrome/app/policy/common/html/en-US/*.html .
- cp -a out/Release/gen/chrome/app/policy/linux/examples/chrome.json .
+%if %{build_remoting}
+ cp -a remoting/host/linux/linux_me2me_host.py %{buildroot}%{crd_path}/chrome-remote-desktop
+ cp -a remoting/host/installer/linux/is-remoting-session %{buildroot}%{crd_path}/
- mkdir -p %{buildroot}%{_datadir}/icons/hicolor/256x256/apps
- cp -a chrome/app/theme/chromium/product_logo_256.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{chromium_browser_channel}.png
- mkdir -p %{buildroot}%{_datadir}/icons/hicolor/128x128/apps
- cp -a chrome/app/theme/chromium/product_logo_128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{chromium_browser_channel}.png
- mkdir -p %{buildroot}%{_datadir}/icons/hicolor/64x64/apps
- cp -a chrome/app/theme/chromium/product_logo_64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{chromium_browser_channel}.png
- mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps
- cp -a chrome/app/theme/chromium/product_logo_48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{chromium_browser_channel}.png
- mkdir -p %{buildroot}%{_datadir}/icons/hicolor/24x24/apps
- cp -a chrome/app/theme/chromium/product_logo_24.png %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/%{chromium_browser_channel}.png
+ mkdir -p %{buildroot}%{_unitdir}
+ cp -a %{SOURCE11} %{buildroot}%{_unitdir}/
+ sed -i 's|@@CRD_PATH@@|%{crd_path}|g' %{buildroot}%{_unitdir}/chrome-remote-desktop@.service
+%endif
- # Install the master_preferences file
- mkdir -p %{buildroot}%{_sysconfdir}/%{name}
- install -m 0644 %{SOURCE13} %{buildroot}%{_sysconfdir}/%{name}/
+# Add directories for policy management
+mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/managed
+mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/recommended
- mkdir -p %{buildroot}%{_datadir}/applications/
- desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE4}
+cp -a out/Release/gen/chrome/app/policy/common/html/en-US/*.html .
+cp -a out/Release/gen/chrome/app/policy/linux/examples/chrome.json .
- install -D -m0644 chrome/installer/linux/common/chromium-browser/chromium-browser.appdata.xml ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml
- appstream-util validate-relax --nonet ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml
+mkdir -p %{buildroot}%{_datadir}/icons/hicolor/256x256/apps
+cp -a chrome/app/theme/chromium/product_logo_256.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{chromium_browser_channel}.png
+mkdir -p %{buildroot}%{_datadir}/icons/hicolor/128x128/apps
+cp -a chrome/app/theme/chromium/product_logo_128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{chromium_browser_channel}.png
+mkdir -p %{buildroot}%{_datadir}/icons/hicolor/64x64/apps
+cp -a chrome/app/theme/chromium/product_logo_64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{chromium_browser_channel}.png
+mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps
+cp -a chrome/app/theme/chromium/product_logo_48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{chromium_browser_channel}.png
+mkdir -p %{buildroot}%{_datadir}/icons/hicolor/24x24/apps
+cp -a chrome/app/theme/chromium/product_logo_24.png %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/%{chromium_browser_channel}.png
- mkdir -p %{buildroot}%{_datadir}/gnome-control-center/default-apps/
- cp -a %{SOURCE9} %{buildroot}%{_datadir}/gnome-control-center/default-apps/
+# Install the master_preferences file
+mkdir -p %{buildroot}%{_sysconfdir}/%{name}
+install -m 0644 %{SOURCE13} %{buildroot}%{_sysconfdir}/%{name}/
- mkdir -p %{buildroot}%{chromium_path}/PepperFlash
+mkdir -p %{buildroot}%{_datadir}/applications/
+desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE4}
-# freeworld conditional
-%endif
+install -D -m0644 chrome/installer/linux/common/chromium-browser/chromium-browser.appdata.xml \
+ ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml
+appstream-util validate-relax --nonet ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml
+
+mkdir -p %{buildroot}%{_datadir}/gnome-control-center/default-apps/
+cp -a %{SOURCE9} %{buildroot}%{_datadir}/gnome-control-center/default-apps/
%post
# Set SELinux labels - semanage itself will adjust the lib directory naming
@@ -1948,44 +1610,6 @@ if st and st.type == "link" then
end
%endif
-%if %{shared}
-%if %{freeworld}
-%posttrans -n chromium-libs-media-freeworld
-%{_sbindir}/update-alternatives --install \
- %{_libdir}/chromium-browser/libffmpeg.so libffmpeg.so \
- %{_libdir}/chromium-browser/libffmpeg.so.freeworld 20 \
- --slave %{_libdir}/chromium-browser/libffmpeg.so.TOC libffmpeg.so.TOC \
- %{_libdir}/chromium-browser/libffmpeg.so.TOC.freeworld \
- --slave %{_libdir}/chromium-browser/libmedia.so libmedia.so \
- %{_libdir}/chromium-browser/libmedia.so.freeworld \
- --slave %{_libdir}/chromium-browser/libmedia.so.TOC libmedia.so.TOC \
- %{_libdir}/chromium-browser/libmedia.so.TOC.freeworld
-
-%preun -n chromium-libs-media-freeworld
-if [ $1 = 0 ]; then
- %{_sbindir}/alternatives --remove libffmpeg.so \
- %{_libdir}/chromium-browser/libffmpeg.so.freeworld
-fi
-%else
-%posttrans libs-media
-%{_sbindir}/update-alternatives --install \
- %{_libdir}/chromium-browser/libffmpeg.so libffmpeg.so \
- %{_libdir}/chromium-browser/libffmpeg.so.fedora 10 \
- --slave %{_libdir}/chromium-browser/libffmpeg.so.TOC libffmpeg.so.TOC \
- %{_libdir}/chromium-browser/libffmpeg.so.TOC.fedora \
- --slave %{_libdir}/chromium-browser/libmedia.so libmedia.so \
- %{_libdir}/chromium-browser/libmedia.so.fedora \
- --slave %{_libdir}/chromium-browser/libmedia.so.TOC libmedia.so.TOC \
- %{_libdir}/chromium-browser/libmedia.so.TOC.fedora
-
-%preun libs-media
-if [ $1 = 0 ]; then
- %{_sbindir}/alternatives --remove libffmpeg.so \
- %{_libdir}/chromium-browser/libffmpeg.so.fedora
-fi
-%endif
-%endif
-
%if %{build_remoting}
%pre -n chrome-remote-desktop
getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-desktop
@@ -2000,18 +1624,14 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%systemd_postun_with_restart chrome-remote-desktop@.service
%endif
-%if 0%{freeworld}
-# We only build libs-media-freeworld.
-%else
-
%files
%doc AUTHORS
%doc chrome_policy_list.html *.json
%license LICENSE
%config %{_sysconfdir}/%{name}/
-# %%dir %%{_sysconfdir}/%%{name}/native-messaging-hosts
-# This is chrome-remote-desktop stuff
+%if %{build_remoting}
%exclude %{_sysconfdir}/%{name}/native-messaging-hosts/*
+%endif
%{_bindir}/%{chromium_browser_channel}
%dir %{chromium_path}
%{chromium_path}/*.bin
@@ -2024,13 +1644,6 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%{chromium_path}/libEGL.so*
%{chromium_path}/libGLESv2.so*
%{chromium_path}/MEIPreload/
-%dir %{chromium_path}/PepperFlash/
-%if 0
-%{chromium_path}/protoc
-%endif
-# %%{chromium_path}/remoting_locales/
-# %%{chromium_path}/pseudo_locales/
-# %%{chromium_path}/plugins/
%attr(4755, root, root) %{chromium_path}/chrome-sandbox
%{chromium_path}/xdg-mime
%{chromium_path}/xdg-settings
@@ -2048,13 +1661,12 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%if %{build_clear_key_cdm}
%{chromium_path}/libclearkeycdm.so
%endif
-# %%{chromium_path}/mus_app_resources_*.pak
+
%if 0
%{chromium_path}/pyproto/
%endif
%{chromium_path}/resources/
%ifarch x86_64 i686 aarch64
-# %%{chromium_path}/swiftshader/
%{chromium_path}/libvk_swiftshader.so*
%{chromium_path}/libvulkan.so*
%{chromium_path}/vk_swiftshader_icd.json
@@ -2130,23 +1742,12 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%{chromium_path}/headless_shell
%endif
-%if 0%{?shared}
-%files libs
-%exclude %{chromium_path}/libffmpeg.so*
-%exclude %{chromium_path}/libmedia.so*
-# %%exclude %%{chromium_path}/libwidevinecdm.so
-%{chromium_path}/lib*.so*
-%endif
-
%if %{build_remoting}
%files -n chrome-remote-desktop
%{crd_path}/chrome-remote-desktop
%{crd_path}/chrome-remote-desktop-host
%{crd_path}/is-remoting-session
%{crd_path}/libremoting_core.so*
-%if 0%{?shared}
-%{crd_path}/lib*.so
-%endif
%{crd_path}/native-messaging-host
%{crd_path}/remote-assistance-host
%{_sysconfdir}/pam.d/chrome-remote-desktop
@@ -2165,22 +1766,11 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%{_bindir}/chromedriver
%{chromium_path}/chromedriver
-%endif
-
-%if 0%{?shared}
-%if %{freeworld}
-%files -n chromium-libs-media-freeworld
-%else
-%files libs-media
-%endif
-%{chromium_path}/libffmpeg.so.%{lsuffix}*
-%{chromium_path}/libffmpeg.so.TOC.%{lsuffix}*
-%{chromium_path}/libmedia.so.%{lsuffix}*
-%{chromium_path}/libmedia.so.TOC.%{lsuffix}*
-%endif
-
-
%changelog
+* Wed Dec 28 2022 Than Ngo <than(a)redhat.com> - 108.0.5359.124-1
+- update to 108.0.5359.124
+- switch to clang
+
* Tue Nov 29 2022 Than Ngo <than(a)redhat.com> - 107.0.5304.121-1
- update to 107.0.5304.121
diff --git a/sources b/sources
index bf539e7..adb7c77 100644
--- a/sources
+++ b/sources
@@ -15,10 +15,8 @@ SHA512 (Tinos-Bold.ttf) = 54aeca804c06a4d5c57ade596e73df91a6a1c4401c4aadba55d987
SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0e22a16414278217f37497b904a18540273c0e2d79d4f1faabde3b0eb5446283b318c73bafb38
SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f
SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd
-SHA512 (xcb-proto-1.14.tar.xz) = de66d568163b6da2be9d6c59984f3afa3acd119a781378638045fd68018665ef5c9af98f024e9962ba3eb7c7a4d85c27ba70ffafceb2324ccc6940f34de16690
-SHA512 (depot_tools.git-master.tar.gz) = dc323888812b66cc92c53a24a8a58ccf9e2961be67aa21852bd091b8b49569071f06ae9104cb58950e6253ac3a29f0db0663e9f35ef2b1ea28696efb38b42708
SHA512 (NotoSansSymbols2-Regular.ttf) = 2644b42c3fdccfe12395f9b61553aced169a0f1dc09f5a0fd7898e9d0a372ee4422b6b1cdab3c86ecc91db437e9ae8a951e64e85edc3ac9e9fca428852dbb2ad
SHA512 (NotoSansTibetan-Regular.ttf) = fb5a48fcaea80eebe7d692f6fcf00d59d47658a358d0ec8e046fc559873f88bd595b2da474d2826abd9e9305f3741c69058d867b1e6048f37fe7d71b5d3af36a
SHA512 (node-v16.17.0-linux-x64.tar.xz) = aedfeeb71420a7fbcb07fbc4c5d2ba74ffe4f88c15998809346a84148132ec866dbae4e848531a2a77ca41413f442e1046f981d4f188bdf667faf88069aa28cd
SHA512 (node-v16.17.0-linux-arm64.tar.xz) = ae4aabc2389779c9e1b4a15622cae3ba50e0c313ca3d7a1dc7b2344df06ade1f303d6a75b941d37e2a0ef368cf047c862a822a893684494f55446afd6ab0610e
-SHA512 (chromium-107.0.5304.121-clean.tar.xz) = d50af82aeec0c3683ec73e177eb3bb71b5c05cddf1723500c9e28221d1e5cbf3bfa2b3807672b5fbdceeaaae222723261fdaf72e84e1782c72255f24554aed69
+SHA512 (chromium-108.0.5359.124-clean.tar.xz) = a47fb046b5be2f26f65f467a20fe300a86542bebf3d7e8d8a6064458bf4cfcc0243a1f5212755d1d4121b79f79bc2d3b61d7918431daef26538f0755608e444b
https://src.fedoraproject.org/rpms/chromium/c/3aaab3062e93aad413dd75b5d8f...
1Â year, 4Â months
than pushed to rpms/chromium (f37). "drop build dependency on
python3-importlib-metadata (..more)"
by notificationsï¼ fedoraproject.org
Notification time stamped 2022-12-31 12:59:37 UTC
From 3cd5befbda9a87abc6ea333e50a5708b2f374f47 Mon Sep 17 00:00:00 2001
From: Than Ngo <than(a)redhat.com>
Date: Dec 28 2022 21:08:28 +0000
Subject: drop build dependency on python3-importlib-metadata
fix symlinks
---
diff --git a/chromium-105.0.5195.125-arm64-gcc-fix.patch b/chromium-105.0.5195.125-arm64-gcc-fix.patch
deleted file mode 100644
index d9ad16a..0000000
--- a/chromium-105.0.5195.125-arm64-gcc-fix.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up chromium-105.0.5195.125/v8/BUILD.gn.arm64-gcc-fix chromium-105.0.5195.125/v8/BUILD.gn
---- chromium-105.0.5195.125/v8/BUILD.gn.arm64-gcc-fix 2022-09-20 18:12:30.766293126 +0000
-+++ chromium-105.0.5195.125/v8/BUILD.gn 2022-09-20 18:13:04.376435347 +0000
-@@ -1095,7 +1095,7 @@ config("toolchain") {
- defines += [ "V8_TARGET_ARCH_ARM64" ]
- if (current_cpu == "arm64") {
- # This will enable PAC+BTI in code generation and static code.
-- if (v8_control_flow_integrity &&
-+ if (v8_control_flow_integrity && is_clang &&
- (!build_with_chromium || arm_control_flow_integrity == "standard")) {
- cflags += [ "-mbranch-protection=standard" ]
- asmflags = [ "-mmark-bti-property" ]
diff --git a/chromium-108-drop-python-importlib-metadata.patch b/chromium-108-drop-python-importlib-metadata.patch
new file mode 100644
index 0000000..dbba0c6
--- /dev/null
+++ b/chromium-108-drop-python-importlib-metadata.patch
@@ -0,0 +1,80 @@
+diff -up chromium-108.0.5359.124/third_party/mako/mako/mako/compat.py.drop-python-importlib-metadata chromium-108.0.5359.124/third_party/mako/mako/mako/compat.py
+--- chromium-108.0.5359.124/third_party/mako/mako/mako/compat.py.drop-python-importlib-metadata 2022-12-14 01:40:09.000000000 +0100
++++ chromium-108.0.5359.124/third_party/mako/mako/mako/compat.py 2022-12-28 14:07:33.761045114 +0100
+@@ -11,7 +11,6 @@ import sys
+
+ win32 = sys.platform.startswith("win")
+ pypy = hasattr(sys, "pypy_version_info")
+-py38 = sys.version_info >= (3, 8)
+
+ ArgSpec = collections.namedtuple(
+ "ArgSpec", ["args", "varargs", "keywords", "defaults"]
+@@ -60,17 +59,3 @@ def exception_as():
+
+ def exception_name(exc):
+ return exc.__class__.__name__
+-
+-
+-if py38:
+- from importlib import metadata as importlib_metadata
+-else:
+- import importlib_metadata # noqa
+-
+-
+-def importlib_metadata_get(group):
+- ep = importlib_metadata.entry_points()
+- if hasattr(ep, "select"):
+- return ep.select(group=group)
+- else:
+- return ep.get(group, ())
+diff -up chromium-108.0.5359.124/third_party/mako/mako/mako/util.py.drop-python-importlib-metadata chromium-108.0.5359.124/third_party/mako/mako/mako/util.py
+--- chromium-108.0.5359.124/third_party/mako/mako/mako/util.py.drop-python-importlib-metadata 2022-12-14 01:40:09.000000000 +0100
++++ chromium-108.0.5359.124/third_party/mako/mako/mako/util.py 2022-12-28 14:07:33.761045114 +0100
+@@ -11,8 +11,6 @@ import os
+ import re
+ import timeit
+
+-from .compat import importlib_metadata_get
+-
+
+ def update_wrapper(decorated, fn):
+ decorated.__wrapped__ = fn
+@@ -28,17 +26,17 @@ class PluginLoader:
+ def load(self, name):
+ if name in self.impls:
+ return self.impls[name]()
++ import pkg_resources
+
+- for impl in importlib_metadata_get(self.group):
+- if impl.name == name:
+- self.impls[name] = impl.load
+- return impl.load()
+-
+- from mako import exceptions
+-
+- raise exceptions.RuntimeException(
+- "Can't load plugin %s %s" % (self.group, name)
+- )
++ for impl in pkg_resources.iter_entry_points(self.group, name):
++ self.impls[name] = impl.load
++ return impl.load()
++ else:
++ from mako import exceptions
++
++ raise exceptions.RuntimeException(
++ "Can't load plugin %s %s" % (self.group, name)
++ )
+
+ def register(self, name, modulepath, objname):
+ def load():
+diff -up chromium-108.0.5359.124/third_party/mako/mako/setup.cfg.drop-python-importlib-metadata chromium-108.0.5359.124/third_party/mako/mako/setup.cfg
+--- chromium-108.0.5359.124/third_party/mako/mako/setup.cfg.drop-python-importlib-metadata 2022-12-28 14:07:33.761045114 +0100
++++ chromium-108.0.5359.124/third_party/mako/mako/setup.cfg 2022-12-28 15:30:47.024152133 +0100
+@@ -33,7 +33,6 @@ python_requires = >=3.7
+ zip_safe = false
+ install_requires =
+ MarkupSafe >= 0.9.2
+- importlib-metadata;python_version<"3.8"
+
+ [options.packages.find]
+ exclude =
diff --git a/chromium-108-el7-drop-python-importlib-metadata.patch b/chromium-108-el7-drop-python-importlib-metadata.patch
deleted file mode 100644
index dbba0c6..0000000
--- a/chromium-108-el7-drop-python-importlib-metadata.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-diff -up chromium-108.0.5359.124/third_party/mako/mako/mako/compat.py.drop-python-importlib-metadata chromium-108.0.5359.124/third_party/mako/mako/mako/compat.py
---- chromium-108.0.5359.124/third_party/mako/mako/mako/compat.py.drop-python-importlib-metadata 2022-12-14 01:40:09.000000000 +0100
-+++ chromium-108.0.5359.124/third_party/mako/mako/mako/compat.py 2022-12-28 14:07:33.761045114 +0100
-@@ -11,7 +11,6 @@ import sys
-
- win32 = sys.platform.startswith("win")
- pypy = hasattr(sys, "pypy_version_info")
--py38 = sys.version_info >= (3, 8)
-
- ArgSpec = collections.namedtuple(
- "ArgSpec", ["args", "varargs", "keywords", "defaults"]
-@@ -60,17 +59,3 @@ def exception_as():
-
- def exception_name(exc):
- return exc.__class__.__name__
--
--
--if py38:
-- from importlib import metadata as importlib_metadata
--else:
-- import importlib_metadata # noqa
--
--
--def importlib_metadata_get(group):
-- ep = importlib_metadata.entry_points()
-- if hasattr(ep, "select"):
-- return ep.select(group=group)
-- else:
-- return ep.get(group, ())
-diff -up chromium-108.0.5359.124/third_party/mako/mako/mako/util.py.drop-python-importlib-metadata chromium-108.0.5359.124/third_party/mako/mako/mako/util.py
---- chromium-108.0.5359.124/third_party/mako/mako/mako/util.py.drop-python-importlib-metadata 2022-12-14 01:40:09.000000000 +0100
-+++ chromium-108.0.5359.124/third_party/mako/mako/mako/util.py 2022-12-28 14:07:33.761045114 +0100
-@@ -11,8 +11,6 @@ import os
- import re
- import timeit
-
--from .compat import importlib_metadata_get
--
-
- def update_wrapper(decorated, fn):
- decorated.__wrapped__ = fn
-@@ -28,17 +26,17 @@ class PluginLoader:
- def load(self, name):
- if name in self.impls:
- return self.impls[name]()
-+ import pkg_resources
-
-- for impl in importlib_metadata_get(self.group):
-- if impl.name == name:
-- self.impls[name] = impl.load
-- return impl.load()
--
-- from mako import exceptions
--
-- raise exceptions.RuntimeException(
-- "Can't load plugin %s %s" % (self.group, name)
-- )
-+ for impl in pkg_resources.iter_entry_points(self.group, name):
-+ self.impls[name] = impl.load
-+ return impl.load()
-+ else:
-+ from mako import exceptions
-+
-+ raise exceptions.RuntimeException(
-+ "Can't load plugin %s %s" % (self.group, name)
-+ )
-
- def register(self, name, modulepath, objname):
- def load():
-diff -up chromium-108.0.5359.124/third_party/mako/mako/setup.cfg.drop-python-importlib-metadata chromium-108.0.5359.124/third_party/mako/mako/setup.cfg
---- chromium-108.0.5359.124/third_party/mako/mako/setup.cfg.drop-python-importlib-metadata 2022-12-28 14:07:33.761045114 +0100
-+++ chromium-108.0.5359.124/third_party/mako/mako/setup.cfg 2022-12-28 15:30:47.024152133 +0100
-@@ -33,7 +33,6 @@ python_requires = >=3.7
- zip_safe = false
- install_requires =
- MarkupSafe >= 0.9.2
-- importlib-metadata;python_version<"3.8"
-
- [options.packages.find]
- exclude =
diff --git a/chromium.spec b/chromium.spec
index 2271496..c93d7d5 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -313,8 +313,8 @@ Patch86: chromium-94.0.4606.81-clang-format.patch
# This is only in Fedora 37+
Patch87: chromium-99.0.4844.84-markdownsafe-soft_str.patch
-# There is a corner case where v8 tries to pass a clang only flag without checking is_clang
-Patch88: chromium-105.0.5195.125-arm64-gcc-fix.patch
+# drop build dependency on python3-importlib-metadata
+Patch88: chromium-108-drop-python-importlib-metadata.patch
# Fix extra qualification error
Patch97: chromium-107.0.5304.110-remoting-extra-qualification.patch
@@ -331,9 +331,6 @@ Patch100: chromium-108-el7-include-fcntl-memfd.patch
# add define HAVE_STRNDUP on epel7
Patch101: chromium-108-el7-wayland-strndup-error.patch
-# drop build dependency of python3-importlib-metadata on el7
-Patch102: chromium-108-el7-drop-python-importlib-metadata.patch
-
# Work around old and missing headers on EPEL7
Patch103: chromium-99.0.4844.51-epel7-old-headers-workarounds.patch
@@ -613,11 +610,9 @@ BuildRequires: pkgconfig(gtk+-2.0)
%if %{build_with_python3}
BuildRequires: python3-devel
BuildRequires: python3-zipp
-BuildRequires: python3-importlib-metadata
%else
BuildRequires: python2-devel
BuildRequires: python-zipp
-BuildRequires: python-importlib-metadata
%endif
%if 0%{?build_with_python3}
@@ -996,7 +991,7 @@ udev.
%patch87 -p1 -b .markdownsafe-soft_str
%endif
-# %%patch88 -p1 -b .arm64-gcc-fix
+%patch88 -p1 -b .drop-build-dep-on-python3-importlib-metadata
%patch97 -p1 -b .remoting-extra-qualification
%patch98 -p1 -b .InkDropHost-crash
%patch99 -p1 -b .enable-WebRTCPipeWireCapturer-byDefault
@@ -1019,8 +1014,6 @@ udev.
%if 0%{?rhel} == 7
%patch100 -p1 -b .el7-memfd-fcntl-include
%patch101 -p1 -b .wayland-strndup-error
-# drop BR on python3-importlib-metadata
-# %%patch102 -p1 -b .drop-python-importlib-metadata
%patch103 -p1 -b .epel7-header-workarounds
%patch104 -p1 -b .el7cups
%patch105 -p1 -b .el7-old-libdrm
@@ -1439,8 +1432,7 @@ sed -i "s|@@CHROMIUM_BROWSER_CHANNEL@@|$CHROMIUM_BROWSER_CHANNEL|g" %{buildroot}
sed -i "s|@@EXTRA_FLAGS@@|$EXTRA_FLAGS|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
%endif
-
-ln -sr %{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel}
+ln -s ../%{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel}
mkdir -p %{buildroot}%{_mandir}/man1/
pushd %{builddir}
@@ -1494,7 +1486,7 @@ pushd %{builddir}
# chromedriver
cp -a chromedriver %{buildroot}%{chromium_path}/chromedriver
- ln -sr %{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver
+ ln -s ../%{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver
%if %{build_remoting}
# Remote desktop bits
https://src.fedoraproject.org/rpms/chromium/c/3cd5befbda9a87abc6ea333e50a...
1Â year, 4Â months
than pushed to rpms/chromium (f37). "fixed symlinks"
by notificationsï¼ fedoraproject.org
Notification time stamped 2022-12-31 12:59:37 UTC
From 5bc3025588f5a7198acc134e90b84cebafaca98e Mon Sep 17 00:00:00 2001
From: Than Ngo <than(a)redhat.com>
Date: Dec 30 2022 11:07:43 +0000
Subject: fixed symlinks
---
diff --git a/chromium.spec b/chromium.spec
index 7aebe07..8d5662f 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -1367,7 +1367,7 @@ sed -i "s|@@CHROMIUM_BROWSER_CHANNEL@@|$CHROMIUM_BROWSER_CHANNEL|g" %{buildroot}
sed -i "s|@@EXTRA_FLAGS@@|$EXTRA_FLAGS|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
%endif
-ln -s ..%{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel}
+ln -s ../..%{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel}
mkdir -p %{buildroot}%{_mandir}/man1/
pushd %{builddir}
@@ -1422,7 +1422,7 @@ pushd %{builddir}
# chromedriver
cp -a chromedriver %{buildroot}%{chromium_path}/chromedriver
- ln -s ..%{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver
+ ln -s ../..%{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver
%if %{build_remoting}
# Remote desktop bits
https://src.fedoraproject.org/rpms/chromium/c/5bc3025588f5a7198acc134e90b...
1Â year, 4Â months
than pushed to rpms/chromium (f37). "drop support of python2"
by notificationsï¼ fedoraproject.org
Notification time stamped 2022-12-31 12:59:37 UTC
From 3d21a3491ae8c085e9121cffb93615fbefe134eb Mon Sep 17 00:00:00 2001
From: Than Ngo <than(a)redhat.com>
Date: Dec 29 2022 17:10:49 +0000
Subject: drop support of python2
---
diff --git a/chromium-71.0.3578.98-py2-bootstrap.patch b/chromium-71.0.3578.98-py2-bootstrap.patch
deleted file mode 100644
index d575dff..0000000
--- a/chromium-71.0.3578.98-py2-bootstrap.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -up chromium-71.0.3578.98/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 chromium-71.0.3578.98/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py
---- chromium-71.0.3578.98/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 2018-12-12 17:02:58.000000000 -0500
-+++ chromium-71.0.3578.98/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py 2018-12-14 11:48:22.150229631 -0500
-@@ -58,7 +58,7 @@ def _MinifyJS(input_js):
-
- with tempfile.NamedTemporaryFile() as _:
- args = [
-- 'python',
-+ 'python2',
- rjsmin_path
- ]
- p = subprocess.Popen(args,
-@@ -177,7 +177,7 @@ def _MinifyCSS(css_text):
- os.path.join(py_vulcanize_path, 'third_party', 'rcssmin', 'rcssmin.py'))
-
- with tempfile.NamedTemporaryFile() as _:
-- rcssmin_args = ['python', rcssmin_path]
-+ rcssmin_args = ['python2', rcssmin_path]
- p = subprocess.Popen(rcssmin_args,
- stdin=subprocess.PIPE,
- stdout=subprocess.PIPE,
-diff -up chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py.py2 chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py
---- chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py.py2 2018-12-14 11:48:22.155229522 -0500
-+++ chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py 2018-12-14 11:49:31.043728244 -0500
-@@ -93,7 +93,7 @@ def main(argv):
- if not options.debug:
- gn_gen_args += ' is_debug=false'
- subprocess.check_call([
-- gn_path, 'gen', out_dir,
-+ gn_path, 'gen', out_dir, ' --script-executable=/usr/bin/python2',
- '--args=%s' % gn_gen_args, "--root=" + SRC_ROOT
- ])
-
diff --git a/chromium-75.0.3770.80-vaapi-libva1-compatibility.patch b/chromium-75.0.3770.80-vaapi-libva1-compatibility.patch
deleted file mode 100644
index dc0bfcb..0000000
--- a/chromium-75.0.3770.80-vaapi-libva1-compatibility.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -up chromium-75.0.3770.80/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc.va1compat chromium-75.0.3770.80/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc
---- chromium-75.0.3770.80/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc.va1compat 2019-06-05 11:35:57.274466969 -0400
-+++ chromium-75.0.3770.80/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc 2019-06-05 11:36:17.201067326 -0400
-@@ -39,6 +39,10 @@ enum VAJDADecoderFailure {
- VAJDA_DECODER_FAILURES_MAX,
- };
-
-+#ifndef VA_FOURCC_I420
-+#define VA_FOURCC_I420 VA_FOURCC('I', '4', '2', '0')
-+#endif
-+
- static void ReportToVAJDADecoderFailureUMA(VAJDADecoderFailure failure) {
- UMA_HISTOGRAM_ENUMERATION("Media.VAJDA.DecoderFailure", failure,
- VAJDA_DECODER_FAILURES_MAX + 1);
diff --git a/chromium-91.0.4472.77-aarch64-cxxflags-addition.patch b/chromium-91.0.4472.77-aarch64-cxxflags-addition.patch
deleted file mode 100644
index 0e2e5cd..0000000
--- a/chromium-91.0.4472.77-aarch64-cxxflags-addition.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -up chromium-91.0.4472.77/build/config/compiler/BUILD.gn.aarch-cxxflags chromium-91.0.4472.77/build/config/compiler/BUILD.gn
---- chromium-91.0.4472.77/build/config/compiler/BUILD.gn.aarch-cxxflags 2021-06-02 12:58:21.998750145 -0400
-+++ chromium-91.0.4472.77/build/config/compiler/BUILD.gn 2021-06-02 12:59:29.762092189 -0400
-@@ -1511,6 +1511,10 @@ config("default_warnings") {
- cflags += [ "-Wno-psabi" ]
- }
-
-+ if (current_cpu == "arm64" && !is_clang) {
-+ cflags_cc += [ "-flax-vector-conversions" ]
-+ }
-+
- if (!is_clang) {
- cflags_cc += [
- # See comment for -Wno-c++11-narrowing.
diff --git a/chromium.spec b/chromium.spec
index c93d7d5..109247d 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -33,9 +33,6 @@
# This doesn't work and it doesn't even build as of Chromium 83
%global build_remoting 1
-# This is finally possible with Chromium 93
-%global build_with_python3 1
-
# set nodejs_version
%global nodejs_version v16.17.0
@@ -52,15 +49,11 @@
%global toolset gcc-toolset
%endif
-%if 0%{?build_with_python3}
%if 0%{?rhel} == 7
%global chromium_pybin /usr/bin/python3
%else
%global chromium_pybin %{__python3}
%endif
-%else
-%global chromium_pybin %{__python2}
-%endif
# We'd like to always have this on...
%global use_vaapi 1
@@ -246,11 +239,7 @@ Patch7: chromium-71.0.3578.98-widevine-r3.patch
Patch8: chromium-100.0.4896.60-widevine-other-locations.patch
# Tell bootstrap.py to always use the version of Python we specify
-%if 0%{?build_with_python3}
Patch11: chromium-93.0.4577.63-py3-bootstrap.patch
-%else
-Patch11: chromium-92.0.4515.107-py2-bootstrap.patch
-%endif
# Add "Fedora" to the user agent string
Patch12: chromium-101.0.4951.41-fedora-user-agent.patch
@@ -589,7 +578,7 @@ BuildRequires: libxslt-devel
BuildRequires: libxshmfence-devel
# Same here, it seems.
-# BuildRequires: libyuv-devel
+# BuildRequires: libyuv-devel
BuildRequires: mesa-libGL-devel
%if %{bundleopus}
@@ -607,15 +596,10 @@ BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(gtk+-2.0)
%endif
-%if %{build_with_python3}
BuildRequires: python3-devel
BuildRequires: python3-zipp
-%else
-BuildRequires: python2-devel
-BuildRequires: python-zipp
-%endif
+BuildRequires: python3-simplejson
-%if 0%{?build_with_python3}
%if 0%{?bundlepylibs}
# Using bundled bits, do nothing.
%else
@@ -626,32 +610,10 @@ BuildRequires: python3-markupsafe
BuildRequires: python3-ply
%else
BuildRequires: python-beautifulsoup4
-BuildRequires: python-BeautifulSoup
BuildRequires: python-html5lib
BuildRequires: python-markupsafe
BuildRequires: python-ply
%endif
-BuildRequires: python3-simplejson
-%endif
-%else
-%if 0%{?bundlepylibs}
-# Using bundled bits, do nothing.
-%else
-%if 0%{?fedora}
-BuildRequires: python2-beautifulsoup4
-BuildRequires: python2-beautifulsoup
-BuildRequires: python2-html5lib
-BuildRequires: python2-markupsafe
-BuildRequires: python2-ply
-%else
-BuildRequires: python-beautifulsoup4
-BuildRequires: python-BeautifulSoup
-BuildRequires: python-html5lib
-BuildRequires: python-markupsafe
-BuildRequires: python-ply
-%endif
-BuildRequires: python2-simplejson
-%endif
%endif
%if 0%{?bundlere2}
@@ -911,11 +873,7 @@ Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
Requires: xorg-x11-server-Xvfb
-%if 0%{?build_with_python3}
Requires: python3-psutil
-%else
-Requires: python2-psutil
-%endif
Requires: chromium-common%{_isa} = %{version}-%{release}
Summary: Remote desktop support for google-chrome & chromium
@@ -955,10 +913,7 @@ udev.
%patch6 -p1 -b .nounrar
%patch7 -p1 -b .widevine-hack
%patch8 -p1 -b .widevine-other-locations
-
-%if 0%{?build_with_python3}
%patch11 -p1 -b .py3
-%endif
# Short term fixes (usually gcc and backports)
%patch51 -p1 -b .gcc-remoting-constexpr
@@ -975,7 +930,6 @@ udev.
%patch61 -p1 -b .system-minizip
%endif
-# %%patch62 -p1 -b .update-wayland-client-core
%patch65 -p1 -b .java-only-allowed
%patch67 -p1 -b .remoting-cstring
%patch68 -p1 -b .i686-textrels
@@ -1040,11 +994,7 @@ udev.
# Change shebang in all relevant files in this directory and all subdirectories
# See `man find` for how the `-exec command {} +` syntax works
-%if 0%{?build_with_python3}
find -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?=#!%{__python3}=' {} +
-%else
-find -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?=#!%{__python2}=' {} +
-%endif
# Unpack fonts
pushd third_party/test_fonts
@@ -1161,10 +1111,6 @@ sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' remoting/host/setup/d
sed -i 's|-g2|-g0|g' build/config/compiler/BUILD.gn
%build
-# utf8 issue on epel7
-# Internal parsing error 'ascii' codec can't decode byte 0xe2 in position 474: ordinal not in range(128)
-export LANG=C.UTF-8
-
# Turning the buildsystem up to 11.
ulimit -n 4096
@@ -1189,6 +1135,8 @@ export READELF="eu-readelf"
# enable toolset on el7
%if 0%{?rhel} == 7
+# utf8 issue on epel7, Internal parsing error 'ascii' codec can't decode byte 0xe2 in position 474: ordinal not in range(128)
+export LANG=en_US.UTF-8
%if 0%{?clang}
. /opt/rh/llvm-toolset-%{llvm_toolset_version}/enable
%else
@@ -1363,13 +1311,8 @@ build/linux/unbundle/replace_gn_files.py --system-libraries \
flac
# Check that there is no system 'google' module, shadowing bundled ones:
-%if 0%{?build_with_python3}
if python3 -c 'import google ; print google.__path__' 2> /dev/null ; then \
echo "Python 3 'google' module is defined, this will shadow modules of this build"; \
-%else
-if python2 -c 'import google ; print google.__path__' 2> /dev/null ; then \
- echo "Python 2 'google' module is defined, this will shadow modules of this build"; \
-%endif
exit 1 ; \
fi
https://src.fedoraproject.org/rpms/chromium/c/3d21a3491ae8c085e9121cffb93...
1Â year, 4Â months
than pushed to rpms/chromium (f37). "fixed file list"
by notificationsï¼ fedoraproject.org
Notification time stamped 2022-12-31 12:59:37 UTC
From 23f15e462f13bc4105ff1703cd6ca6f34b54d5c1 Mon Sep 17 00:00:00 2001
From: Than Ngo <than(a)redhat.com>
Date: Dec 30 2022 10:18:52 +0000
Subject: fixed file list
---
diff --git a/chromium.spec b/chromium.spec
index 292d851..7aebe07 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -23,10 +23,10 @@
export NINJA_STATUS="[%2:%f/%t] " ; \
ninja -j %{numjobs} -C '%1' '%2'
-# We usually want this.
+# enable|disable headless client build
%global build_headless 0
-# This doesn't work and it doesn't even build as of Chromium 83
+# enable|disable chrome-remote-desktop build
%global build_remoting 0
# set nodejs_version
@@ -1591,11 +1591,6 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%if %{build_clear_key_cdm}
%{chromium_path}/libclearkeycdm.so
%endif
-
-%if 0
-%{chromium_path}/pyproto/
-%endif
-%{chromium_path}/resources/
%ifarch x86_64 i686 aarch64
%{chromium_path}/libvk_swiftshader.so*
%{chromium_path}/libvulkan.so*
https://src.fedoraproject.org/rpms/chromium/c/23f15e462f13bc4105ff1703cd6...
1Â year, 4Â months
than pushed to rpms/chromium (f37). "- drop use_jumbo buildflag (..more)"
by notificationsï¼ fedoraproject.org
Notification time stamped 2022-12-31 12:59:37 UTC
From 1fc12f4322b4e948f97f0c1606669acde30fac44 Mon Sep 17 00:00:00 2001
From: Than Ngo <than(a)redhat.com>
Date: Dec 29 2022 20:28:51 +0000
Subject: - drop use_jumbo buildflag
- clean up
---
diff --git a/chromium.spec b/chromium.spec
index 109247d..292d851 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -23,15 +23,11 @@
export NINJA_STATUS="[%2:%f/%t] " ; \
ninja -j %{numjobs} -C '%1' '%2'
-# This was faster when it worked, but it didn't always.
-# As of chromium 80, it is no longer supported. RIP.
-%global use_jumbo 0
-
# We usually want this.
-%global build_headless 1
+%global build_headless 0
# This doesn't work and it doesn't even build as of Chromium 83
-%global build_remoting 1
+%global build_remoting 0
# set nodejs_version
%global nodejs_version v16.17.0
@@ -1202,10 +1198,6 @@ CHROMIUM_CORE_GN_DEFINES+=' enable_js_type_check=false'
CHROMIUM_CORE_GN_DEFINES+=' target_cpu="arm64"'
%endif
-%if %{?use_jumbo}
- CHROMIUM_CORE_GN_DEFINES+=' use_jumbo_build=true jumbo_file_merge_limit=8'
-%endif
-
%if 0%{?rhel} == 8
CHROMIUM_CORE_GN_DEFINES+=' use_gnome_keyring=false use_glib=true'
%endif
@@ -1356,7 +1348,7 @@ sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' third_party/swiftshader/
rm -rf %{buildroot}
mkdir -p %{buildroot}%{_bindir}
-mkdir -p %{buildroot}%{chromium_path}
+mkdir -p %{buildroot}%{chromium_path}/locales
cp -a %{SOURCE3} %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
export BUILD_TARGET=`cat /etc/redhat-release`
@@ -1375,11 +1367,12 @@ sed -i "s|@@CHROMIUM_BROWSER_CHANNEL@@|$CHROMIUM_BROWSER_CHANNEL|g" %{buildroot}
sed -i "s|@@EXTRA_FLAGS@@|$EXTRA_FLAGS|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
%endif
-ln -s ../%{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel}
+ln -s ..%{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel}
mkdir -p %{buildroot}%{_mandir}/man1/
pushd %{builddir}
- cp -a chrom*.pak resources.pak locales resources icudtl.dat %{buildroot}%{chromium_path}
+ cp -a chrom*.pak resources.pak icudtl.dat %{buildroot}%{chromium_path}
+ cp -a locales/*.pak %{buildroot}%{chromium_path}/locales/
%ifarch x86_64 i686 aarch64
cp -a libvk_swiftshader.so %{buildroot}%{chromium_path}
strip %{buildroot}%{chromium_path}/libvk_swiftshader.so
@@ -1429,7 +1422,7 @@ pushd %{builddir}
# chromedriver
cp -a chromedriver %{buildroot}%{chromium_path}/chromedriver
- ln -s ../%{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver
+ ln -s ..%{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver
%if %{build_remoting}
# Remote desktop bits
@@ -1440,13 +1433,14 @@ popd
%if %{build_remoting}
pushd %{remotingbuilddir}
# Hey, there is a library now.
- cp -a libremoting_core.so* %{buildroot}%{crd_path}/
+ cp -a libremoting_core.so %{buildroot}%{crd_path}/
strip %{buildroot}%{crd_path}/libremoting_core.so
# See remoting/host/installer/linux/Makefile for logic
+ mkdir -p %{buildroot}%{crd_path}/remoting_locales
cp -a remoting_native_messaging_host %{buildroot}%{crd_path}/native-messaging-host
cp -a remote_assistance_host %{buildroot}%{crd_path}/remote-assistance-host
- cp -a remoting_locales %{buildroot}%{crd_path}/
+ cp -a remoting_locales/*.pak %{buildroot}%{crd_path}/remoting_locales/
cp -a remoting_me2me_host %{buildroot}%{crd_path}/chrome-remote-desktop-host
cp -a remoting_start_host %{buildroot}%{crd_path}/start-host
cp -a remoting_user_session %{buildroot}%{crd_path}/user-session
@@ -1608,69 +1602,69 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%{chromium_path}/vk_swiftshader_icd.json
%endif
%dir %{chromium_path}/locales/
-%lang(af) %{chromium_path}/locales/af.pak*
-%lang(am) %{chromium_path}/locales/am.pak*
-%lang(ar) %{chromium_path}/locales/ar.pak*
-%lang(bg) %{chromium_path}/locales/bg.pak*
-%lang(bn) %{chromium_path}/locales/bn.pak*
-%lang(ca) %{chromium_path}/locales/ca.pak*
-%lang(cs) %{chromium_path}/locales/cs.pak*
-%lang(da) %{chromium_path}/locales/da.pak*
-%lang(de) %{chromium_path}/locales/de.pak*
-%lang(el) %{chromium_path}/locales/el.pak*
-%lang(en_GB) %{chromium_path}/locales/en-GB.pak*
+%lang(af) %{chromium_path}/locales/af.pak
+%lang(am) %{chromium_path}/locales/am.pak
+%lang(ar) %{chromium_path}/locales/ar.pak
+%lang(bg) %{chromium_path}/locales/bg.pak
+%lang(bn) %{chromium_path}/locales/bn.pak
+%lang(ca) %{chromium_path}/locales/ca.pak
+%lang(cs) %{chromium_path}/locales/cs.pak
+%lang(da) %{chromium_path}/locales/da.pak
+%lang(de) %{chromium_path}/locales/de.pak
+%lang(el) %{chromium_path}/locales/el.pak
+%lang(en_GB) %{chromium_path}/locales/en-GB.pak
# Chromium _ALWAYS_ needs en-US.pak as a fallback
# This means we cannot apply the lang code here.
# Otherwise, it is filtered out on install.
-%{chromium_path}/locales/en-US.pak*
-%lang(es) %{chromium_path}/locales/es.pak*
-%lang(es) %{chromium_path}/locales/es-419.pak*
-%lang(et) %{chromium_path}/locales/et.pak*
-%lang(fa) %{chromium_path}/locales/fa.pak*
-%lang(fi) %{chromium_path}/locales/fi.pak*
-%lang(fil) %{chromium_path}/locales/fil.pak*
-%lang(fr) %{chromium_path}/locales/fr.pak*
-%lang(gu) %{chromium_path}/locales/gu.pak*
-%lang(he) %{chromium_path}/locales/he.pak*
-%lang(hi) %{chromium_path}/locales/hi.pak*
-%lang(hr) %{chromium_path}/locales/hr.pak*
-%lang(hu) %{chromium_path}/locales/hu.pak*
-%lang(id) %{chromium_path}/locales/id.pak*
-%lang(it) %{chromium_path}/locales/it.pak*
-%lang(ja) %{chromium_path}/locales/ja.pak*
-%lang(kn) %{chromium_path}/locales/kn.pak*
-%lang(ko) %{chromium_path}/locales/ko.pak*
-%lang(lt) %{chromium_path}/locales/lt.pak*
-%lang(lv) %{chromium_path}/locales/lv.pak*
-%lang(ml) %{chromium_path}/locales/ml.pak*
-%lang(mr) %{chromium_path}/locales/mr.pak*
-%lang(ms) %{chromium_path}/locales/ms.pak*
-%lang(nb) %{chromium_path}/locales/nb.pak*
-%lang(nl) %{chromium_path}/locales/nl.pak*
-%lang(pl) %{chromium_path}/locales/pl.pak*
-%lang(pt_BR) %{chromium_path}/locales/pt-BR.pak*
-%lang(pt_PT) %{chromium_path}/locales/pt-PT.pak*
-%lang(ro) %{chromium_path}/locales/ro.pak*
-%lang(ru) %{chromium_path}/locales/ru.pak*
-%lang(sk) %{chromium_path}/locales/sk.pak*
-%lang(sl) %{chromium_path}/locales/sl.pak*
-%lang(sr) %{chromium_path}/locales/sr.pak*
-%lang(sv) %{chromium_path}/locales/sv.pak*
-%lang(sw) %{chromium_path}/locales/sw.pak*
-%lang(ta) %{chromium_path}/locales/ta.pak*
-%lang(te) %{chromium_path}/locales/te.pak*
-%lang(th) %{chromium_path}/locales/th.pak*
-%lang(tr) %{chromium_path}/locales/tr.pak*
-%lang(uk) %{chromium_path}/locales/uk.pak*
-%lang(ur) %{chromium_path}/locales/ur.pak*
-%lang(vi) %{chromium_path}/locales/vi.pak*
-%lang(zh_CN) %{chromium_path}/locales/zh-CN.pak*
-%lang(zh_TW) %{chromium_path}/locales/zh-TW.pak*
+%{chromium_path}/locales/en-US.pak
+%lang(es) %{chromium_path}/locales/es.pak
+%lang(es) %{chromium_path}/locales/es-419.pak
+%lang(et) %{chromium_path}/locales/et.pak
+%lang(fa) %{chromium_path}/locales/fa.pak
+%lang(fi) %{chromium_path}/locales/fi.pak
+%lang(fil) %{chromium_path}/locales/fil.pak
+%lang(fr) %{chromium_path}/locales/fr.pak
+%lang(gu) %{chromium_path}/locales/gu.pak
+%lang(he) %{chromium_path}/locales/he.pak
+%lang(hi) %{chromium_path}/locales/hi.pak
+%lang(hr) %{chromium_path}/locales/hr.pak
+%lang(hu) %{chromium_path}/locales/hu.pak
+%lang(id) %{chromium_path}/locales/id.pak
+%lang(it) %{chromium_path}/locales/it.pak
+%lang(ja) %{chromium_path}/locales/ja.pak
+%lang(kn) %{chromium_path}/locales/kn.pak
+%lang(ko) %{chromium_path}/locales/ko.pak
+%lang(lt) %{chromium_path}/locales/lt.pak
+%lang(lv) %{chromium_path}/locales/lv.pak
+%lang(ml) %{chromium_path}/locales/ml.pak
+%lang(mr) %{chromium_path}/locales/mr.pak
+%lang(ms) %{chromium_path}/locales/ms.pak
+%lang(nb) %{chromium_path}/locales/nb.pak
+%lang(nl) %{chromium_path}/locales/nl.pak
+%lang(pl) %{chromium_path}/locales/pl.pak
+%lang(pt_BR) %{chromium_path}/locales/pt-BR.pak
+%lang(pt_PT) %{chromium_path}/locales/pt-PT.pak
+%lang(ro) %{chromium_path}/locales/ro.pak
+%lang(ru) %{chromium_path}/locales/ru.pak
+%lang(sk) %{chromium_path}/locales/sk.pak
+%lang(sl) %{chromium_path}/locales/sl.pak
+%lang(sr) %{chromium_path}/locales/sr.pak
+%lang(sv) %{chromium_path}/locales/sv.pak
+%lang(sw) %{chromium_path}/locales/sw.pak
+%lang(ta) %{chromium_path}/locales/ta.pak
+%lang(te) %{chromium_path}/locales/te.pak
+%lang(th) %{chromium_path}/locales/th.pak
+%lang(tr) %{chromium_path}/locales/tr.pak
+%lang(uk) %{chromium_path}/locales/uk.pak
+%lang(ur) %{chromium_path}/locales/ur.pak
+%lang(vi) %{chromium_path}/locales/vi.pak
+%lang(zh_CN) %{chromium_path}/locales/zh-CN.pak
+%lang(zh_TW) %{chromium_path}/locales/zh-TW.pak
# These are psuedolocales, not real ones.
# They only get generated when is_official_build=false
%if ! %{official_build}
-%{chromium_path}/locales/ar-XB.pak*
-%{chromium_path}/locales/en-XA.pak*
+%{chromium_path}/locales/ar-XB.pak
+%{chromium_path}/locales/en-XA.pak
%endif
%if %{build_headless}
https://src.fedoraproject.org/rpms/chromium/c/1fc12f4322b4e948f97f0c16066...
1Â year, 4Â months
than pushed to rpms/chromium (f37). "set use_all_cpus to 0 to avoid
resource temporarily unavailable"
by notificationsï¼ fedoraproject.org
Notification time stamped 2022-12-31 12:59:37 UTC
From 754df0a7629bbbb9c501eac87d95b5688feee266 Mon Sep 17 00:00:00 2001
From: Than Ngo <than(a)redhat.com>
Date: Dec 28 2022 19:34:01 +0000
Subject: set use_all_cpus to 0 to avoid resource temporarily unavailable
---
diff --git a/chromium.spec b/chromium.spec
index 5cacd71..2271496 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -7,7 +7,7 @@
# This flag is so I can build things very fast on a giant system.
# Enabling this in koji causes aarch64 builds to timeout indefinitely.
-%global use_all_cpus 1
+%global use_all_cpus 0
%if %{use_all_cpus}
%global numjobs %{_smp_build_ncpus}
@@ -1019,7 +1019,8 @@ udev.
%if 0%{?rhel} == 7
%patch100 -p1 -b .el7-memfd-fcntl-include
%patch101 -p1 -b .wayland-strndup-error
-%patch102 -p1 -b .drop-python-importlib-metadata
+# drop BR on python3-importlib-metadata
+# %%patch102 -p1 -b .drop-python-importlib-metadata
%patch103 -p1 -b .epel7-header-workarounds
%patch104 -p1 -b .el7cups
%patch105 -p1 -b .el7-old-libdrm
@@ -1169,7 +1170,7 @@ sed -i 's|-g2|-g0|g' build/config/compiler/BUILD.gn
%build
# utf8 issue on epel7
# Internal parsing error 'ascii' codec can't decode byte 0xe2 in position 474: ordinal not in range(128)
-export LC_ALL=en_US.UTF-8
+export LANG=C.UTF-8
# Turning the buildsystem up to 11.
ulimit -n 4096
https://src.fedoraproject.org/rpms/chromium/c/754df0a7629bbbb9c501eac87d9...
1Â year, 4Â months