Package: rootstrap
Version: 0.3.23-1
Severity: normal

Hi Mattia,

at first many thanks for integrating all my suggestions into rootstrap.

There are two problems with preseeding:
a) can't use a local file (without an absolute path)
b) can't use a file from /etc

a) shouldn't be too hard to fix since you can have a local
rootstrap.conf and modules/ directory
b) happens because a tmpfs is mounted over /etc, but you can still
access the original /etc by prepending $HOST

I attach a small patch that should fix this behaviour by defining a
variable $preseed_prefix that gets prepended when accessing the file.
It's value is either $HOST or $HOST_CWD depending on a leading '/' in
$debconf_preseed_file. Here I assumed that the pwd on the host can be
accessed via $HOST_CWD - this probably has be be fixed :-)

Furthermore I'd suggest moving the preseeding above the initialization
of the debootstrap options in order no to interrupt the logical unit of
preparing debootstrap options and running debootstrap.


Andreas

-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (500, 'testing'), (500, 'stable'), (300, 'unstable'), (30, 
'experimental')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.17-2-k7
Locale: LANG=C, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)

Versions of packages rootstrap depends on:
ii  debootstrap                 0.3.3        Bootstrap a basic Debian system
ii  dpkg                        1.13.21      package maintenance system for Deb
ii  python                      2.4.3-11     An interactive high-level object-o
ii  user-mode-linux             2.6.17-1um-2 User-mode Linux (kernel)

Versions of packages rootstrap recommends:
ii  uml-utilities                 20060323-3 User-mode Linux (utility programs)

-- no debconf information
--- /usr/lib/rootstrap/modules/debian	2006-09-02 20:37:25.000000000 +0200
+++ modules/debian	2006-09-16 00:06:48.000000000 +0200
@@ -33,9 +33,16 @@
     opts="$opts --unpack-tarball $basedebs"
 fi
 
-if test -n "$debconf_preseed_file" -a -f "$debconf_preseed_file"; then
+if test -n "$debconf_preseed_file"; then
+	case "$debconf_preseed_file" in
+		/* )	preseed_prefix=$HOST ;;
+		*)	preseed_prefix=$HOST_CWD ;;
+	esac
+fi
+
+if test -n "$debconf_preseed_file" -a -f "$preseed_prefix/$debconf_preseed_file"; then
 	mkdir -p $TARGET/var/cache/debconf || true
-	cp $debconf_preseed_file $TARGET/var/cache/debconf/config.dat
+	cp $preseed_prefix/$debconf_preseed_file $TARGET/var/cache/debconf/config.dat
 
 #	DEBCONF_DB_OVERRIDE="File{/tmp/config.dat}"
 #	export DEBCONF_DB_OVERRIDE

Reply via email to