[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gentoo-dev
Subject:    [gentoo-dev] [PATCH v2] profiles: create features/big-endian
From:       matoro_mailinglist_gentoo-dev () matoro ! tk
Date:       2023-03-31 21:53:17
Message-ID: 20230331215317.30434-1-matoro_mailinglist_gentoo-dev () matoro ! tk
[Download RAW message or body]

From: Matoro Mahri <matoro@users.noreply.github.com>

Using this in the future to dump issues which specifically affect
big-endian platforms to avoid duplicated masks across the entire profile
tree.  This is for masks which are necessary due to problems which arise
solely due to endian correctness.  Solving a problem which causes one of
these masks does not guarantee that the package will automatically work
on all big-endian platforms, but it is a prerequisite to work on any of
them.

Please be cautious about adding things here as it will likely affect a
platform that has not been tested on.  A good heuristic I use is either:

1) works on ppc64le and not on ppc64, or
2) work on 3 different little-endian platforms and not on 3 different
   big-endian platforms, and the BE platforms fail in the same way

https://github.com/gentoo/gentoo/pull/30406

Bug: https://bugs.gentoo.org/896138
Signed-off-by: Matoro Mahri <matoro@users.noreply.github.com>
---
 profiles/arch/arm64/big-endian/parent                |  1 +
 profiles/arch/arm64/big-endian/use.mask              |  6 ------
 profiles/arch/hppa/package.mask                      |  5 -----
 profiles/arch/hppa/parent                            |  1 +
 profiles/arch/hppa/use.mask                          |  4 ----
 profiles/arch/m68k/package.mask                      |  7 -------
 profiles/arch/m68k/parent                            |  1 +
 profiles/arch/m68k/use.mask                          |  4 ----
 profiles/arch/mips/mips64/parent                     |  1 +
 profiles/arch/mips/mipsel/package.mask               |  7 -------
 profiles/arch/mips/o32/parent                        |  1 +
 profiles/arch/mips/package.mask                      |  5 -----
 profiles/arch/mips/use.mask                          |  4 ----
 profiles/arch/powerpc/package.mask                   |  7 -------
 profiles/arch/powerpc/ppc32/parent                   |  1 +
 profiles/arch/powerpc/ppc64/64le/package.mask        |  7 -------
 profiles/arch/powerpc/ppc64/64le/use.mask            |  4 ----
 profiles/arch/powerpc/ppc64/64ul/parent              |  1 +
 profiles/arch/powerpc/use.mask                       |  4 ----
 profiles/arch/s390/package.mask                      |  7 -------
 profiles/arch/s390/parent                            |  1 +
 profiles/arch/s390/use.mask                          |  4 ----
 profiles/arch/sparc/package.mask                     |  5 -----
 profiles/arch/sparc/parent                           |  1 +
 profiles/arch/sparc/use.mask                         |  4 ----
 profiles/features/big-endian/README                  | 12 ++++++++++++
 profiles/features/big-endian/eapi                    |  1 +
 .../{arch/arm64 => features}/big-endian/package.mask |  2 ++
 .../mips/mipsel => features/big-endian}/use.mask     |  6 +++---
 29 files changed, 27 insertions(+), 87 deletions(-)
 delete mode 100644 profiles/arch/arm64/big-endian/use.mask
 delete mode 100644 profiles/arch/m68k/package.mask
 delete mode 100644 profiles/arch/mips/mipsel/package.mask
 delete mode 100644 profiles/arch/s390/package.mask
 create mode 100644 profiles/features/big-endian/README
 create mode 100644 profiles/features/big-endian/eapi
 rename profiles/{arch/arm64 => features}/big-endian/package.mask (87%)
 rename profiles/{arch/mips/mipsel => features/big-endian}/use.mask (56%)

diff --git a/profiles/arch/arm64/big-endian/parent \
b/profiles/arch/arm64/big-endian/parent index f3229c5b9876..3ed68f2e0b7f 100644
--- a/profiles/arch/arm64/big-endian/parent
+++ b/profiles/arch/arm64/big-endian/parent
@@ -1 +1,2 @@
 ..
+../../../features/big-endian
diff --git a/profiles/arch/arm64/big-endian/use.mask \
b/profiles/arch/arm64/big-endian/use.mask deleted file mode 100644
index 4559f7c6124f..000000000000
--- a/profiles/arch/arm64/big-endian/use.mask
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation.
-# Distributed under the terms of the GNU General Public License, v2
-
-# James Le Cuirot <chewi@gentoo.org> (2017-06-29)
-# Unmask as this profile is big endian.
--big-endian
diff --git a/profiles/arch/hppa/package.mask b/profiles/arch/hppa/package.mask
index fcbff238384d..f60c79116aa6 100644
--- a/profiles/arch/hppa/package.mask
+++ b/profiles/arch/hppa/package.mask
@@ -5,11 +5,6 @@
 # Needs explicit porting to each platform (bug 894078#c6)
 dev-python/py-cpuinfo
 
-# matoro <matoro_gentoo@matoro.tk> (2022-03-20)
-# Broken on big-endian (#861710)
-# https://github.com/trendmicro/tlsh/issues/131
-dev-libs/tlsh
-
 # Sam James <sam@gentoo.org> (2023-03-10)
 # Fails to build on HPPA w/ sys-kernel/linux-headers-6.2:
 # https://github.com/strace/strace/issues/241
diff --git a/profiles/arch/hppa/parent b/profiles/arch/hppa/parent
index e234bf836e61..501b677cef63 100644
--- a/profiles/arch/hppa/parent
+++ b/profiles/arch/hppa/parent
@@ -1,2 +1,3 @@
 ../base
 ../../features/wd40
+../../features/big-endian
diff --git a/profiles/arch/hppa/use.mask b/profiles/arch/hppa/use.mask
index 7c05993964fe..5337dd2771fc 100644
--- a/profiles/arch/hppa/use.mask
+++ b/profiles/arch/hppa/use.mask
@@ -62,10 +62,6 @@ plymouth
 # sys-fs/dmraid has not been tested on HPPA
 dmraid
 
-# James Le Cuirot <chewi@gentoo.org> (2017-06-29)
-# Unmask as this profile is big endian.
--big-endian
-
 # Jeroen Roovers <jer@gentoo.org> (2016-01-31)
 # USE=xwidgets requires net-libs/webkit-gtk
 xwidgets
diff --git a/profiles/arch/m68k/package.mask b/profiles/arch/m68k/package.mask
deleted file mode 100644
index 8f83c7d52c61..000000000000
--- a/profiles/arch/m68k/package.mask
+++ /dev/null
@@ -1,7 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# matoro <matoro_gentoo@matoro.tk> (2022-03-20)
-# Broken on big-endian (#861710)
-# https://github.com/trendmicro/tlsh/issues/131
-dev-libs/tlsh
diff --git a/profiles/arch/m68k/parent b/profiles/arch/m68k/parent
index e234bf836e61..501b677cef63 100644
--- a/profiles/arch/m68k/parent
+++ b/profiles/arch/m68k/parent
@@ -1,2 +1,3 @@
 ../base
 ../../features/wd40
+../../features/big-endian
diff --git a/profiles/arch/m68k/use.mask b/profiles/arch/m68k/use.mask
index 18d0a42b42de..1bbcb68e5318 100644
--- a/profiles/arch/m68k/use.mask
+++ b/profiles/arch/m68k/use.mask
@@ -92,10 +92,6 @@ valgrind
 # sys-auth/elogind is not keyworded here.
 elogind
 
-# James Le Cuirot <chewi@gentoo.org> (2017-06-29)
-# Unmask as this profile is big endian.
--big-endian
-
 # Paul de Vrieze <pauldv@gentoo.org>
 # There is no java in this profile (if there is it must be available). Without
 # this, sys-libs/db has unsolvable dependencies
diff --git a/profiles/arch/mips/mips64/parent b/profiles/arch/mips/mips64/parent
index f3229c5b9876..3ed68f2e0b7f 100644
--- a/profiles/arch/mips/mips64/parent
+++ b/profiles/arch/mips/mips64/parent
@@ -1 +1,2 @@
 ..
+../../../features/big-endian
diff --git a/profiles/arch/mips/mipsel/package.mask \
b/profiles/arch/mips/mipsel/package.mask deleted file mode 100644
index e3e194c6e85c..000000000000
--- a/profiles/arch/mips/mipsel/package.mask
+++ /dev/null
@@ -1,7 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# matoro <matoro_gentoo@matoro.tk> (2022-03-20)
-# Broken on big-endian (#861710)
-# https://github.com/trendmicro/tlsh/issues/131
--dev-libs/tlsh
diff --git a/profiles/arch/mips/o32/parent b/profiles/arch/mips/o32/parent
index f3229c5b9876..3ed68f2e0b7f 100644
--- a/profiles/arch/mips/o32/parent
+++ b/profiles/arch/mips/o32/parent
@@ -1 +1,2 @@
 ..
+../../../features/big-endian
diff --git a/profiles/arch/mips/package.mask b/profiles/arch/mips/package.mask
index 68f2756c44fb..d666e9ab084f 100644
--- a/profiles/arch/mips/package.mask
+++ b/profiles/arch/mips/package.mask
@@ -1,11 +1,6 @@
 # Copyright 2006-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-# matoro <matoro_gentoo@matoro.tk> (2022-03-20)
-# Broken on big-endian (#861710)
-# https://github.com/trendmicro/tlsh/issues/131
-dev-libs/tlsh
-
 # Mask pam_ldap and nss_ldap - openldap dep missing.
 sys-auth/pam_ldap
 sys-auth/nss_ldap
diff --git a/profiles/arch/mips/use.mask b/profiles/arch/mips/use.mask
index 661f78219285..409c8ea6b8f7 100644
--- a/profiles/arch/mips/use.mask
+++ b/profiles/arch/mips/use.mask
@@ -38,10 +38,6 @@ networkmanager
 # sci-geosciences/gpsd is not keyworded here.
 gps
 
-# James Le Cuirot <chewi@gentoo.org> (2017-06-29)
-# Unmask as this profile is big endian.
--big-endian
-
 # Mart Raudsepp <leio@gentoo.org> (2017-05-27)
 # media-libs/libmtp not tested
 mtp
diff --git a/profiles/arch/powerpc/package.mask b/profiles/arch/powerpc/package.mask
index 5ecdf5968afa..09ee3b610ae3 100644
--- a/profiles/arch/powerpc/package.mask
+++ b/profiles/arch/powerpc/package.mask
@@ -1,13 +1,6 @@
 # Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-# matoro <matoro_gentoo@matoro.tk> (2022-03-20)
-# Broken on big-endian (#861710)
-# https://github.com/trendmicro/tlsh/issues/131
-dev-libs/tlsh
-dev-python/tlsh
-dev-util/diffoscope
-
 # Georgy Yakovlev <gyakovlev@gentoo.org> (2020-09-22)
 # criu does not work on ppc64be and ppc32
 sys-process/criu
diff --git a/profiles/arch/powerpc/ppc32/parent b/profiles/arch/powerpc/ppc32/parent
index f3229c5b9876..3ed68f2e0b7f 100644
--- a/profiles/arch/powerpc/ppc32/parent
+++ b/profiles/arch/powerpc/ppc32/parent
@@ -1 +1,2 @@
 ..
+../../../features/big-endian
diff --git a/profiles/arch/powerpc/ppc64/64le/package.mask \
b/profiles/arch/powerpc/ppc64/64le/package.mask index aa8fec70dd16..703c39a8fa69 \
                100644
--- a/profiles/arch/powerpc/ppc64/64le/package.mask
+++ b/profiles/arch/powerpc/ppc64/64le/package.mask
@@ -1,13 +1,6 @@
 # Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-# matoro <matoro_gentoo@matoro.tk> (2022-03-20)
-# Broken on big-endian (#861710)
-# https://github.com/trendmicro/tlsh/issues/131
--dev-libs/tlsh
--dev-python/tlsh
--dev-util/diffoscope
-
 # Jimi Huotari <chiitoo@gentoo.org> (2023-01-11)
 # Requires media-libs/libva since 29.0.0, which is unmasked here.
 ->=media-video/obs-studio-29.0.0
diff --git a/profiles/arch/powerpc/ppc64/64le/use.mask \
b/profiles/arch/powerpc/ppc64/64le/use.mask index b596bd803519..0d88d3edc2d1 100644
--- a/profiles/arch/powerpc/ppc64/64le/use.mask
+++ b/profiles/arch/powerpc/ppc64/64le/use.mask
@@ -28,10 +28,6 @@
 # works on ppc64le
 -vaapi
 
-# James Le Cuirot <chewi@gentoo.org> (2017-06-29)
-# Remask as this profile is little endian.
-big-endian
-
 # Chris Gianelloni <wolf31o2@gentoo.org> (2008-02-13)
 # Mask multilib, since we cannot use it.
 multilib
diff --git a/profiles/arch/powerpc/ppc64/64ul/parent \
b/profiles/arch/powerpc/ppc64/64ul/parent index f3229c5b9876..b088bfd7bf7b 100644
--- a/profiles/arch/powerpc/ppc64/64ul/parent
+++ b/profiles/arch/powerpc/ppc64/64ul/parent
@@ -1 +1,2 @@
 ..
+../../../../features/big-endian
diff --git a/profiles/arch/powerpc/use.mask b/profiles/arch/powerpc/use.mask
index 9bff3d4bab54..cfff2f28c200 100644
--- a/profiles/arch/powerpc/use.mask
+++ b/profiles/arch/powerpc/use.mask
@@ -34,10 +34,6 @@ fortune
 nagios-game
 physfs
 
-# James Le Cuirot <chewi@gentoo.org> (2017-06-29)
-# Unmask as this profile is big endian.
--big-endian
-
 # Matt Turner <mattst88@gentoo.org> (2017-03-24)
 # virtual/opencl is not keyworded
 opencl
diff --git a/profiles/arch/s390/package.mask b/profiles/arch/s390/package.mask
deleted file mode 100644
index 8f83c7d52c61..000000000000
--- a/profiles/arch/s390/package.mask
+++ /dev/null
@@ -1,7 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# matoro <matoro_gentoo@matoro.tk> (2022-03-20)
-# Broken on big-endian (#861710)
-# https://github.com/trendmicro/tlsh/issues/131
-dev-libs/tlsh
diff --git a/profiles/arch/s390/parent b/profiles/arch/s390/parent
index 7663f5297bb4..1360e0428bc8 100644
--- a/profiles/arch/s390/parent
+++ b/profiles/arch/s390/parent
@@ -1,2 +1,3 @@
 ../../features/multilib
 ../base
+../../features/big-endian
diff --git a/profiles/arch/s390/use.mask b/profiles/arch/s390/use.mask
index 6b1d83f3105c..c327a57d7ce7 100644
--- a/profiles/arch/s390/use.mask
+++ b/profiles/arch/s390/use.mask
@@ -51,10 +51,6 @@ luajittex
 # media-libs/libglvnd is not keyworded
 libglvnd
 
-# James Le Cuirot <chewi@gentoo.org> (2017-06-29)
-# Unmask as this profile is big endian.
--big-endian
-
 # Stuff we don't want/not tested
 R
 octave
diff --git a/profiles/arch/sparc/package.mask b/profiles/arch/sparc/package.mask
index 467d775a6b12..538d5c80fc20 100644
--- a/profiles/arch/sparc/package.mask
+++ b/profiles/arch/sparc/package.mask
@@ -1,11 +1,6 @@
 # Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-# matoro <matoro_gentoo@matoro.tk> (2022-03-20)
-# Broken on big-endian (#861710)
-# https://github.com/trendmicro/tlsh/issues/131
-dev-libs/tlsh
-
 # matoro <matoro_gentoo@matoro.tk> (2023-03-07)
 # Fails tests disastrously.  Present evidence of passing test suite
 # before removing, please.
diff --git a/profiles/arch/sparc/parent b/profiles/arch/sparc/parent
index eb001c6e8ab8..042786727c5b 100644
--- a/profiles/arch/sparc/parent
+++ b/profiles/arch/sparc/parent
@@ -1 +1,2 @@
 ../base
+../../features/big-endian
diff --git a/profiles/arch/sparc/use.mask b/profiles/arch/sparc/use.mask
index 0e1f518c4b19..db24b722f93e 100644
--- a/profiles/arch/sparc/use.mask
+++ b/profiles/arch/sparc/use.mask
@@ -60,10 +60,6 @@ luajittex
 fortune
 physfs
 
-# James Le Cuirot <chewi@gentoo.org> (2017-06-29)
-# Unmask as this profile is big endian.
--big-endian
-
 # Andrey Grozin <grozin@gentoo.org> (2014-06-25)
 # keyworded on sparc
 -ecls
diff --git a/profiles/features/big-endian/README \
b/profiles/features/big-endian/README new file mode 100644
index 000000000000..b3ef98017674
--- /dev/null
+++ b/profiles/features/big-endian/README
@@ -0,0 +1,12 @@
+features/big-endian: a common profile for big-endian architectures and
+sub-architectures.  This is for masks which are necessary due to problems which
+arise solely due to endian correctness.  Solving a problem which causes one of
+these masks does not guarantee that the package will automatically work on all
+big-endian platforms, but it is a prerequisite to work on any of them.
+
+Please be cautious about adding things here as it will likely affect a platform
+that has not been tested on.  A good heuristic to use is either:
+
+1) works on ppc64le and not on ppc64, or 2) work on 3 different little-endian
+platforms and not on 3 different big-endian platforms, and the BE platforms
+fail in the same way.
diff --git a/profiles/features/big-endian/eapi b/profiles/features/big-endian/eapi
new file mode 100644
index 000000000000..7ed6ff82de6b
--- /dev/null
+++ b/profiles/features/big-endian/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/arch/arm64/big-endian/package.mask \
b/profiles/features/big-endian/package.mask similarity index 87%
rename from profiles/arch/arm64/big-endian/package.mask
rename to profiles/features/big-endian/package.mask
index 8f83c7d52c61..0edd6a8fa129 100644
--- a/profiles/arch/arm64/big-endian/package.mask
+++ b/profiles/features/big-endian/package.mask
@@ -5,3 +5,5 @@
 # Broken on big-endian (#861710)
 # https://github.com/trendmicro/tlsh/issues/131
 dev-libs/tlsh
+dev-python/tlsh
+dev-util/diffoscope
diff --git a/profiles/arch/mips/mipsel/use.mask \
b/profiles/features/big-endian/use.mask similarity index 56%
rename from profiles/arch/mips/mipsel/use.mask
rename to profiles/features/big-endian/use.mask
index 8993e385a33c..142ce6b3a20f 100644
--- a/profiles/arch/mips/mipsel/use.mask
+++ b/profiles/features/big-endian/use.mask
@@ -1,6 +1,6 @@
-# Copyright 2015-2021 Gentoo Authors
+# Copyright 2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # James Le Cuirot <chewi@gentoo.org> (2017-06-29)
-# Remask as this profile is little endian.
-big-endian
+# Unmask as this profile is big endian.
+-big-endian
-- 
2.40.0


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic