• Re: [gentoo-dev] [Proposal] Split arch keywords for ppc64 & riscv

    From matoro@21:1/5 to Arthur Zamarin on Fri Aug 2 21:10:02 2024
    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.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andreas K. Huettel@21:1/5 to All on Sun Aug 4 20:30:57 2024
    To: gentoo-project@lists.gentoo.org
    Copy: arthurzam@gentoo.org (Arthur Zamarin)

    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)
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v2

    iQKTBAABCgB9FiEE/Rnm0xsZLuTcY+rT3CsWIV7VQSoFAmavyOFfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEZE MTlFNkQzMUIxOTJFRTREQzYzRUFEM0RDMkIxNjIxNUVENTQxMkEACgkQ3CsWIV7V QSq1pRAAxQIJVhIl+k10n4uyXaz6Boj6ZV6cXsmElpoSuLbNSZprr2JT59laWITo Qhu2kkTH71pwUutEJ3EQSebDcfkQMbRnJ73IZNZSZFHvt7rDMNd3lKaJ6a5QkTXa bRLurR8soeCMlNy4ONAKq3+WTkFbL211yzgtQ2w3S7O9C7NuIhgRN5gsgirpAsJ3 j57b3PjiR72g/3Xo52pewIGS3aeH/LuaI1rHeCoxksGBLA8+W4yrqXAN18h3Ipa0 4amnlCp6Z2LxBpLdelcMVsj8Vpsp5sTcJixB8AhNA4RhcfSE6ANLZ4ulFBzOKa3U 0hmPZZ7mhuIHzRAOL1cPBTGyq6BlspL5JOAH5fxJvW2fmJ49gyv+uPIg6RQGORee Hk+G/55+ns4nDLnrk/FS/bxuIn8x4DRGAAmIANfBGEYWAPdjz0iQul1zUevrQ3aa lLneJD2T4KuSZ8QCtg/EVt+LyE4YbcEcXv98rQIIzLShLVCBsP9fOzDRctM+9hQB OjkVHdrPuDsO+FE2s1rtrZ1iaQBojDVwraULDi/WSopHWyD7x97pe3KtzrganVv+ Xlf7e8DyUipQ0dsBJE6tXLTk1MQwiXg8t5yRquvgQvFjhI4kJVAY7Fm
  • From Robin H. Johnson@21:1/5 to Andreas K. Huettel on Mon Aug 5 00:40:01 2024
    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

    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v2
    Comment: Robbat2 @ Orbis-Terrarum Networks - The text below is a digital signature. If it doesn't make any sense to you, ignore it.

    iQKTBAABCgB9FiEEveu2pS8Vb98xaNkRGTlfI8WIJsQFAmawAw9fFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEJE RUJCNkE1MkYxNTZGREYzMTY4RDkxMTE5Mzk1RjIzQzU4ODI2QzQACgkQGTlfI8WI JsQE8A/+K0dXEuQl5vNDPBSGF3UjHZIm5dgDL0WuXpCUc04NLXLZZNir+Q12cWzV IV2LiHEvJIgB4SHnh6avxQzv/rkDZvWYv4YUdKYNPfyD84V5UVsB4xG70R11w3IF OjnM8xhue4MfpPsgcdlZ5dMkUf1Ygzn6ebnFzZLEsRAaIiQ/OvSZ86Tg2uWRjTLd 725evPvXRwIbL5d79M4FNXeDR7wzGfk6NUeRIXgHl7dvU9kQ+BGeI3IIdd/Jiv6I jo+Pj60fEveUA8qhkuEG4qbKDd8h49IhoZpbQBRGUu5fimxNw3JfD9fCqPhFSIF2 fJ19n+VQo1VDTOX9uIvNQ4qc9uHUG/amx6OfesCedthgoaWwvCsENhifAccxiwf9
    8xwoL5fr
  • From Andreas K. Huettel@21:1/5 to All on Mon Aug 5 14:29:51 2024
    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)
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v2

    iQKTBAABCgB9FiEE/Rnm0xsZLuTcY+rT3CsWIV7VQSoFAmawxb9fFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEZE MTlFNkQzMUIxOTJFRTREQzYzRUFEM0RDMkIxNjIxNUVENTQxMkEACgkQ3CsWIV7V QSp8CA//VHppXSIrhkR1u7PPdQlcuqXa3FUx9QWAfByGrJBaViWi6pMX2/JobAIi +MVHuOKP05ZYAhDz0ZN8jTTwS0jrH7SZ75Mta8+vSv0mzEU2hUZ7VsKVJvb3j8ne b6zxM+/qJDHWHW1MJuGcTyIQbWMcDa9WpDgdpwCimX21HNLOrukkjJ1/FQFVM7BD oF7gmCxhC4bcH4XXmMFTbclRhgB4EbyuojZjyZMDUjoLX+CGPHU4Sek3O+7sOyZ+ ZRyzje6/UlP9X4FfWF/RDT3tVMkzHeDMvXz7goZlhdTwwD5dvWpG/A0wNAQEZ1Z+ HW9OYAhInkOKeEofJo8eUfppRcvKhSkAAQzysfT0cHiUaS9Gb89MBSvQa7rek5wp BtqWubi43Qll3smS25uRpt8/caDQ9W58TCicnXLJXauvnTynl2Evf3svefrFlJvC q+LBIejzbLSxL0ULedIQBGvnJTLI8HR0tXfuPEt/xxIRToJjvnfVac271nHSohNU SYOzKXPWK3aJM1JCCExeiEgcV/UVxXu1UDfIhc9a/lCIrA/92CiurEcY2QNVuvze GS1nQQaM+F9DSYnaVaXWZEbN6XJrZFiC6i3JG0+eH1XGTxtc9fZMYudh