Re: Bug#652575: rsyslog: /etc/init.d/rsyslog modifications for GNU/Hurd
On Sun, 2011-12-18 at 19:35:55 +0100, Svante Signell wrote:
> Source: rsyslog
> Version: 5.8.6-1
> Severity: important
> Tags: patch
> User: email@example.com
> Usertags: hurd
> Unfortunately the installed init file
> does not work, since on GNU/Hurd /proc/<pid>/stat is reporting rsyslog
> as /usr/sbin/rsyslogd, not rsyslogd. The attached patch fixes this.
> Since the start-stop-daemon does not support a full path, a bug will be
> filed to that package too. When solved there the --name will be added,
> as --name $DAEMON instead of being blank as it is with the attached
> patch. Here $DAEMON=$RSYSLOG_BIN=/usr/sbin/rsyslogd.
This patch is not correct, there's several problems here:
* If Hurd's procfs interface is supposed to provide a Linux compatible
output, then it needs to switch to only a program name, not a full
path in /proc/<pid>/stat, /statm, etc.
* start-stop-daemon (s-s-d) does not make use of procfs, but its
Hurd --name implementation seems to be buggy in any case. I'll fix
this directly myself.
* s-s-d man page talks explicitly about /proc usage, but that depends
on the system backend being used, I'll fix that too.
* It would be wonderful if there was a reliable way (not based on argv)
for s-s-d to retrieve a process executable full path name
(something not currently possible through libps it would seem).
* rsyslog should probably switch to use s-s-d --exec instead (why is
it using --name anyway? that option has always been more unreliable).
> Also the creation of xconsole is disabled, since it does not work yet.
Why does it not work?