On Sun, Mar 15, 2009 at 06:33:10AM -0700, Michael Blakeley wrote: > Package: lsb-base > Version: 3.2-20ubuntu4 > Severity: important > > Some rpm-based packages come with init scripts which cd to a > specific directory before starting a service. But lsb-base init-functions > always starts services with the current directory "/". This causes > startup problems for some services. > > The lsb-base package documents support for LSB 3.2, which reads: > > http://refspecs.freestandards.org/LSB_3.2.0/LSB-Core-generic/LSB-Core-generic/iniscrptfunc.html > > > > Each conforming init script shall execute the commands in the file > > /lib/lsb/init-functions in the current environment > > This is open to some interpretation, but I interpret "environment" to include > the current working directory. However, lsb-base init-functions calls > start-stop-daemon, which always changes the current directory to root > (unless --chdir is supplied).
'The commands in the file /lib/lsb/init-functions' are still executed in the current environment, including the working directory... > For better LSB 3.2 compatibility, I believe that start_daemon should > supply "--chdir $PWD". I encountered this problem with ubuntu, but > I don't believe there are any significant differences vs the debian release. > I OTOH think running daemons with whatever $PWD happens to be when running the init script should *not* be the default behaviour. Most init scripts don't use cd, so the daemon would end up running with a basically random working directory. (granted, they should chdir() themselves, but most probably don't bother) Cheers, Julien -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

