Package: sirc
Version: 2.211-8
Severity: important
Tags: patch

The final line in sirc's postinst is:
  test -e /usr/bin/update-menus && update-menus
The desired effect is to only run update-menus if it exists. However,
there is a secondary effect, which is that the statement's exit code is
'1' if update-menus does not exist. Because it's the last line of the
script, the script exits with code '1', and dpkg interprets this as an
error code.

The script should either explicitly exit with a successful status code,
or should utilize an if/then statement instead of relying on short
circuit behavior. A patch to do the latter is attached.

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/dash
Kernel: Linux 2.6.14-1-k7-smp
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)

Versions of packages sirc depends on:
ii  libc6                         2.3.5-7    GNU C Library: Shared libraries an
ii  libncurses5                   5.5-1      Shared libraries for terminal hand
ii  perl [perl5]                  5.8.7-7    Larry Wall's Practical Extraction 

sirc recommends no packages.

-- no debconf information
--- debian/postinst.orig        2005-11-06 16:48:30.000000000 -0500
+++ debian/postinst     2005-11-06 16:47:22.000000000 -0500
@@ -2,5 +2,6 @@
 update-alternatives --install /usr/bin/irc irc /usr/bin/sirc 20 \
                     --slave /usr/share/man/man1/irc.1.gz irc.1 
/usr/share/man/man1/sirc.1.gz
 
-test -e /usr/bin/update-menus && update-menus
-
+if test -e /usr/bin/update-menus; then
+  update-menus
+fi

Reply via email to