On Mon, Dec 05, 2011 at 08:54:13AM +0100, "Paweł Hajdan, Jr." wrote:
> > In Gentoo, unlike some other distributions, we try to keep the number of
> > loaded/installed modules to a minimum so that policy rebuilds as well as the
> > system overhead is limited. This results in a "base" policy (provided by
> > selinux-base-policy) and modules (provided by sec-policy/selinux-<modulename>). To make
> > sure that installations of a package pull in the right SELinux module, the
> > proper dependencies must be defined.
> Are you sure this is right choice? It seems to me that it'd be better to
> focus no making things work, and increasing the complexity of the deps
> makes this harder (and increasing the number of packages you maintain
> too). Unless you have _abundant_ resources to deal with that, I'd like
> to discourage you from handling policies that way.
For end users, this is much more enjoyable. If we load up all policies, then
any interaction with the SELinux policies will take some time. Also, all
policies in memory do take up some space. Finally, for development purposes,
this is very much enjoyable as well, since it allows for much faster policy
development (rebuild policies in seconds to minutes rather than dozen of
Maintenance is actually pretty easy. The eclass we use provides us with a
very easy interface to add modules, and because it is a module per ebuild,
we can push changes on individual modules without pushing full policy builds
> Furthermore, imagine I'm adding a new package "foo" that is covered by
> the SELinux policy. Most developers don't use SELinux (hey, I suspect
> most of them don't even use developer profile; bad, bad!). How do I know
> whether it's sec-policy/selinux-foo that's not yet added or
> sec-policy/selinux-games or something else... If the complete policy is
> in one package, this should be obvious, and we don't even need deps for
I know. This is one major hurdle that we need to take on. Using dependencies
is the "easiest" approach, albeit the most resource intensive one
(initially, that is). I don't mind having the dependencies added as we go.
For our end users, we already documented that missing modules are to be
expected and how to resolve it.
> As said by other devs here, I also think it'd be more effective if you
> just do the change yourself. USE="selinux" doesn't affect anything else
> so it's safe.
Ok, no problem. I'll check on IRC regardless, if not just to give a "heads
up" on changes.
Also, my apologies for not sorting the list. Careful readers will notice it
is sorted, but by the package name, not category :/
Thanks you all for the feedback!