* [gentoo-dev] Profile 23.0 testing with stages and binhost (part 2 of 2)
@ 2024-03-15 18:12 Andreas K. Huettel
2024-03-15 23:23 ` Sam James
2024-03-16 12:12 ` [gentoo-dev] " Duncan
0 siblings, 2 replies; 5+ messages in thread
From: Andreas K. Huettel @ 2024-03-15 18:12 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 2178 bytes --]
Hi all,
the 23.0 profiles are ready for testing, including stage downloads,
binary packages, and update instructions for existing installations,
for all arches.
IMPORTANT Exception IMPORTANT
** musl on (32bit) arm and x86 does NOT work yet (gcc build failure) **
IMPORTANT Update instructions IMPORTANT
https://wiki.gentoo.org/wiki/Project:Toolchain/23.0_update_instructions
Stage downloads (temporarily, for all arches):
[preferably] https://distfiles.gentoo.org/experimental/x86/23.0_stages/
[direct/osu] https://gentoo.osuosl.org/experimental/x86/23.0_stages/
The changes can be seen here
https://wiki.gentoo.org/wiki/Project:Toolchain/23.0_profile_transition
and the timeline so far here
https://wiki.gentoo.org/wiki/Project:Toolchain/23.0_profile_timeline
The update instructions also double as the news item that should be
published max. 1-2 weeks from now. They are mostly unchanged compared to
my last e-mail, just some wording has been clarified.
Note 1: The next steps are, now really in 1-2 weeks max:
* make 23.0 profiles the same stability level as 17.x profiles,
* degrade 17.x profiles all to exp (so the CI doesn't explode)
* publish news item
* replace stage downloads with 23.0 version (in situ)
Note 2: While there are 23.0 split-usr profiles, the *stage* downloads
are *all* of the merged-usr type. Why? Not because I'm a big fan of that,
but because we should try to unify and standardize a bit again - to
avoid too many different build configurations leading to too many Heisenbugs.
Note 3: amd64 now has CET turned on by default.
https://docs.kernel.org/next/x86/shstk.html
If you have already used the unannounced 23.0 profiles, you should wipe
your package cache and emerge -ev world now.
Note 4: arm64 does *not* have its equivalent turned on yet since we
encountered last-minute problems (guess what, gcc build failure).
Note 5: There are no hppa builds yet since our machine is still busy.
One gcc build takes about a week there.
Cheers & have fun,
Andreas
--
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: 833 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [gentoo-dev] Profile 23.0 testing with stages and binhost (part 2 of 2)
2024-03-15 18:12 [gentoo-dev] Profile 23.0 testing with stages and binhost (part 2 of 2) Andreas K. Huettel
@ 2024-03-15 23:23 ` Sam James
2024-03-16 9:34 ` Andreas K. Huettel
2024-03-16 12:12 ` [gentoo-dev] " Duncan
1 sibling, 1 reply; 5+ messages in thread
From: Sam James @ 2024-03-15 23:23 UTC (permalink / raw
To: Andreas K. Huettel; +Cc: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1143 bytes --]
"Andreas K. Huettel" <dilfridge@gentoo.org> writes:
> Hi all,
>
> the 23.0 profiles are ready for testing, including stage downloads,
> binary packages, and update instructions for existing installations,
> for all arches.
>
> [...]
>
> Note 2: While there are 23.0 split-usr profiles, the *stage* downloads
> are *all* of the merged-usr type. Why? Not because I'm a big fan of that,
> but because we should try to unify and standardize a bit again - to
> avoid too many different build configurations leading to too many Heisenbugs.
I don't think this is a good idea.
We've promised people that they can keep unmerged-usr if they want, but
not having stages means new installs aren't doable, and it also makes
testing a pain because you can't easily unmerge.
You can easily merge, but you can't easily unmerge.
What you can do is provide a limited number of non-merged-usr variants
given it's just about saving people rebuilds.
(I also think it's the wrong way to do such a change anyway - the releng
part should be last after decision-making, not first.)
> [...]
> Cheers & have fun,
thanks,
sam
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 377 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [gentoo-dev] Profile 23.0 testing with stages and binhost (part 2 of 2)
2024-03-15 23:23 ` Sam James
@ 2024-03-16 9:34 ` Andreas K. Huettel
0 siblings, 0 replies; 5+ messages in thread
From: Andreas K. Huettel @ 2024-03-16 9:34 UTC (permalink / raw
To: Sam James; +Cc: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1805 bytes --]
> > Note 2: While there are 23.0 split-usr profiles, the *stage* downloads
> > are *all* of the merged-usr type. Why? Not because I'm a big fan of that,
> > but because we should try to unify and standardize a bit again - to
> > avoid too many different build configurations leading to too many Heisenbugs.
>
> I don't think this is a good idea.
>
> We've promised people that they can keep unmerged-usr if they want,
And they can.
[However, I don't see the point for it. Apart from ideological considerations,
there is no obvious advantage to the split-usr layout anymore.]
> but not having stages means new installs aren't doable,
Yes.
> and it also makes testing a pain because you can't easily unmerge.
> You can easily merge, but you can't easily unmerge.
That is the imho more important and valid point, maintaining the remaining
split-usr installs will get harder.
> What you can do is provide a limited number of non-merged-usr variants
> given it's just about saving people rebuilds.
For amd64 and arm64 that's doable (since builds are cheap there).
I would very much discourage using these variants for new installs though.
[And yes I would prefer to deprecate the split-usr profiles and remove them
at some point in the not-so-far future. That is however a topic that needs
separate debate.]
> (I also think it's the wrong way to do such a change anyway - the releng
> part should be last after decision-making, not first.)
The decision where this is going has been made long ago... just not by us
because we've been lagging behind. But I get what you mean.
--
Andreas K. Hüttel
dilfridge@gentoo.org
Gentoo Linux developer
(council, comrel, toolchain, base-system, perl, libreoffice)
https://wiki.gentoo.org/wiki/User:Dilfridge
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* [gentoo-dev] Re: Profile 23.0 testing with stages and binhost (part 2 of 2)
2024-03-15 18:12 [gentoo-dev] Profile 23.0 testing with stages and binhost (part 2 of 2) Andreas K. Huettel
2024-03-15 23:23 ` Sam James
@ 2024-03-16 12:12 ` Duncan
2024-03-16 16:16 ` Andreas K. Huettel
1 sibling, 1 reply; 5+ messages in thread
From: Duncan @ 2024-03-16 12:12 UTC (permalink / raw
To: gentoo-dev
Andreas K. Huettel posted on Fri, 15 Mar 2024 19:12:54 +0100 as excerpted:
> Note 3: amd64 now has CET turned on by default.
> https://docs.kernel.org/next/x86/shstk.html If you have already used the
> unannounced 23.0 profiles, you should wipe your package cache and emerge
> -ev world now.
There's not much about CET in any of the links. While the kernel.org link
describes what it does (in a line, "yese": yet another security
enhancement) a bit, it doesn't say how to actually find whether your
hardware supports it, and the gentoo wiki and bug links say even less --
in particular, unless I missed it, the changes and update instructions
links don't appear to mention CET or shadow-stacks AT ALL.
What I ended up doing here after some DDG googling, was emerging cpuid,
then doing:
$$ cpuid -1 | grep -i 'cet\|shadow'
CET_SS: CET shadow stack = false
CET_IBT: CET indirect branch tracking = false
CET_U user state = false
CET_S supervisor state = false
supervisor shadow stack = false
With all of those false it would seem CET can't work here in any case so
there's no point rebuilding again, which is what I already suspected but
wanted to /know/. (I've been on a 23.0 merged-usr profile[1] for some
time now as I already had much of what it does already enabled before the
new profiles were announced here, so it /would/ be "rebuilding again" to
get that, but as it seems it won't do anything useful anyway...)
Clearer instructions for finding that out (and preferably what actually
has to be true, I still don't know that for sure) so others don't have to
google it, could be useful.
---
[1] Already on a merged-usr profile: Of course including developing an
auto-applied-on-update patch to do s:[[ ! -h "${EROOT%/}/bin" ]]:false: to
the profile bashrc after that test was added, because I am indeed usr-
merged (on systemd) here but that test fails because the operating symlink
is /usr -> . instead, aka reverse-usrmerge. Tho making the canonical
path /realbin and doing /bin -> /realbin would appear to satisfy the test
too, and would allow me to avoid patching the profile bashrc, but at least
here, having /bin be the system's real bin location is part of the _point_
of a reverse-usrmerge.
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [gentoo-dev] Re: Profile 23.0 testing with stages and binhost (part 2 of 2)
2024-03-16 12:12 ` [gentoo-dev] " Duncan
@ 2024-03-16 16:16 ` Andreas K. Huettel
0 siblings, 0 replies; 5+ messages in thread
From: Andreas K. Huettel @ 2024-03-16 16:16 UTC (permalink / raw
To: gentoo-dev; +Cc: Duncan
[-- Attachment #1: Type: text/plain, Size: 1159 bytes --]
Am Samstag, 16. März 2024, 13:12:04 CET schrieb Duncan:
> Andreas K. Huettel posted on Fri, 15 Mar 2024 19:12:54 +0100 as excerpted:
>
> > Note 3: amd64 now has CET turned on by default.
> > https://docs.kernel.org/next/x86/shstk.html If you have already used the
> > unannounced 23.0 profiles, you should wipe your package cache and emerge
> > -ev world now.
>
> There's not much about CET in any of the links. While the kernel.org link
> describes what it does (in a line, "yese": yet another security
> enhancement) a bit, it doesn't say how to actually find whether your
> hardware supports it, and the gentoo wiki and bug links say even less --
> in particular, unless I missed it, the changes and update instructions
> links don't appear to mention CET or shadow-stacks AT ALL.
That's because it was a last-minute addition, and not particularly well
thought through. :|
Ignore Note 3. The part about emerge -ev world is just plain wrong for now.
--
Andreas K. Hüttel
dilfridge@gentoo.org
Gentoo Linux developer
(council, comrel, toolchain, base-system, perl, libreoffice)
https://wiki.gentoo.org/wiki/User:Dilfridge
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-03-16 16:17 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-15 18:12 [gentoo-dev] Profile 23.0 testing with stages and binhost (part 2 of 2) Andreas K. Huettel
2024-03-15 23:23 ` Sam James
2024-03-16 9:34 ` Andreas K. Huettel
2024-03-16 12:12 ` [gentoo-dev] " Duncan
2024-03-16 16:16 ` Andreas K. Huettel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox