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 .''`. [EMAIL PROTECTED] : :Ⓐ : # apt-get install anarchism `. `'` `-
commit 372ce581a24892fbf6043bcbe09e1a5e88aac5fa Author: Jérémy Bobbio <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> Mon, 01 Sep 2008 13:09:31 +0000 + hw-detect (1.66) unstable; urgency=low [ Jérémy Bobbio ]
signature.asc
Description: Digital signature