On Mon, Jan 23, 2017 at 10:23:35AM +0100, Michał Górny wrote:
> Hi, everyone.
> 
> I've written a short proposal that aims to provide basic infrastructure
> for defining mix-in profiles in Gentoo. I've tried to keep it simple,
> and backwards compatible. The main goal is to be able to start defining
> some mix-ins without having to reinvent the whole profile tree.
> 
> Most important points:
> 
> 1. Mix-ins are applied on top of base profile (which works the same as
> before),
> 
> 2. Mix-ins are supported via 'eselect profile'
> replacing /etc/portage/make.profile symlink with a directory, without
> need for Portage patching (this is how Funtoo does it),
> 
> 3. Most important mix-ins are used to construct base profiles which
> provides both backwards compatibility and proper targets for repoman
> (to avoid having to check all possible mix-in combinations).

This is awesome! thanks for working on it, ive wanted it for a while
now.

The main issue I see with it is ordering. For the hardened and selinux
profiles, the order matters a lot. eg hardened defaults the jit useflag
off and the desktop profile defaults on which causes problems with PaX.
If these two mixins would end up in a kind of random order then we'll
have issues. See https://bugs.gentoo.org/492312 for a specific issue.

It could be as simple as when putting in the make.profile list, do it in
the order they are defined in the profiles.mixin file, then we can just
have hardened and selinux last and problem solved. Or could go with a
priority field but then again there is the problem of what happens when
two have the same priority?

Also how will profiles.mixin interact between different overlays? you
can manually set a parents file with features/desktop::gentoo and
feature/foo::overlay already. if foo::myoverlay is in the desktop group,
does that merge together with the desktop group ones in ::gentoo?

-- Jason

Reply via email to