Hans de Goede <hdegoede(a)redhat.com> writes:
Today I received a bug report to mv sensorsd's pid file from
/var/run/sensorsd.pid to
/var/run/sensorsd/sensorsd.pid, see:
https://bugzilla.redhat.com/show_bug.cgi?id=851428
The traditional argument for not creating pidfiles directly in /var/run
is that a daemon that does that has to be started as root, else it won't
have permission to write /var/run. A daemon that is intended to run
under some non-root UID works a lot better if you make a subdirectory
owned by that UID. mysql, for instance, has always used
/var/run/mysqld/mysqld.pid.
I know nothing about the security level of sensorsd --- if it has to be
root-privileged anyway, this argument doesn't have any force for you.
But it's generally safer to avoid running daemons as root if that's
not absolutely necessary.
Making the requested change means making changes to the daemon
C-code,
and if we then upstream these changes, they will cause issues for
other distro's. So I think that upstreaming the necessary changes is
going to be a problem.
IMO, if a daemon makes any such assumption in a nonconfigurable way,
it's broken and upstream ought to be willing to take back a patch to
make it configurable. /var/run is not a universal standard. You
don't have to look any further than /var/run versus /run to realize
that some flexibility there is a good idea for any upstream that has
any portability pretensions whatsoever.
regards, tom lane