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

Bug#400694: preseeding tasksel/first etc has no effect



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


Reply to: