#636162 busybox-syslogd: it doesn't start on hurd

#636162#5
Date:
2011-07-31 21:47:10 UTC
From:
To:
On hurd, syslogd (busybox) process doesn't start with -C128 option (didn't
investigate further) and init scripts check if running by looking for klogd and
syslogd basenames in /proc/[0-9]*/stat files whereas on hurd there are fullnames
in such files. Attached patch points that out.

#636162#12
Date:
2011-08-01 19:53:52 UTC
From:
To:
01.08.2011 01:47, Gabriele Giacone wrote:

I'll take a look at this.  The -C option (log to shared buffer) is basically
essential for this package, so removing it is not an option.

I think a better idea is to use start-stop-daemon for this stuff, instead of
poking at /proc/$pid/stat &Co.  I'll also take a look.

Thank you for the report.  Downloading hurd image to verify... ;)

/mjt

#636162#17
Date:
2011-08-02 07:32:57 UTC
From:
To:
01.08.2011 23:53, Michael Tokarev wrote:

So, after some investigation and help from Samuel Thibault on IRC,
it turns out that hurd has.. issues with shared memory, and it does
not implement semaphores at all.  Busybox's syslog uses both for
shared syslog buffer.  This is a defect in hurd - one part is easy
to fix (shm), another - sem - needs kernel implementation.

So yes, start-stop-daemon works on hurd too, I'll fix the script
to use that one instead.

But whole thing is "wontfix" for now in busybox, until semaphores
and shared memory will be implemented in hurd.  I don't want to
reduce functionality on other systems, and I don't want to check
for hurd in the script too, because it will be wrong when this
functionality will finally be implemented.

I think a better idea is to have /etc/default/busybox-syslogd that
sets options on a given system.

/mjt

#636162#22
Date:
2011-12-23 23:34:36 UTC
From:
To:
reopen 636192
thanks

1.18.2-1 did not actually add multiarch support; it only moved the
libraries around.  And because the biarch libraries were removed, it’s
also a regression over 1.18.1-1.

$ sudo apt-get install fakeroot:amd64 fakeroot:i386
…
The following packages have unmet dependencies:
 fakeroot : Conflicts: fakeroot:i386 but 1.18.2-1 is to be installed
 fakeroot:i386 : Conflicts: fakeroot but 1.18.2-1 is to be installed
E: Unable to correct problems, you have held broken packages.

The package needs to be marked ‘Multi-Arch: same’ before dpkg will even
consider installing multiple architectures of the package together on the
same system.  But that won’t work yet for this package, because most of
the files are different on different architectures:

$ dpkg -x fakeroot_1.18.2-1_amd64.deb amd64
$ dpkg -x fakeroot_1.18.2-1_i386.deb i386
$ diff -qr amd64 i386
Files amd64/usr/bin/faked-sysv and i386/usr/bin/faked-sysv differ
Files amd64/usr/bin/faked-tcp and i386/usr/bin/faked-tcp differ
Files amd64/usr/bin/fakeroot-sysv and i386/usr/bin/fakeroot-sysv differ
Files amd64/usr/bin/fakeroot-tcp and i386/usr/bin/fakeroot-tcp differ
Only in i386/usr/lib: i386-linux-gnu
Only in amd64/usr/lib: x86_64-linux-gnu
Files amd64/usr/share/man/de/man1/faked-sysv.1.gz and i386/usr/share/man/de/man1/faked-sysv.1.gz differ
Files amd64/usr/share/man/de/man1/faked-tcp.1.gz and i386/usr/share/man/de/man1/faked-tcp.1.gz differ
Files amd64/usr/share/man/de/man1/fakeroot-sysv.1.gz and i386/usr/share/man/de/man1/fakeroot-sysv.1.gz differ
Files amd64/usr/share/man/de/man1/fakeroot-tcp.1.gz and i386/usr/share/man/de/man1/fakeroot-tcp.1.gz differ
Files amd64/usr/share/man/es/man1/faked-sysv.1.gz and i386/usr/share/man/es/man1/faked-sysv.1.gz differ
Files amd64/usr/share/man/es/man1/faked-tcp.1.gz and i386/usr/share/man/es/man1/faked-tcp.1.gz differ
Files amd64/usr/share/man/es/man1/fakeroot-sysv.1.gz and i386/usr/share/man/es/man1/fakeroot-sysv.1.gz differ
Files amd64/usr/share/man/es/man1/fakeroot-tcp.1.gz and i386/usr/share/man/es/man1/fakeroot-tcp.1.gz differ
Files amd64/usr/share/man/fr/man1/faked-sysv.1.gz and i386/usr/share/man/fr/man1/faked-sysv.1.gz differ
Files amd64/usr/share/man/fr/man1/faked-tcp.1.gz and i386/usr/share/man/fr/man1/faked-tcp.1.gz differ
Files amd64/usr/share/man/fr/man1/fakeroot-sysv.1.gz and i386/usr/share/man/fr/man1/fakeroot-sysv.1.gz differ
Files amd64/usr/share/man/fr/man1/fakeroot-tcp.1.gz and i386/usr/share/man/fr/man1/fakeroot-tcp.1.gz differ
Files amd64/usr/share/man/man1/faked-sysv.1.gz and i386/usr/share/man/man1/faked-sysv.1.gz differ
Files amd64/usr/share/man/man1/faked-tcp.1.gz and i386/usr/share/man/man1/faked-tcp.1.gz differ
Files amd64/usr/share/man/man1/fakeroot-sysv.1.gz and i386/usr/share/man/man1/fakeroot-sysv.1.gz differ
Files amd64/usr/share/man/man1/fakeroot-tcp.1.gz and i386/usr/share/man/man1/fakeroot-tcp.1.gz differ
Files amd64/usr/share/man/nl/man1/faked-sysv.1.gz and i386/usr/share/man/nl/man1/faked-sysv.1.gz differ
Files amd64/usr/share/man/nl/man1/faked-tcp.1.gz and i386/usr/share/man/nl/man1/faked-tcp.1.gz differ
Files amd64/usr/share/man/nl/man1/fakeroot-sysv.1.gz and i386/usr/share/man/nl/man1/fakeroot-sysv.1.gz differ
Files amd64/usr/share/man/nl/man1/fakeroot-tcp.1.gz and i386/usr/share/man/nl/man1/fakeroot-tcp.1.gz differ
Files amd64/usr/share/man/sv/man1/faked-sysv.1.gz and i386/usr/share/man/sv/man1/faked-sysv.1.gz differ
Files amd64/usr/share/man/sv/man1/faked-tcp.1.gz and i386/usr/share/man/sv/man1/faked-tcp.1.gz differ
Files amd64/usr/share/man/sv/man1/fakeroot-sysv.1.gz and i386/usr/share/man/sv/man1/fakeroot-sysv.1.gz differ
Files amd64/usr/share/man/sv/man1/fakeroot-tcp.1.gz and i386/usr/share/man/sv/man1/fakeroot-tcp.1.gz differ

These conflicting files either need to be made identical somehow (e.g. the
manpages could be gzipped with -n), or moved into a separate non-multiarch
package.  Alternatively, the libraries could be moved into a separate
multiarch package while the main fakeroot package remains non-multiarch.

Anders

#636162#27
Date:
2011-12-24 00:02:02 UTC
From:
To:
Oops, wrong bug number.  Sorry!

Anders