Dimitrios Apostolou wrote:
Hello list,
from a reply I got to a bug report (FS#32817, reply is private) I found out that configuration files in /etc/conf.d are deprecated and that the supported way is to replicate and customize service files.
Imagine that in /usr unit file the daemon is being called as "binary -d". So I create the /etc unit file that supersedes it and calls it as "blah -d -n1". Then the package gets updated and the /usr unit file changes to "binary -d --lock=/whatever/path".
As you can see I won't get the update because I've overriden the unit file, I won't get any warning either, but if the original unit file called "binary -d --lock=/whatever/path $BLAH_ARGS" there would have been no such problem.
/etc/conf.d is a weaker but more elegant mechanism. I'm not saying it should replace unit files, but it should work *with* unit files, as the Arch way even if not in Freedesktop's - Fedora's recommendations. Of course anyone will still be free to copy and customize the unit file.
So I'm curious to know why this mechanism was deprecated? Is it speed we gain by not including the EnvironmentFile directive in the systemd unit file? Is there some other reason I might be missing?
Note that this is not an isolated request. At least FS#32354, FS#32336 and FS#32275 report the same for different packages. Note also that the systemd devs have stated that although the right way(tm) would be for all daemons to take their parameters from some config file of their own, using EnvironmentFile is an acceptable workaround for daemons that still take parameters from the command line. See: http://0pointer.de/blog/projects/on-etc-sysinit.html Jerome -- mailto:jeberger@free.fr http://jeberger.free.fr Jabber: jeberger@jabber.fr