|
From: IƱaki Baz Castillo <ibc <at> aliax.net>
Subject: Bug#426877: dpkg: Option "--oknodo" should be the default behaviour for "start-stop-daemon" (LSB specs) Newsgroups: gmane.linux.debian.devel.bugs.general Date: 2007-05-31 13:05:43 GMT (2 years, 36 weeks, 3 days, 1 hour and 14 minutes ago)
Package: dpkg
Version: 1.13.25
Severity: important
-- System Information:
Debian Release: 4.0
APT prefers stable
APT policy: (500, 'stable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-4-686
Locale: LANG=es_ES.UTF-8, LC_CTYPE=es_ES.UTF-8 (charmap=UTF-8)
Versions of packages dpkg depends on:
ii coreutils 5.97-5.3 The GNU core utilities
ii libc6 2.3.6.ds1-13 GNU C Library: Shared libraries
dpkg recommends no packages.
-- no debconf information
Acording to the LSB specifications for init scripts [1]:
"For all other init-script actions, the init script shall return an exit
status of zero if the action was successful. Otherwise, the exit status
shall be non-zero, as defined below. In addition to straightforward
success, the following situations are also to be considered successful:
- Restarting a service (instead of reloading it) with the force-reload
argument
- Running start on a service already running
- Running stop on a service already stopped or not running
- Running restart on a service already stopped or not running
- Running try-restart on a service already stopped or not running"
So if I start a service that is already running I should receive 0, but
"start-stop-daemon" returns 1 (error).
The option "--oknodo" changes the behaviour to the LSB recomendations but many
services in Debian don't use this option and return 1 in the case I've
quotted. This is very problematic for me when I try to use a Debian
service init script with HeartBeat that expects to receive a 0.
So I propose the following:
- Eliminate the "--oknodo" option and make the default behaviour to return
0 even if the action has done nothing ("start" on a started service or
"stop" on a stopped service).
- A possible new option "--errornodo" which changes the behaviour as now
it has (not LSB compliant).
[1] LSB specifications about init script actions:
http://www.linux-foundation.org/spec/refspecs/LSB_3.0.0/LSB-Core-generic/LSB-Core-generic/iniscrptact.html
|
|
|