When rebooting my server, gnump3d crashes because it can't find the user to change to. The user gnump3d needs is found in the ldap db and slapd starts later in the bootup. Once the server is fully up and running I can start gnump3d manually (/etc/init.d/gnump3d zap; /etc/init.d/gnump3d start) with no problems. Error Log from gnump3d: Caught a SIGTERM at /usr/lib/perl5/5.8.7/i686-linux/IO/Socket.pm line 183 Error failed to find ID and GID for user XXX this means I can't switch user - so I'm not going to start! This error can be fixed by changing the 'user = XXX' line in gnump3d.conf. Error failed to find ID and GID for user XXX this means I can't switch user - so I'm not going to start! This error can be fixed by changing the 'user = XXX' line in gnump3d.conf. I added slapd to the dependencies in /etc/init.d/gnump3d to fix the problem: depend() { need net - after netmount nfsmount } depend() { need net + after netmount nfsmount slapd } I believe this is the right way to fix it, but I could be wrong... ;)
'after slapd' is a workaround that would only fix your case. it would fail in the case of a remote slapd the correct solution (That I believe uberlord was working on at one point), is a service that doesn't actually do anything, other than act as a placemarker for other things to depend on - and act intelligently regarding placing itself. if there is a local mysql/slapd being used for auth, it will 'need' those, and if a remote auth is the case, then it will 'need' net functionality.
A service should not depend on retrieving uid remotely if you ask me, but for those who have that special setups can edit the rc-scripts like you did. This is a potential "bug" that could be added for services not running as root if you want to have service-uid retrieved via ldap or other remote uid schemes.
I don' think, that this is any more relevant, as you can always add an custom depend these days in conf.d. Feel free to reopen.