Mass bug: packages should not auto-enable systemd units

Adam Williamson awilliam at redhat.com
Wed Jun 4 18:23:05 UTC 2014


On Wed, 2014-04-23 at 16:59 -0700, Andrew Lutomirski wrote:
> Hi everyone-
> 
> This is a notice in accordance with the mass bug filing procedure.
> 
> A number of packages install systemd units and enable them
> automatically.  They should not.  Please update these packages to use the
> macroized scriptlet
> (https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd).
> 
> If your package has an exception from FESCo permitting it to enable
> itself, please make sure that the service in question is listed in the
> appropriate preset file.
> 
> There is a general exception described here:
> 
> https://fedoraproject.org/wiki/Starting_services_by_default
> 
> If your package falls under the general exception, then it is possible
> that no change is required.  Nevertheless, if you are relying on the
> exception, please make sure that your rpm scripts are sensible.  The
> exception is:
> 
> In addition, any service which does not remain persistent on the
> system (aka, it "runs once then goes away"), does not listen to
> incoming connections during initialization, and does not require
> configuration to be functional may be enabled by default (but is not
> required to do so). An example of "runs once then goes away" service
> is iptables.

The page is somewhat confusingly written, but I don't believe you are
reading it correctly.

I believe the page lists *two* general exceptions, not just the one you
list. Both of the first two paragraphs are exceptions.

"If a service does not require configuration to be functional and does
not listen on a network socket, it may be enabled by default (but is not
required to do so)." is Exception #1

"In addition, any service which does not remain persistent on the system
(aka, it "runs once then goes away"), does not listen to incoming
connections during initialization, and does not require configuration to
be functional may be enabled by default (but is not required to do so)."
is Exception #2

I don't quite understand why these are written entirely separately, as
so far as I can see, #1 entirely subsumes #2: anything excepted by #2 is
also excepted by #1.

The big difference here with what you wrote in your email is that a
service does not have to be one-shot to be covered by the exception. The
only requirements to be excepted are i) 'does not listen on a network
socket' / 'does not listen to incoming connections' (these seem
basically the same to me) and ii) 'does not require configuration to be
functional'.

I'm not sure if any of the packages you filed against are covered by
Exception #1 (one which I'm fairly sure is covered is 'at', but I don't
see that you actually filed a bug against it), but if I'm right, you
might want to check.
-- 
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | XMPP: adamw AT happyassassin . net
http://www.happyassassin.net



More information about the devel mailing list