[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#497395: Bug#497318: installation-reports: Debian testing i386 20080831 on Compal FL90 (PM965): Success after issues



tags 497395 + patch
thanks

On Mon, Sep 01, 2008 at 02:31:55PM +0200, Jérémy Bobbio wrote:
> On Sun, Aug 31, 2008 at 04:47:24PM -0400, Filipus Klutiero wrote:
> > Then there is an issue with the non-free firmware loading feature. d-i
> > asks whether I want to load iwlwifi 3945 firmware at the right time,
> > but then (maybe only when I deny loading it) re-asks for that firmware
> > pretending that the HDD requires it. This is similar to #491712. This
> > is not the first image I test that contains this bug.
> 
> If you answer "No" the first time, then the firmware will still be
> requested later on, so the second time check-missing-firmware is run,
> it will be asked again.
> 
> Looks avoidable by recording the firmware files that were previously
> denied.

The attached patch implements this.  I have tested it by manually
adding lines to /tmp/missing-firmware, and it did the trick.

Second looks on the analysis and on the patch are welcome.

Cheers,
-- 
Jérémy Bobbio                        .''`. 
lunar@debian.org                    : :Ⓐ  :  # apt-get install anarchism
                                    `. `'` 
                                      `-   
commit 372ce581a24892fbf6043bcbe09e1a5e88aac5fa
Author: Jérémy Bobbio <lunar@debian.org>
Date:   Mon Sep 1 12:57:17 2008 +0000

    check-missing-firmware: Don't add module when no files are requested

diff --git a/packages/hw-detect/check-missing-firmware.sh b/packages/hw-detect/check-missing-firmware.sh
index 8a7451f..387b855 100755
--- a/packages/hw-detect/check-missing-firmware.sh
+++ b/packages/hw-detect/check-missing-firmware.sh
@@ -22,13 +22,11 @@ read_log () {
 		IFS="$NL"
 		for line in $(sort $LOG.old | uniq); do
 			module="${line%% *}"
-			if [ -n "$module" ]; then
-				modules="$module${modules:+ $modules}"
-			fi
 			file="${line#* }"
-			if [ -n "$file" ]; then
-				files="$file${files:+ $files}"
-			fi
+			[ -z "$module" ] || [ -z "$file" ] && continue
+
+			modules="$module${modules:+ $modules}"
+			files="$file${files:+ $files}"
 		done
 		IFS="$OLDIFS"
 		rm -f $LOG.old

commit 1c9e9cde15721637df6080b99f8b3d5a80934ea0
Author: Jérémy Bobbio <lunar@debian.org>
Date:   Mon Sep 1 13:26:41 2008 +0000

    check-missing-firmware: Merge log and return tests in read_log()

diff --git a/packages/hw-detect/check-missing-firmware.sh b/packages/hw-detect/check-missing-firmware.sh
index 387b855..f53aa59 100755
--- a/packages/hw-detect/check-missing-firmware.sh
+++ b/packages/hw-detect/check-missing-firmware.sh
@@ -30,15 +30,13 @@ read_log () {
 		done
 		IFS="$OLDIFS"
 		rm -f $LOG.old
-	
-		log "missing firmware files ($files) for $modules"
-	else
-		log "no missing firmware in $LOG"
 	fi
 
 	if [ -n "$modules" ]; then
+		log "missing firmware files ($files) for $modules"
 		return 0
 	else
+		log "no missing firmware in $LOG"
 		return 1
 	fi
 }

commit 95885258deb1e539bc4e32621df61e74edcde2af
Author: Jérémy Bobbio <lunar@debian.org>
Date:   Mon Sep 1 13:12:16 2008 +0000

    Don't ask for firmware files that have already been denied
    
    (Closes: #497395)

diff --git a/packages/hw-detect/check-missing-firmware.sh b/packages/hw-detect/check-missing-firmware.sh
index f53aa59..e840abb 100755
--- a/packages/hw-detect/check-missing-firmware.sh
+++ b/packages/hw-detect/check-missing-firmware.sh
@@ -3,6 +3,7 @@ set -e
 . /usr/share/debconf/confmodule
 
 LOG=/tmp/missing-firmware
+DENIED=/tmp/missing-firmware-denied
 NL="
 "
 
@@ -25,6 +26,10 @@ read_log () {
 			file="${line#* }"
 			[ -z "$module" ] || [ -z "$file" ] && continue
 
+			if grep -q "^$file$" $DENIED 2>/dev/null; then
+				continue
+			fi
+
 			modules="$module${modules:+ $modules}"
 			files="$file${files:+ $files}"
 		done
@@ -58,6 +63,7 @@ ask_load_firmware () {
 	if [ "$RET" = true ]; then
 		return 0
 	else
+		echo "$files" | tr ' ' '\n' >> $DENIED
 		return 1
 	fi
 }
diff --git a/packages/hw-detect/debian/changelog b/packages/hw-detect/debian/changelog
index 59d20f2..1291bee 100644
--- a/packages/hw-detect/debian/changelog
+++ b/packages/hw-detect/debian/changelog
@@ -1,3 +1,10 @@
+hw-detect (1.67) UNRELEASED; urgency=low
+
+  * check-missing-firmware: Don't ask for firmware files that have already
+    been denied by the user in a previous question.  (Closes: #497395)
+
+ -- Jérémy Bobbio <lunar@debian.org>  Mon, 01 Sep 2008 13:09:31 +0000
+
 hw-detect (1.66) unstable; urgency=low
 
   [ Jérémy Bobbio ]

Attachment: signature.asc
Description: Digital signature


Reply to: