[Glibc-bsd-devel] sysvinit

Nathan Hawkins utsl@quic.net
Mon, 6 Oct 2003 11:41:55 -0400


On Mon, Oct 06, 2003 at 08:35:44AM +0200, Guillem Jover wrote:
> > There are a number of things that will need to go in those that aren't
> > on linux. I know about some, but best approach is probably to go through
> > BSD rc scripts, and find out what it does.
> 
> I'll take a look in some days, to check if we are missing something. But
> for now sysvinit port is complete, I mean I've fixed the *_all packages,
> you can take a look at them. The problem is that other init scripts fail
> and the ones from sysvinit cannot umount the mountpoints, so every boot
> the fsck is forced also the ifupdown route problem, nothing more.

I seem to recall fixing that. I haven't been able to work on this for a
couple months. (Hopefully that will be changing now.) IIRC, there was a
particular order that the umount had to happen in, or something of the
sort. It was driving me nuts for a while.

> Another problem I've faced is that on freebsd when using devfs I cannot
> create fifos (named pipes) on /dev, and some linux programs expect this
> behaviour. Is it possible to create such files ? Or should we push to
> move those files to another place like /var/run for example ?

Yes, I ran into this. I worked around with a symlink into /var/run,
since devfs seems to support those.

> > > It fails when shuting down the system because start-stop-deamon does not
> > > stop daemons and also inetd cannot be stopped because a problem on the
> > > pid file, thus file systems are in use and cannot be unmounted. But I'm
> > > working on them. Also I've had a regression, the halt command was working
> > > but I did some chnages and now it reboots, I'll look at this as well.
> > 
> > I was working on the start-stop-daemon problem. It needs a fair amount
> > of work for --exec to work on freebsd. Mostly, I've had problems with
> > starting the system up. (Daemons not started because start-stop-daemon
> > thinks their already running.)
>
> Now they start properly, the problem is when stopping them, do you have
> more notes or patches for this ? I'll continue if you are not working on
> this anymore.

The cause of the problems I saw, is that pid_is_exec() is broken in
start-stop-daemon. This is why some daemons start and stop fine, and
others don't work. When --exec is the only thing it has to go on, it
fails on freebsd-i386.

I was working on a implementation of pid_is_exec() with sysctl.  I've
got working code, but didn't get it integrated into start-stop-daemon.

	---Nathan