[Pkg-acpi-devel] Bug#579798: acpi-fakekey: "/etc/init.d/acpi-fakekey start" fails if acpi_fakekeyd is already running

Sven Joachim svenjoac at gmx.de
Sat May 1 17:43:52 UTC 2010


On 2010-05-01 19:20 +0200, Michael Meskes wrote:

> On Fri, Apr 30, 2010 at 10:23:08PM +0200, Sven Joachim wrote:
>> It seems this happens because of two bugs:
>> 
>> - the old acpi-support (from 0.133-2) prerm script did not stop
>>   acpi_fakekeyd
>
> Right, this is a bug.
>
>> - the acpi-fakekeyd initscript's start action is missing
>>   start-stop-daemon's --oknodo option and thus fails if acpi_fakekeyd is
>>   already running.
>
> This, however, I don't see as a bug. Why should the script use --oknodo? The
> new script does stop acpi_fakekeyd, so why do we need --oknodo.

Because the script should succeed and not fail if the service is already
running, see Policy § 9.3.2:

     The `init.d' scripts must ensure that they will behave sensibly (i.e.,
     returning success and not starting multiple copies of a service) if
     invoked with `start' when the service is already running, or with
     `stop' when it isn't, and that they don't kill unfortunately-named
     user processes.  The best way to achieve this is usually to use
     `start-stop-daemon' with the `--oknodo' option.

>> The second problem is easily fixable, I don't know what to do about the
>> first; maybe dhinstallinit -R would help, or manually stop acpi_fakekeyd
>> in the postinst on first-time installs.
>
> I think a manual stop is better because it's only needed for this one upgrade.

Agreed.

Cheers,
       Sven





More information about the Pkg-acpi-devel mailing list