public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] [Proposal] Split arch keywords for ppc64 & riscv
@ 2024-08-02 19:05 Arthur Zamarin
  2024-08-02 19:09 ` matoro
  2024-08-04 18:30 ` Andreas K. Huettel
  0 siblings, 2 replies; 6+ messages in thread
From: Arthur Zamarin @ 2024-08-02 19:05 UTC (permalink / raw
  To: gentoo-dev, gentoo-project


[-- Attachment #1.1: Type: text/plain, Size: 1567 bytes --]

Hi all

As continuation from previous arch changes and arch status [1], I want
to propose the next arch change for the near council meeting:

a. Splitting ppc64 keyword into ppc64 and ppc64le

Currently the ppc64 arch keyword matches both big endian (ppc64ul) and
little endian (ppc64le). While there are similarities, there is quite a
big gap in support level across both of them. If I understand the
history correctly, ppc64le is the "next gen" after ppc64ul, and it is
seen across upstream support, and as a result in the masks.

We have many masks on the ppc64 profile, which are there for ppc64ul,
and then unmasks for ppc64le. This split of keywords should make it
easier for ppc64 maintainers (since less ugliness in profiles), package
maintainers (simpler to mark ppc64le only), and for ppc64 users (easier
to request keyword for only one side, so no need to handle issues on the
other "arch").

I want both arches to be of same state (stable arches, with profiles
remaining at current state).


b. Splitting riscv keyword into riscv and riscv32

I'm not part of the riscv arch team, but I understood from dilfridge
that riscv64 and riscv32 are very different, and having both behind the
same keyword creates various issues. Since I already propose spliting
ppc64, we can also split riscv on the same wave.


[1]
https://public-inbox.gentoo.org/gentoo-dev/75654daa-c5fc-45c8-a104-fae43b9ca490@gentoo.org/T/

-- 
Arthur Zamarin
arthurzam@gentoo.org
Gentoo Linux developer (Council, Python, pkgcore stack, QA, Arch Teams)

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [gentoo-dev] [Proposal] Split arch keywords for ppc64 & riscv
  2024-08-02 19:05 [gentoo-dev] [Proposal] Split arch keywords for ppc64 & riscv Arthur Zamarin
@ 2024-08-02 19:09 ` matoro
  2024-08-04 18:30 ` Andreas K. Huettel
  1 sibling, 0 replies; 6+ messages in thread
From: matoro @ 2024-08-02 19:09 UTC (permalink / raw
  To: gentoo-dev; +Cc: gentoo-project

On 2024-08-02 15:05, Arthur Zamarin wrote:
> Hi all
> 
> As continuation from previous arch changes and arch status [1], I want
> to propose the next arch change for the near council meeting:
> 
> a. Splitting ppc64 keyword into ppc64 and ppc64le
> 
> Currently the ppc64 arch keyword matches both big endian (ppc64ul) and
> little endian (ppc64le). While there are similarities, there is quite a
> big gap in support level across both of them. If I understand the
> history correctly, ppc64le is the "next gen" after ppc64ul, and it is
> seen across upstream support, and as a result in the masks.
> 
> We have many masks on the ppc64 profile, which are there for ppc64ul,
> and then unmasks for ppc64le. This split of keywords should make it
> easier for ppc64 maintainers (since less ugliness in profiles), package
> maintainers (simpler to mark ppc64le only), and for ppc64 users (easier
> to request keyword for only one side, so no need to handle issues on the
> other "arch").
> 
> I want both arches to be of same state (stable arches, with profiles
> remaining at current state).
> 
> 
> b. Splitting riscv keyword into riscv and riscv32
> 
> I'm not part of the riscv arch team, but I understood from dilfridge
> that riscv64 and riscv32 are very different, and having both behind the
> same keyword creates various issues. Since I already propose spliting
> ppc64, we can also split riscv on the same wave.
> 
> 
> [1]
> https://public-inbox.gentoo.org/gentoo-dev/75654daa-c5fc-45c8-a104-fae43b9ca490@gentoo.org/T/

Agreed here, with the suggestion that riscv -> riscv64/riscv32 for 
consistency.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [gentoo-dev] [Proposal] Split arch keywords for ppc64 & riscv
  2024-08-02 19:05 [gentoo-dev] [Proposal] Split arch keywords for ppc64 & riscv Arthur Zamarin
  2024-08-02 19:09 ` matoro
@ 2024-08-04 18:30 ` Andreas K. Huettel
  2024-08-04 22:39   ` Robin H. Johnson
  2024-08-05  6:44   ` [gentoo-project] " Ulrich Mueller
  1 sibling, 2 replies; 6+ messages in thread
From: Andreas K. Huettel @ 2024-08-04 18:30 UTC (permalink / raw
  To: gentoo-dev, gentoo-project; +Cc: Arthur Zamarin

[-- Attachment #1: Type: text/plain, Size: 1852 bytes --]

Hi Arthur, 

> a. Splitting ppc64 keyword into ppc64 and ppc64le

> b. Splitting riscv keyword into riscv(64?) and riscv32

So in principle these steps both make sense.

The problem is mostly that such an operation on the living Gentoo
has not been attempted in recorded history. There is no precedent in
terms of steps or procedure. Also, it's work.

Which means, we really need to think out the details first and test.

In the following I'm brainstorming a bit, but please see this only as
a very first write-down of incoherent firing of neurons...
In particular, I've not put any thought into whether the tree state is
always formally correct (PMS / CI / ...)

Step 1: Formally introduce the new keywords as "arches".

Step 2: Formally introduce the new keywords in ebuilds by duplication.
Any "ppc64" in keywords becomes "ppc64 ppc64le".
Any "riscv" becomes "riscv riscv32 riscv64".
No exceptions. Can be done automatically. Until the "lock" is removed,
any keywording operations always have to add and remove all of one set.

Step 3: Make new profiles for the new keywords. This is mostly copy-paste, 
I can take care of it.

Step 4: Prepare and publish a migration guide for users.
Right now I assume this will mostly mean "select new profile". However,
I have no clue how portage reacts when $ARCH changes.

Step 5: Deprecate the old profiles, and give people a deadline for migration.
I.e. the LE profiles under ppc64, and all profiles under riscv

Step 6: Remove the old profiles.

Step 7: Lift the "lock" in ebuilds, meaning e.g. ppc64 and ppc64le can be
added and removed independently.

Step 8: Remove all riscv keywords (no 64 or 32)

Step 9: Remove riscv as arch.



-- 
Andreas K. Hüttel
dilfridge@gentoo.org
Gentoo Linux developer
(council, toolchain, base-system, perl, libreoffice)

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 981 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [gentoo-dev] [Proposal] Split arch keywords for ppc64 & riscv
  2024-08-04 18:30 ` Andreas K. Huettel
@ 2024-08-04 22:39   ` Robin H. Johnson
  2024-08-05 12:29     ` Andreas K. Huettel
  2024-08-05  6:44   ` [gentoo-project] " Ulrich Mueller
  1 sibling, 1 reply; 6+ messages in thread
From: Robin H. Johnson @ 2024-08-04 22:39 UTC (permalink / raw
  To: gentoo-dev; +Cc: gentoo-project

[-- Attachment #1: Type: text/plain, Size: 1213 bytes --]

On Sun, Aug 04, 2024 at 08:30:57PM +0200, Andreas K. Huettel wrote:
> Hi Arthur, 
> 
> > a. Splitting ppc64 keyword into ppc64 and ppc64le
> 
> > b. Splitting riscv keyword into riscv(64?) and riscv32
...
> Step 2: Formally introduce the new keywords in ebuilds by duplication.
> Any "ppc64" in keywords becomes "ppc64 ppc64le".
> Any "riscv" becomes "riscv riscv32 riscv64".
> No exceptions. Can be done automatically. Until the "lock" is removed,
> any keywording operations always have to add and remove all of one set.
How do we identify something that was labelled as ppc64 and was
pre-split, vs something that is post-split, and ONLY supposed PPC64 big
endian, and NOT ppc64le.

Under this proposal, both of variants would have KEYWORDS="ppc64".

What if the ppc64 splits into ppc64be & ppc64le to be extremely clear?

...
> Step 8: Remove all riscv keywords (no 64 or 32)
> 
> Step 9: Remove riscv as arch.
Remove ppc64 without le/be suffixes.

-- 
Robin Hugh Johnson
Gentoo Linux: Dev, Infra Lead, Foundation President & Treasurer
E-Mail   : robbat2@gentoo.org
GnuPG FP : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85
GnuPG FP : 7D0B3CEB E9B85B1F 825BCECF EE05E6F6 A48F6136

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 1113 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [gentoo-project] Re: [gentoo-dev] [Proposal] Split arch keywords for ppc64 & riscv
  2024-08-04 18:30 ` Andreas K. Huettel
  2024-08-04 22:39   ` Robin H. Johnson
@ 2024-08-05  6:44   ` Ulrich Mueller
  1 sibling, 0 replies; 6+ messages in thread
From: Ulrich Mueller @ 2024-08-05  6:44 UTC (permalink / raw
  To: Andreas K. Huettel; +Cc: gentoo-dev, Arthur Zamarin

[-- Attachment #1: Type: text/plain, Size: 511 bytes --]

>>>>> On Sun, 04 Aug 2024, Andreas K Huettel wrote:

> Step 4: Prepare and publish a migration guide for users.
> Right now I assume this will mostly mean "select new profile". However,
> I have no clue how portage reacts when $ARCH changes.

Presumably this will also require eselect to be updated (and stable):
https://gitweb.gentoo.org/proj/eselect.git/tree/libs/package-manager.bash.in#n70

Any good idea how to handle the transitional situation when old and new
arch keywords exist simultaneously?

Ulrich

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 507 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [gentoo-dev] [Proposal] Split arch keywords for ppc64 & riscv
  2024-08-04 22:39   ` Robin H. Johnson
@ 2024-08-05 12:29     ` Andreas K. Huettel
  0 siblings, 0 replies; 6+ messages in thread
From: Andreas K. Huettel @ 2024-08-05 12:29 UTC (permalink / raw
  To: gentoo-dev; +Cc: gentoo-project, Robin H. Johnson

[-- Attachment #1: Type: text/plain, Size: 1115 bytes --]

Am Montag, 5. August 2024, 00:39:13 CEST schrieb Robin H. Johnson:

> > Step 2: Formally introduce the new keywords in ebuilds by duplication.
> > Any "ppc64" in keywords becomes "ppc64 ppc64le".
> > Any "riscv" becomes "riscv riscv32 riscv64".
> > No exceptions. Can be done automatically. Until the "lock" is removed,
> > any keywording operations always have to add and remove all of one set.
> How do we identify something that was labelled as ppc64 and was
> pre-split, vs something that is post-split, and ONLY supposed PPC64 big
> endian, and NOT ppc64le.

Different profile selection (already now, ppc64 and ppc64le are different
profile trees).

> Under this proposal, both of variants would have KEYWORDS="ppc64".
> 
> What if the ppc64 splits into ppc64be & ppc64le to be extremely clear?
> 
> ...
> > Step 8: Remove all riscv keywords (no 64 or 32)
> > 
> > Step 9: Remove riscv as arch.
> Remove ppc64 without le/be suffixes.

Possible but more work...

-- 
Andreas K. Hüttel
dilfridge@gentoo.org
Gentoo Linux developer
(council, toolchain, base-system, perl, libreoffice)

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 981 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-08-05 12:30 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-02 19:05 [gentoo-dev] [Proposal] Split arch keywords for ppc64 & riscv Arthur Zamarin
2024-08-02 19:09 ` matoro
2024-08-04 18:30 ` Andreas K. Huettel
2024-08-04 22:39   ` Robin H. Johnson
2024-08-05 12:29     ` Andreas K. Huettel
2024-08-05  6:44   ` [gentoo-project] " Ulrich Mueller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox