Package: dibbler-client
Version: 0.7.3-0.1
Severity: normal

dpkg -i /var/cache/apt/archives/dibbler-client_0.7.3-1_i386.deb
<stdout>
(Reading database ... 219115 files and directories currently installed.)
Preparing to replace dibbler-client 0.7.3-0.1 (using 
.../dibbler-client_0.7.3-1_i386.deb) ...
Stopping DHCPv6 client: Stopping DHCPv6 client: 
</stdout>
<stderr>
invoke-rc.d: initscript dibbler-client, action "stop" failed.
dpkg: warning: subprocess old pre-removal script returned error exit status 1
dpkg - trying script from the new package instead ...
invoke-rc.d: initscript dibbler-client, action "stop" failed.
dpkg: error processing /var/cache/apt/archives/dibbler-client_0.7.3-1_i386.deb 
(--install):
 subprocess new pre-removal script returned error exit status 1
Errors were encountered while processing:
 /var/cache/apt/archives/dibbler-client_0.7.3-1_i386.deb
</stderr>

dibbler-client's prerm script fails because it asks the init-script to
stop the running dibbler client and the init-script forwards the
request to the daemon, which fails (here re-run after a manual
init-script start, to find out what went wrong):
<quote src="/usr/sbin/dibbler-client stop">
| Dibbler - a portable DHCPv6, version 0.7.3 (CLIENT, Linux port)
| Authors : Tomasz Mrugalski<thomson(at)klub.com.pl>,Marek 
Senderski<msend(at)o2.pl>
| Licence : GNU GPL v2 only. Developed at Gdansk University of Technology.
| Homepage: http://klub.com.pl/dhcpv6/
Attaching to process 1539 failed: No such process
Warning: Can not guarantee for remote process termination
Sending TERM signal to process 1539
Signal sending failed: No such process
</quote>
The init-script tells the daemon to stop in a sub-shell that follows
up with true, apparently in an effort to ignore any failure here, but
this doesn't seem to work !  The init-script fails, so prerm does too.
I am thus unable to upgrade dibbler-client from 0.7.3-0.1.

However, after a little perseverence, I found that commenting out the
"set -e" line in /etc/init.d/dibbler-client sufficed to solve the problem;
that's what causes the failing $DAEMON stop to abort the script.
That implies the following suggestion for how to fix this: change <prior>
  stop)
        echo -n "Stopping $DESC: "
        ($DAEMON stop 2>&1 > /dev/null; true)
        echo "$NAME."
        ;;
</prior> to <fixed>
  stop)
        echo -n "Stopping $DESC: "
        ($DAEMON stop 2>&1 > /dev/null || true)
        echo "$NAME."
        ;;
</fixed> and you should be OK :-)

The issue is that set -e is inherited by the sub-shell, which duly
exits (failing) before your ; true can have any effect; however,
|| true does what you want - set -e only applies to the end result
of any chain of || and && operations.

You need to do the same in restart|force-reload) as well, where it
calls stop.

I also note that your 2>&1 > /dev/null says "send errors to where
standard output would previously have gone, but send standard output
to /dev/null"; if what you want is "send errors and output to
/dev/null" then you need to do the redirects (somewhat
counter-intuitively [*]) in the reverse order: >/dev/null 2>&1
That applies to both stop and start uses of $DAEMON.

[*] if you doubt this, try the following:
(echo stderr >&2; echo stdout) 2>&1 >/dev/null
and vary the outer redirects to see how they interact.
In the form given, using your redirect, stderr gets displayed.
In the reversed >/dev/null 2>&1 form, all output is sent to /dev/null

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (500, 'testing'), (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-trunk-686 (SMP w/2 CPU cores)
Locale: LANG=en_GB.ISO-8859-15, LC_CTYPE=en_GB.ISO-8859-15 (charmap=ISO-8859-15)
Shell: /bin/sh linked to /bin/bash

Versions of packages dibbler-client depends on:
ii  debconf                       1.5.32     Debian configuration management sy
ii  libc6                         2.11.2-2   Embedded GNU C Library: Shared lib
ii  libgcc1                       1:4.4.4-5  GCC support library
ii  libstdc++6                    4.4.4-5    The GNU Standard C++ Library v3
ii  ucf                           3.0025     Update Configuration File: preserv

Versions of packages dibbler-client recommends:
ii  dibbler-doc                   0.7.3-1    documentation for Dibbler

dibbler-client suggests no packages.

-- debconf information:
* dibbler-client/start: true
  dibbler-client/title:
* dibbler-client/options: dns, domain
* dibbler-client/interfaces: eth0



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to