Split policycoreutils up?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

policycoreutils started life as a minimalist set of utilities required
for SELinux operation.  It has grown far beyond that, and now includes a
number of non-essential components.  Some of those components have also
grown dependencies on external libraries from setools (in particular,
sepolicy, which is now a dependency for semanage, sandbox, and gui?).

So I was wondering whether it is worthwhile to split up policycoreutils
into multiple source packages, or otherwise support a minimalist build
of it.

Fedora already generates multiple separate binary packages from it:

1) policycoreutils (secon, semodule_*, fixfiles, genhomedircon,
load_policy, restorecon, run_init, semodule, sestatus, setfiles, setsebool)

Not sure what relies upon secon that leads to it being included in the
base package - maybe init scripts? semodule_deps, semodule_expand, and
semodule_link are all purely developer tools that shouldn't be needed in
common practice.  semodule_package is necessary only if building policy
modules, so I'd tend to put that in a -devel package.  Not sure whether
run_init is truly required in Fedora outside of -mls policy?  sestatus
isn't required for operation but is convenient to have.  The rest make
sense to me as part of the base package.

2) policycoreutils-devel (sepolicy and sepolgen* from the separate
sepolgen source package, which gets combined into the policycoreutils
source package in Fedora)

Not sure how much sense this one makes in its current form separate from
policycoreutils-python below.

3)  policycoreutils-python (audit2allow, audit2why, seamanage, chcat,
sandbox?, /usr/lib*/python*/site-packages/*)

Confused by why sandbox appears here but its dependencies are below in
policycoreutils-sandbox.  audit2allow/audit2why are effectively policy
development tools.   chcat seems more like a base utility although I'm
not sure how many people use it rather than just using chcon -l or
semanage these days.  semanage is required for management if using
managed/modular policy, so it is more fundamental than
audit2allow/audit2why, chcat, or sandbox.

4) policycoreutils-gui (selinux-polgengui, system-config-selinux)

Seems reasonable.

5) policycoreutils-newrole (newrole)

I'd tend to put this into the base or at least with run_init.  IIRC, it
was only separated to avoid having an unnecessary setuid/file-caps
binary in the non-MLS case. If the common thread is MLS, then I'd tend
to put newrole, run_init, and chcat together.

6) policycoreutils-restorecond (restorecond)

Makes sense as an optional component.

7) policycoreutils-sandbox (seunshare, /usr/share/sandbox)

Ditto, except that I'd expect sandbox from policycoreutils-python in
this one too.

So, I guess the question is whether it provides any value to split up
the source package itself (as opposed to just the generated packages),
and if so, what the best decomposition is.

--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@xxxxxxxxxxxxx with
the words "unsubscribe selinux" without quotes as the message.




[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux