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?

  • phoenix591@lemmy.phoenix591.com
    link
    fedilink
    English
    arrow-up
    3
    ·
    11 months ago

    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.

    • ruinationOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      11 months ago

      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.

      • phoenix591@lemmy.phoenix591.com
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        11 months ago

        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.

        • ruinationOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          11 months ago

          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

  • misaloun@reddthat.com
    link
    fedilink
    English
    arrow-up
    2
    ·
    11 months ago

    From my understanding, it is okay if a stage3 archive does not exist for your target. Make sure to pick the closest one. Your approach seems right imo. I am not sure if hardened or LLVM is better though.

    My understanding is that a stage3 is kind of a starting point. In many cases you can switch profiles, and all that will happen is it will just have to do more compilation to get there. Choosing the closest stage3 saves you time in that initial compile.

    But some profile switches can cause trouble. For example, switching between glibc and musl may not work. But switching between, say, non-desktop to desktop is perfectly fine.

    • ruinationOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      11 months ago

      Feel like that last point should be a wiki page, it would be really useful for someone trying to step from the beginner level to a more intermediate level. If not, maybe I’ll try making one someday if I get good enough haha.