Package: b43-fwcutter
Version: 1:008-1
Severity: normal
Tags: patch

*** Please type your report below this line ***

Trying to install b43-fwcutter on a system that never had
bcm43xx-fwcutter installed, fails with the following error message:

# LANG= apt-get install b43-fwcutter
[...]
Preconfiguring packages ...
b43-fwcutter failed to preconfigure, with exit status 10
Selecting previously deselected package b43-fwcutter.
(Reading database ... 62042 files and directories currently installed.)
Unpacking b43-fwcutter (from .../b43-fwcutter_1%3a008-1_i386.deb) ...
Setting up b43-fwcutter (1:008-1) ...
dpkg: error processing b43-fwcutter (--configure):
 subprocess post-installation script returned error exit status 10
Errors were encountered while processing:
 b43-fwcutter
E: Sub-process /usr/bin/dpkg returned an error code (1)

The reason for this issue can be found in debian/b43-fwcutter.config:
        if [ "$DEBCONF_FRONTEND" != "noninteractive" ] && [ -x /usr/bin/wget ]; 
then
                # try to get the olds bcm3xx question
                db_get bcm43xx-fwcutter/cut_firmware
                if [ "$RET" != "" ]; then
                        db_set b43-fwcutter/cut_firmware $RET
                else
                        db_input high b43-fwcutter/cut_firmware || true
                fi
                db_go || true
        fi

db_get fails, if bcm43xx-fwcutter/cut_firmware isn't set, like it isn't if 
bcm43xx-fwcutter isn't already installed:
        # debconf-get-selections | grep -e bcm43xx -e b43
        #

The following change would keep the intention of evaluating 
bcm43xx-fwcutter/cut_firmware for b43-fwcutter while fixing the install
failure, but unfortunately it (just as the existing code) renders 
"dpkg-reconfigure b43-fwcutter" pretty useless post installing, effectively
it would still depend on the value of bcm43xx-fwcutter/cut_firmware.
        if [ "$DEBCONF_FRONTEND" != "noninteractive" ] && [ -x /usr/bin/wget ]; 
then
                # try to get the olds bcm3xx question
                if db_get bcm43xx-fwcutter/cut_firmware && [ -n "$RET" ]; then
                        db_set b43-fwcutter/cut_firmware $RET
                else
                        db_input high b43-fwcutter/cut_firmware || true
                fi
                db_go || true
        fi

Personally I'd suggest just reverting to a simpler debconf design, like the
one used for bcm43-fwcutter, tested patch attached.

Regards
        Stefan Lippers-Hollmann

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.23.1-slh64-smp-3 (SMP w/2 CPU cores; PREEMPT)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages b43-fwcutter depends on:
ii  debconf [debconf-2.0]         1.5.14     Debian configuration management sy
ii  libc6                         2.6.1-5    GNU C Library: Shared libraries
ii  wget                          1.10.2-3   retrieves files from the web

b43-fwcutter recommends no packages.
diff -Nrup a/debian/b43-fwcutter.config b/debian/b43-fwcutter.config
--- a/debian/b43-fwcutter.config	2007-10-18 15:06:47.000000000 +0200
+++ b/debian/b43-fwcutter.config	2007-10-18 15:07:36.000000000 +0200
@@ -5,12 +5,6 @@ set -e
 . /usr/share/debconf/confmodule
 
 if [ "$DEBCONF_FRONTEND" != "noninteractive" ] && [ -x /usr/bin/wget ]; then
-	# try to get the olds bcm3xx question
-	db_get bcm43xx-fwcutter/cut_firmware
-	if [ "$RET" != "" ]; then
-		db_set b43-fwcutter/cut_firmware $RET
-	else
-		db_input high b43-fwcutter/cut_firmware || true
-	fi
+	db_input high b43-fwcutter/cut_firmware || true
 	db_go || true
 fi

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to