Comment 27 for bug 806761

Revision history for this message
Arthur de Jong (adejong) wrote :

I have been looking at trying to integrate the patch but I still don't have a really good feeling about this whole upstart thing and I don't really have a proper way to test this.

For example I still don't really understand why the whole thing with the if-up file is required. It seems like a very ugly hack and slows down boot-up by enforcing serial initialisation of network interfaces. Wouldn't something like this work:

start on runlevel [2345] and net-device-added INTERFACE!=lo
(or some other condition which just means that networking is available)

I still can't seem to wrap my mind around how upstart is supposed to work given the examples I've seen though. For example, in Debian there is a file /etc/init/networking.conf which seems to automatically bring down networking if all remote filesystems are unmounted.

For the relation between the nslcd and the nslcd-k5start services, wouldn't it be a nicer solution to only emit an event (for example from the nslcd service configuration) when the nslcd-k5start service is really needed? That way upstart wouldn't try to start it if it isn't needed.

Do you know how the dependency information that is available in the init script can be modelled in upstart? For example nslcd should be running before most mail servers because otherwise mail could bounce.

Also, a nicer solution to the wait until the cache is actually established loop is a trick I've seen in some other upstart script: only define an pre-start script that starts the service and no bare script or exec.

The nslcd upstart job clears the nscd cache. Why is this needed exactly?

It is probably better to avoid /etc/deftault/nslcd altogether for the upstart config and put everything in the upstart config file. It should probably also be OK to hard-code the nslcd user and group names instead of getting it from the configuration.

The call to dh_installinit --name=nslcd-k5start in debian/rules causes a lintian error and a warning. Just installing the file in debian/nslcd.conffile (nslcd.nslcd-k5start.upstart /etc/init/nslcd-k5start.conf) works better. An alternative would be to either also split the init scripts or to combine the upstart configurations.

All in all, I think it is better to have a change like this first uploaded and tested in Ubuntu before I add it to the Debian packages.