Bug#208010: [PROPOSAL] init script LSB 1.3 compliance
On Wed, Sep 03, 2003 at 17:44:49 +0200, Wouter Verhelst wrote:
> > + In the case of init script commands other than <tt>status</tt>,
> > + the init script should return an exit status of zero if the action
> > + described by the argument has been successful or the package is
> > + removed but not purged.
> I'd like to see this rephrased. Does that mean '... the package is in
> the process of being removed (but not purged)', or '... the package has
> been removed but not purged'?
> Given the discussion, I understand the latter is what's meant here, but
> as written now, it's quite confusing.
> > Otherwise, the init script should print an
> > + error message and return a non-zero exit status code. Packages are
> > + encouraged to select return codes based on the following list.
> > + <taglist>
> > + <tag>1</tag>
> > + <item>generic or unspecified error,</item>
> > + <tag>2</tag>
> > + <item>invalid or excess argument(s),</item>
> > + <tag>3</tag>
> > + <item>unimplemented feature (for example, <tt>reload</tt>),</item>
> > + <tag>4</tag>
> > + <item>user had insufficient privilege,</item>
> > + <tag>5</tag>
> > + <item>reserved for LSB use,</item>
> > + <tag>6</tag>
> > + <item>program is not configured,</item>
> > + <tag>7</tag>
> > + <item>program is not running,</item>
> This one will break removing and upgrading packages; dpkg checks the
> exit code of maintainer scripts, assuming they failed if the exit code
> was nonzero. Given the fact it is recommended by policy to use set -e in
> maintainer scripts, dpkg will pick up this exit code and mark the
> package as failed in the deconfiguration phase. Either this requirement
> should be removed, or policy should warn maintainers of that fact.
In the deconfiguration phase "invoke-rc.d package stop" is run. What
error do you imagine here, which should not be reported to/by dpkg?