X-Git-Url: https://git.grml.org/?p=grml-debootstrap.git;a=blobdiff_plain;f=chroot-script;h=347bead51611ccb807d28b0b0d7614009ad538c2;hp=2b3e1ef88002d4ef9d70f66146fbb1cce4a7ae85;hb=65c58bfa1cc8e90ecfa0d576a64e08a790c57d7e;hpb=43e7572cd0ec1da913edff68368e8fbb7d36a65b diff --git a/chroot-script b/chroot-script index 2b3e1ef..347bead 100755 --- a/chroot-script +++ b/chroot-script @@ -17,10 +17,10 @@ set -e # exit on any error # use aptitude only if it's available if [ -x /usr/bin/aptitude ] ; then - APTINSTALL='aptitude -y --without-recommends install ' + APTINSTALL="aptitude -y --without-recommends install $DPKG_OPTIONS" APTUPDATE='aptitude update' else - APTINSTALL='apt-get --force-yes -y install' + APTINSTALL="apt-get --force-yes -y install $DPKG_OPTIONS" APTUPDATE='apt-get update' fi @@ -47,12 +47,14 @@ stage() { # define chroot mirror {{{ chrootmirror() { [ -n "$KEEP_SRC_LIST" ] && return + [ -z "$COMPONENTS" ] && COMPONENTS='main contrib non-free' + if [ -n "$ISO" ] ; then - echo "deb $ISO $RELEASE main contrib" > /etc/apt/sources.list - [ -n "$MIRROR" ] && echo "deb $MIRROR $RELEASE main contrib non-free" >> /etc/apt/sources.list + echo "deb $ISO $RELEASE $COMPONENTS" > /etc/apt/sources.list + [ -n "$MIRROR" ] && echo "deb $MIRROR $RELEASE $COMPONENTS" >> /etc/apt/sources.list || /bin/true else if [ -n "$MIRROR" ] ; then - echo "deb $MIRROR $RELEASE main contrib non-free" > /etc/apt/sources.list + echo "deb $MIRROR $RELEASE $COMPONENTS" > /etc/apt/sources.list fi fi } @@ -219,8 +221,14 @@ passwords() echo "Activating shadow passwords." shadowconfig on + CHPASSWD_OPTION= + if chpasswd --help 2>&1 | grep -q -- '-m,' ; then + CHPASSWD_OPTION='-m' + fi + + if [ -n "$ROOTPASSWORD" ] ; then - echo root:"$ROOTPASSWORD" | chpasswd -m + echo root:"$ROOTPASSWORD" | chpasswd $CHPASSWD_OPTION export ROOTPASSWORD='' else a='1' @@ -238,7 +246,7 @@ passwords() a='1' b='2' else - echo root:"$a" | chpasswd -m + echo root:"$a" | chpasswd $CHPASSWD_OPTION unset a unset b fi @@ -361,7 +369,12 @@ hostname() { # generate initrd/initramfs {{{ initrd() { # assume the first available kernel as our main kernel - KERNELIMG=$(ls -1 /boot/vmlinuz-* | head -1) + KERNELIMG=$(ls -1 /boot/vmlinuz-* 2>/dev/null | head -1) + if [ -z "$KERNELIMG" ] ; then + echo 'No kernel image found, skipping initrd stuff.'>&2 + return + fi + KERNELVER=${KERNELIMG#/boot/vmlinuz-} # generate initrd @@ -462,7 +475,7 @@ finalize() { # execute the functions {{{ for i in chrootmirror grmlrepos kernelimg_conf makedev install_policy_rcd \ - packages extrapackages mkinitrd kernel reconfigure hosts interfaces \ + kernel packages extrapackages mkinitrd reconfigure hosts interfaces \ timezone fstab hostname initrd grub passwords custom_scripts services ; do if stage $i ; then $i && stage $i done || exit 1