Package: fai
Version: 2.8.4
Severity: minor
Tags: patch

*** Please type your report below this line ***

  I was trying to install an nfsroot for sid. Only after applying the following 
patch I
succeeded. I do hope that I didn't missed something during my trial and error 
process.
I guess that lines for unstable should be present on apt-get preferences file 
as well.
  I also added some printings of debuging information to help diagnose 
problems, and 
comments to make-fai-nfsroot configuration file.

--- /usr/sbin/make-fai-nfsroot.orig   2006-01-03 20:22:15.000000000 +0200
+++ /usr/sbin//make-fai-nfsroot        2006-01-06 22:24:18.000000000 +0200
@@ -125,6 +125,21 @@
 trap "umount_dirs" EXIT
 trap "bad_exit" ERR
 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+which_distribution() {
+
+    suite=$1;    dist=$1
+    # Why which_distribution() required?
+    # apt, and preferences in particular, prefers the string unstable rather
+    # then the string sid because unstable is more common in RELEASE
+    # files. debootstrap, on the other hand, does not recognize the
+    # suite unstable. It is recognized by debootstrap only as sid.
+    case "$1" in
+    "sid"     ) dist=unstable;;
+    "unstable") suite=sid;;
+    *         ) ;;  # There should be no problem with the other names.
+    esac
+}
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 bad_exit() {

     merror="with errors"
@@ -225,6 +240,10 @@
 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 call_debootstrap() {

+    set -  $suite  $2
+    # See the definition of which_distribution() if you have questions
+    # about this line. Note that it is actually required only
+    # if [ "$1" != "$suite" ].
     echo "Creating nfsroot for $1 using debootstrap"
     [ "$verbose" ] && echo "Calling debootstrap $1 $NFSROOT $2"
     yes '' | LC_ALL=C call_verbose debootstrap $FAI_DEBOOTSTRAP_OPTS $1 
$NFSROOT $2 || true
@@ -282,8 +301,6 @@
     [ -f $cfdir/preferences ] && cp -v $cfdir/preferences $NFSROOT/etc/apt
     echo "Upgrading $NFSROOT"
     LC_ALL=C call_verbose call_with_stamp upgrade_nfsroot
-    echo "Adding additional packages to $NFSROOT:"
-    echo "$packages"
     LC_ALL=C call_verbose call_with_stamp add_packages_nfsroot
     call_with_stamp copy_fai_files

@@ -346,8 +363,8 @@
     cp -p $v /etc/resolv.conf $NFSROOT/etc/resolv.conf-installserver
     cp -p $v /etc/resolv.conf $NFSROOT/etc/resolv.conf # this is needed during 
make-fai-nfsroot
     $ROOTCMD apt-get update
-    $ROOTCMD apt-get -fyu install
-    $ROOTCMD apt-get check
+    $ROOTCMD apt-get -t $dist -fyu install
+    $ROOTCMD apt-get -t $dist check
     rm -rf $NFSROOT/etc/apm
     mount -t proc /proc $NFSROOT/proc

@@ -355,14 +372,26 @@
     fdivert /etc/init.d/rcS /sbin/start-stop-daemon /sbin/discover-modprobe
     cp /sbin/fai-start-stop-daemon $NFSROOT/sbin/
     ln -s /sbin/fai-start-stop-daemon $NFSROOT/sbin/start-stop-daemon
-    $ROOTCMD apt-get -y dist-upgrade
+    $ROOTCMD apt-get -t $dist -y dist-upgrade
 }
 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 add_packages_nfsroot() {

-    $ROOTCMD apt-get -y --fix-missing install $packages </dev/null
+    echo "Adding additional packages to $NFSROOT:"
+    echo "\$packages: $packages"
+    if [ "$verbose" -a "$dist" == "unstable" ]; then
+    # unstable is more likely to have breakages:
+        echo "A simulation to help track problems:"
+        $ROOTCMD apt-get -t $dist -Vsy --fix-missing install $packages 
</dev/null
+        echo "This is the real thing:"
+    fi
+    $ROOTCMD apt-get -t $dist -y --fix-missing install $packages </dev/null
     if [ -n "$NFSROOT_PACKAGES" ] ; then
-        LC_ALL=C $ROOTCMD apt-get -y --fix-missing install $NFSROOT_PACKAGES 
</dev/null
+        echo "\$NFSROOT_PACKAGES: $NFSROOT_PACKAGES"
+        if [ "$verbose" -a "$dist" == "unstable" ]; then
+        # unstable is more likely to have breakages:
+            echo "A simulation to help track problems:"
+            LC_ALL=C $ROOTCMD apt-get -t $dist -Vsy --fix-missing install 
$NFSROOT_PACKAGES </dev/null
+            echo "This is the real thing:"
+        fi
+        LC_ALL=C $ROOTCMD apt-get -t $dist -y --fix-missing install 
$NFSROOT_PACKAGES </dev/null
     fi
     $ROOTCMD apt-get clean
 }
@@ -489,6 +521,8 @@
     find $NFSROOT -xdev -maxdepth 1 ! -type d | xargs -r rm -f
 fi

+which_distribution $FAI_DEBOOTSTRAP
+
 # Create a new nfsroot
 if [ ! -x "`which debootstrap`" ]; then
     die "Can't find debootstrap command. Aborting."


--- /etc/fai/make-fai-nfsroot.conf.orig 2006-01-06 22:34:50.000000000 +0200
+++ /etc/fai/make-fai-nfsroot.conf   2006-01-06 22:41:16.000000000 +0200
@@ -8,8 +8,10 @@
 FAI_DEBOOTSTRAP="sarge http://$mirrorhost/debian";
 #FAI_DEBOOTSTRAP="sarge file:/files/scratch/debian"

-# your extra packages which will be installed into the nfsroot, space separated
-NFSROOT_PACKAGES="cfengine expect"
+# your extra packages which will be installed into the nfsroot, space
+# separated. Note that you can add options for apt-get at the
+# beginning.
+NFSROOT_PACKAGES="-V cfengine expect"

 # this local repository holds your local packages that can be installed to
 # the install clients. Don't forget to create the index file Packages.gz!
@@ -40,9 +42,10 @@

 nfssize="250MB"  # size of the nfsroot. Only informational purpose

-# FAI needs these packages that are install into the nfsroot
-packages="module-init-tools dhcp3-client ssh file rdate hwinfo portmap
-bootpc rsync wget rsh-client less dump reiserfsprogs usbutils
+# FAI needs these packages that are install into the nfsroot.
+# Note that you can add options for apt-get at the beginning.
+packages="-V module-init-tools dhcp3-client ssh file rdate hwinfo
+portmap bootpc rsync wget rsh-client less dump reiserfsprogs usbutils
 hdparm smartmontools parted mdadm lvm2
 dnsutils ntpdate dosfstools cvs jove xfsprogs xfsdump
 sysutils dialog discover mdetect libnet-perl netcat libapt-pkg-perl"


-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (600, 'testing'), (50, 'unstable')
Architecture: i386 (i586)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.11-1.pentium1.1
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)

Versions of packages fai depends on:
ii  libapt-pkg-perl               0.1.18+b1  Perl interface to libapt-pkg
ii  perl                          5.8.7-9    Larry Wall's Practical Extraction

Versions of packages fai recommends:
ii  debootstrap                   0.3.3      Bootstrap a basic Debian system
ii  dhcp3-server                  3.0.3-5    DHCP server for automatic IP addre
hi  fai-kernels                   1.10.1     special kernels for FAI (Fully Aut
ii  nfs-kernel-server [nfs-server 1:1.0.7-3  Kernel NFS server support
pn  rsh-server                    <none>     (no description available)
ii  syslinux                      3.11-3     Bootloader for Linux/i386 using MS
ii  tftpd-hpa [tftpd]             0.40-4.1   HPA's tftp server
ii  wget                          1.10.2-1   retrieves files from the web

-- debconf information excluded






-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to