I’ve heard that you should be using the appropriate stage3 archive for the profile you want to use, but what exactly are the differences between them? I’m asking this because I want to try doing a Hardened/SELinux/Musl/LLVM install, and there’s a profile for that, but not the stage3 archive. I was thinking of starting with either Hardened/Musl or LLVM/Musl. Any thoughts on that?
changing profiles within the same version ( 17.1, changing versions requires various steps), and C library ( glibc vs musl) is fine. going from multilib to no-multilib is fine. Many people mistakenly think no-multilib to multilib requires a reinstall, but actually just requires USE=“multilib-bootstrap” emerge -1 sys-libs/glibc after changing the profile, and then emerge -1 sys-devel/gcc after that. adding selinux requires doing thing in a certain order. other than that, just doing a world rebuild is enough.
Yeah, I’m aware that I still need to do the steps in the Gentoo Wiki for SELinux, I was just wondering if I just do the same step if I want to use other stage3 archives. As far as I understand, LLVM contains some predefined GCC fallback environment (and I think also a preconfigured list of known packages that still doesn’t work with LLVM, which they set to use GCC?), while switching to Hardened doesn’t require much manual configuration AFAIK, so I might just go with Musl/LLVM.
just keep in mind the hardened profile mostly kicks in at compile time by using a compiler thats had its defaults tweaked thanks to the hardened use flag., so you’d probably want to do a total rebuild (emerge -e world) if you want everything built from a hardened clang.
yeah, that last bit is kind of handy, last time i tried llvm on gentoo before moving to nixos, it was kind of annoying to have to manually enter packages that can’t use clang to package.use