Package: preseed
Version: 1.03
Severity: serious
Tag: patch
I made a kde CD that preseeds tasksel/first=kde-desktop, but this
doesn't work, kde-desktop is not automatically installed.
Indeed, it's commented out in /var/lib/preseed/log, and the code that
populates the debconf db in /target skips it. So tasksel/first is only
preseeded in cdebconf, and does not have an effect, except to cause
cdebconf to not show the question. This results in debconf getting the
default answer of the question instead of the preseeded value.
Even if I uncomment it, it still won't work, because preseed's
post-base-installer hook only copies values not owned by d-i over
to debconf.
- Log variables preseeded from the environment in the preseed log file,
but leave them commented out, since environment preseeding is typically
used for one-off overridding, and we don't want preseeded
debconf/priority or the like to affect the installed system. Probably.
To fix this, it seems that env2preseed would need to both not comment
out the lines, as well as make them be owned by something other than
d-i. Although as the changelog comment above notes, it opens the
possibility for other values specified by the user on the kernel command
line and only intended to override d-i behavior to be saved into the
installed system. According to my tests, this patch should work:
Index: env2debconf
===================================================================
--- env2debconf (revision 42928)
+++ env2debconf (working copy)
@@ -38,7 +38,7 @@
else
type=unknown
fi
- echo "#d-i $var $type $val" >> /var/lib/preseed/log
+ echo "unknown $var $type $val" >> /var/lib/preseed/log
db_fset "$var" seen true
IFS=$NEWLINE
fi
(NB: Unless the owner is set to the actual right package name somehow, it
also will cause these items to enter the debconf db with a second owner,
which will prevent them from being removed when tasksel is purged, but
this is a lesser problem.)
-- System Information:
Debian Release: 4.0
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-2-686
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
--
see shy jo
Attachment:
signature.asc
Description: Digital signature