On Sat, Jul 25, 2015 at 04:10:28AM +0100, Sérgio Basto wrote:
Hi,
Let me see if I understand , on 2015-05-20 [1] FESCo has decided to
merge some of the policy around service units, socket units and timer
units into a single policy that treats all units that run as default the
same way.
Note: decision made 6 days before Fedora 22 Final Release.
That's not particularly relevant, becuase the old way of doing things
still works, even though it is deprecated by the guidelines.
We got some new wiki pages [2] - How to enable a service by default
?
Services are enabled or disabled by default through systemd preset files
Yes. This
centralizes the policy as to which services should be enabled
by default. It also makes it very easy to create custom policy in a
product / spin / local deployment / etc.
But before that I used a script to enable services like this:
%post guest
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
/bin/systemctl restart systemd-modules-load.service >/dev/null 2>&1 || :
/bin/systemctl enable vboxservice.service >/dev/null 2>&1 || :
/bin/systemctl restart vboxservice.service >/dev/null 2>&1 || :
This kind of scriptlet still works on Fedora 22 (updated), on a new
installation ?
Yes, that still works, but should be converted to the new way of
doing
things. So most likely you'd want to first file a bug against
fedora-release (see below), and after it is resolved, modify your
package to use %systemd_post.
Other wiki page shows that PackagePresets are from Fedora 18 ! [3]
That is when this functionality was originally introduced. What changed
now is that presets has become *the* official way to enable services by
default. It is less convenient for packagers, but is more convenient for
admins and products.
And what is the best way to set a preset for a service ? that we
want
enable by default, when is installed .
Note: I'm asking this because I don't saw any example on package
guidelines.
[2] shows the syntax in the spec file (common for all services), and
[3]
shows the additional steps which need to be taken for enabled-by-default
services.
[2]
https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd
[3]
https://fedoraproject.org/wiki/Packaging:DefaultServices#How_to_enable_a_...
Zbyszek