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