Package: debhelper
Version: 9.20140817
Priority: normal

Dear Maintainer,

Please. add the handling of systemd service files as conffiles by default.

Rationale:

Common init systems, such as sysvinit, insserv, upstart etc. all store
their service init files under the /etc directory. Currently all package
files stored in /etc are considered conffiles, so they are not dumbly
overwritten on the package updates. Sometimes administrators are required
to modify service files (in /etc/init.d, /etc/init or options in
/etc/default), forcing service to use custom config files, custom data dirs
etc. and these changes are preserved.

systemd itself brokes this practice, it stores its service files in the
/lib/systemd/system/ directory, so the idea of keeping modified service
files during the package update is not applied to it.

As an example of the problem one can look at transmission-daemon package.
Transmission has a config parameter forcing it to start at custom user
privileges. Earlier it could be configured in
/etc/transmission-daemon/settings.json. In systemd this parameter is
ignored because systemd service parameter "User" is used. One has to change
the value in /lib/systemd/system/transmission-daemon.service, if they wants
to use custom user, and that value would be overwritten when a new version
is installed.

Obviously the issue in this very case can easily be solved in the
transmission-daemon package itself, but I suppose that the common solution
has to be involved, and all systemd service files to be treated as
conffiles. May be all the files under /lib/systemd/system/ have to be
marked as conffiles by default, or there is some special dh_systemd helper
to be introduced.

Thanks


Best wishes and have a nice day,
Vsevolod Velichko

Reply via email to