+# install extra packages {{{
+extrapackages() {
+ if [ "$EXTRAPACKAGES" = 'yes' ] ; then
+ PACKAGELIST=$(find /etc/debootstrap/extrapackages -type f -name '*.deb')
+ if [ -n "$PACKAGELIST" ]; then
+ dpkg -i $PACKAGELIST
+ # run apt again to resolve any deps
+ DEBIAN_FRONTEND=$DEBIAN_FRONTEND $APTINSTALL
+ fi
+ fi
+}
+# }}}
+
+# sarge specific stuff: mkinitrd {{{
+mkinitrd() {
+ if [ "$RELEASE" = 'sarge' ] ; then
+ sed -i "s#ROOT=probe#ROOT=$TARGET#" /etc/mkinitrd/mkinitrd.conf
+ fi
+}
+# }}}
+
+# install kernel packages {{{
+kernel() {
+ # do not override $KERNEL if set via config file
+ if [ -z "$KERNEL" ] ; then
+ if [ "$ARCH" = 'i386' ] ; then
+ KERNEL='2.6-686'
+ elif [ "$ARCH" = 'amd64' ] ; then
+ KERNEL='2.6-amd64'
+ fi
+ fi
+
+ if [ -n "$KERNEL" ] ; then
+ $APTUPDATE
+ if [ "$RELEASE" = 'sarge' ] ; then
+ KERNELPACKAGES="kernel-image-$KERNEL kernel-headers-$KERNEL"
+ else
+ KERNELPACKAGES="linux-image-$KERNEL linux-headers-$KERNEL"
+ fi
+ DEBIAN_FRONTEND=$DEBIAN_FRONTEND $APTINSTALL $KERNELPACKAGES
+ fi
+}
+# }}}
+
+# reconfigure packages {{{
+reconfigure() {
+ if [ -n "$RECONFIGURE" ] ; then
+ for package in $RECONFIGURE ; do
+ dpkg --list $package 1>/dev/null 2>/dev/null && \
+ DEBIAN_FRONTEND=$DEBIAN_FRONTEND dpkg-reconfigure $package || \
+ echo "Warning: $package does not exist, can not reconfigure it."
+ done
+ fi
+}
+# }}}
+
+# set password of user root {{{
+passwords() {
+ echo "Activating shadow passwords."
+ shadowconfig on
+
+ if [ -n "$ROOTPASSWORD" ] ; then
+ echo root:"$ROOTPASSWD" | chpasswd -m
+ export ROOTPASSWD=''
+ else
+ echo "Setting password for user root:"
+ echo -n "Enter new UNIX password for user root: "
+ read -s a
+ echo root:"$a" | chpasswd -m
+ unset a
+ echo
+ fi
+}
+# }}}
+
+# set up /etc/hosts {{{
+hosts() {
+ if ! [ -f /etc/hosts ] ; then
+ echo "Setting up /etc/hosts"
+ echo "127.0.0.1 localhost $HOSTNAME" > /etc/hosts
+ fi
+}
+# }}}