X-Git-Url: https://git.grml.org/?p=grml-debootstrap.git;a=blobdiff_plain;f=grml-debootstrap;h=2fad7ee9911a250cbe0cd0ef7a4f381255f7e6ac;hp=870b8a83a974d4fcb8d2cf163d88ccc26f52d43a;hb=7da6c7fbb5522560aab3606e6c71e92167498608;hpb=43dac4ce09bbfb4ae4d417e8951345820e9393b8 diff --git a/grml-debootstrap b/grml-debootstrap index 870b8a8..2fad7ee 100755 --- a/grml-debootstrap +++ b/grml-debootstrap @@ -11,7 +11,7 @@ set -e # exit on any error # variables {{{ PN="$(basename $0)" -VERSION='0.22' +VERSION='0.23' MNTPOINT="/mnt/debootstrap.$$" # inside the chroot system locales might not be available, so use minimum: @@ -170,7 +170,7 @@ prompt_for_target() gawk -v num=0 -v ORS=' ' '/^\/dev\// {print $1}') if [ -z "$AVAILABLE_PARTITIONS" ] ; then - dialog --title "$PN" --single-quoted --stdout \ + dialog --title "$PN" --trim \ --msgbox "Sorry, no partitions found. Please configure your harddisks (see /proc/partitions) using a tool like fdisk, cfdisk, gpart, gparted,..." 0 0 @@ -694,9 +694,9 @@ debootstrap_system() { mount_target fi if grep -q $MNTPOINT /proc/mounts || [ -n "$DIRECTORY" ] ; then - einfo "Running $DEBOOTSTRAP for release ${RELEASE}${ARCHINFO} using ${MIRROR}${ISO}" - [ -n "$MIRROR" ] && $DEBOOTSTRAP $ARCHCMD $RELEASE $MNTPOINT $MIRROR || \ - $DEBOOTSTRAP $ARCHCMD $RELEASE $MNTPOINT $ISO + einfo "Running $DEBOOTSTRAP $DEBOOTSTRAP_OPT for release ${RELEASE}${ARCHINFO} using ${MIRROR}${ISO}" + [ -n "$MIRROR" ] && $DEBOOTSTRAP $ARCHCMD $DEBOOTSTRAP_OPT $RELEASE $MNTPOINT $MIRROR || \ + $DEBOOTSTRAP $ARCHCMD $DEBOOTSTRAP_OPT $RELEASE $MNTPOINT $ISO eend $? else eerror "Error: $MNTPOINT not mounted, can not continue." @@ -722,6 +722,7 @@ preparechroot() { [ -n "$ISO" ] && echo "ISO=$ISO" >> $CHROOT_VARIABLES [ -n "$MIRROR" ] && echo "CHROOTMIRROR=$MIRROR" >> $CHROOT_VARIABLES [ -n "$MIRROR" ] && echo "MIRROR=$MIRROR" >> $CHROOT_VARIABLES + [ -n "$KEEP_SRC_LIST" ] && echo "KEEP_SRC_LIST=$KEEP_SRC_LIST" >> $CHROOT_VARIABLES [ -n "$ROOTPASSWORD" ] && echo "ROOTPASSWORD=$ROOTPASSWORD" >> $CHROOT_VARIABLES [ -n "$TARGET" ] && echo "TARGET=$TARGET" >> $CHROOT_VARIABLES [ -n "$TARGET_UUID" ] && echo "TARGET_UUID=$TARGET_UUID" >> $CHROOT_VARIABLES @@ -739,11 +740,13 @@ preparechroot() { sed -i "s#GROOT=.*#GROOT=\"$GROOT\"#" $MNTPOINT/etc/debootstrap/config cp /etc/debootstrap/packages $MNTPOINT/etc/debootstrap/packages + [ -f /etc/debootstrap/debconf-selections -a "$DEBCONF" = 'yes' ] && \ + cp /etc/debootstrap/debconf-selections $MNTPOINT/etc/debootstrap/ # notice: do NOT use $CHROOT_VARIABLES inside chroot but statically file instead! cp $CHROOT_VARIABLES $MNTPOINT/etc/debootstrap/variables - cp -a /etc/debootstrap/extrapackages/ $MNTPOINT/etc/debootstrap/ + cp -a -L /etc/debootstrap/extrapackages/ $MNTPOINT/etc/debootstrap/ # make sure we can access network [relevant for cdebootstrap] [ -f "$MNTPOINT/etc/resolv.conf" ] || cp /etc/resolv.conf $MNTPOINT/etc/resolv.conf @@ -760,12 +763,14 @@ preparechroot() { # MAKEDEV is just a forking bomb crap, let's do it on our own instead :) ( cd $MNTPOINT/dev && tar zxf /etc/debootstrap/devices.tar.gz ) - # copy any existing existing files to chroot - [ -d /etc/debootstrap/boot ] && cp -a /etc/debootstrap/boot/* $MNTPOINT/boot/ - [ -d /etc/debootstrap/etc ] && cp -a /etc/debootstrap/etc/* $MNTPOINT/etc/ - [ -d /etc/debootstrap/share ] && cp -a /etc/debootstrap/share/* $MNTPOINT/share/ - [ -d /etc/debootstrap/usr ] && cp -a /etc/debootstrap/usr/* $MNTPOINT/usr/ - [ -d /etc/debootstrap/var ] && cp -a /etc/debootstrap/var/* $MNTPOINT/var/ + # copy any existing files to chroot + [ -d /etc/debootstrap/bin ] && cp -a -L /etc/debootstrap/bin/* $MNTPOINT/bin/ + [ -d /etc/debootstrap/boot ] && cp -a -L /etc/debootstrap/boot/* $MNTPOINT/boot/ + [ -d /etc/debootstrap/etc ] && cp -a -L /etc/debootstrap/etc/* $MNTPOINT/etc/ + [ -d /etc/debootstrap/sbin ] && cp -a -L /etc/debootstrap/sbin/* $MNTPOINT/sbin/ + [ -d /etc/debootstrap/share ] && cp -a -L /etc/debootstrap/share/* $MNTPOINT/share/ + [ -d /etc/debootstrap/usr ] && cp -a -L /etc/debootstrap/usr/* $MNTPOINT/usr/ + [ -d /etc/debootstrap/var ] && cp -a -L /etc/debootstrap/var/* $MNTPOINT/var/ # copy local network setup to chroot if [ -r /etc/network/interfaces -a ! -r "${MNTPOINT}"/etc/network/interfaces ] ; then