Skip to content

Conversation

@chewi
Copy link
Member

@chewi chewi commented Jan 9, 2025

This supersedes #22, which added the initial support for the overriding the profile. This extends that work, adding a warning if you don't select a profile, and installing baselayout to get the right layout with merged-usr profiles.

It also includes a couple of other small improvements.

Unfortunately, merged-usr layouts will still suffer from gentoo/gcc-patches#8 when the sysroot is changed from the default. The embedded profile with a split-usr profile is still the default, changing the sysroot is an advanced use case, and I've managed to work around the issue with cross-boss, so I think it's okay to merge these changes now.

Such as -C, which means --clean for crossdev rather than NO_COLOR.

Signed-off-by: James Le Cuirot <[email protected]>
lu-zero and others added 2 commits January 10, 2025 10:03
It's almost never what users want and causes issues even if they change
the profile later.

Closes: https://bugs.gentoo.org/748975
Signed-off-by: James Le Cuirot <[email protected]>
@chewi
Copy link
Member Author

chewi commented Jan 10, 2025

Bah, contains_any isn't in the stable gentoo-functions. Dropped that commit.

crossdev environments need to support merged-usr now, especially now
that the profile can be selected. The logic around this is messy and
best handled by the baselayout package when it is supported by the arch.
This package now gets installed immediately before binutils. It means a
few small extra files get installed, but that's a small price to pay. We
could INSTALL_MASK them, but that would just add more complexity.

Signed-off-by: James Le Cuirot <[email protected]>
@chewi
Copy link
Member Author

chewi commented Jan 11, 2025

This is still breaking for riscv. I think it's because it's getting the ABI list from multilib.eclass rather than the profile.

Copy link
Contributor

@floppym floppym left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code-wise, this looks good to me.

@chewi
Copy link
Member Author

chewi commented Jan 29, 2025

It still needs some work, unfortunately, but thanks.

@chewi chewi marked this pull request as draft September 9, 2025 22:00
@vadorovsky
Copy link
Contributor

@chewi Are you planning to finish this PR? If not, do you mind if I take it over, re-submit and try to make it green? I would really love to see it merged.

For now I have to use merge-usr --root /usr/<sysroot> as a workaround.

@chewi
Copy link
Member Author

chewi commented Dec 19, 2025

I did do a lot more on this afterwards, but the riscv stuff was very hairy. I can't remember exactly where that ended up, need to dredge it up from my memory. It led into trying to make the LLVM stuff less rigid, but that ended up being a huge can of worms. Perhaps this still work if I leave the LLVM stuff alone. I'll refresh my memory over the weekend.

@vadorovsky
Copy link
Contributor

Got it. Feel free to ping me about any specific LLVM-related problems, I'm happy to help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants