X-Git-Url: https://git.grml.org/?p=grml-debootstrap.git;a=blobdiff_plain;f=chroot-script;h=289773ba02a597b0a6ac0dc3f814b1171070f746;hp=6d01a89dfa915983354b2ec43a74732059410464;hb=86c53253ecc5dd7971ab6e8d04b285c08265906a;hpb=ddf2a40ee91694dc0f8006cfbc9844acd4f36a68 diff --git a/chroot-script b/chroot-script index 6d01a89..289773b 100755 --- a/chroot-script +++ b/chroot-script @@ -18,19 +18,19 @@ # use aptitude only if it's available if [ -x /usr/bin/aptitude ] ; then - APTUPDATE='aptitude update' + APTUPDATE="aptitude update $DPKG_OPTIONS" # Debian ISOs do not contain signed Release files if [ -n "$ISO" ] ; then APTINSTALL="aptitude -y --allow-untrusted --without-recommends install $DPKG_OPTIONS" - APTUPGRADE='aptitude -y --allow-untrusted safe-upgrade' + APTUPGRADE="aptitude -y --allow-untrusted safe-upgrade $DPKG_OPTIONS" else APTINSTALL="aptitude -y --without-recommends install $DPKG_OPTIONS" - APTUPGRADE='aptitude -y safe-upgrade' + APTUPGRADE="aptitude -y safe-upgrade $DPKG_OPTIONS" fi else APTINSTALL="apt-get --force-yes -y --no-install-recommends install $DPKG_OPTIONS" - APTUPDATE='apt-get update' - APTUPGRADE='apt-get --force-yes -y upgrade' + APTUPDATE="apt-get update $DPKG_OPTIONS" + APTUPGRADE="apt-get --force-yes -y upgrade $DPKG_OPTIONS" fi if [ -z "$STAGES" ] ; then @@ -86,9 +86,19 @@ chrootmirror() { fi fi + # LTS support + case "$RELEASE" in + squeeze) + if [ -n "$MIRROR" ] ; then + echo "Release matching $RELEASE - enabling LTS support in sources.list" + echo "deb $MIRROR ${RELEASE}-lts $COMPONENTS" >> /etc/apt/sources.list + fi + ;; + esac + # add security.debian.org: case "$RELEASE" in - unstable|sid) ;; # no security pool available + unstable|sid|lenny) ;; # no security pool available *) echo "Adding security.debian.org to sources.list." echo "deb http://security.debian.org ${RELEASE}/updates $COMPONENTS" >> /etc/apt/sources.list @@ -136,9 +146,9 @@ grmlrepos() { EOF fi - if apt-get update ; then - apt-get -y --allow-unauthenticated install grml-debian-keyring - apt-get update + if apt-get update $DPKG_OPTIONS; then + apt-get -y --allow-unauthenticated install grml-debian-keyring $DPKG_OPTIONS + apt-get update $DPKG_OPTIONS else # make sure we have the keys available for aptitude gpg --keyserver subkeys.pgp.net --recv-keys F61E2E7CECDEA787 @@ -223,7 +233,7 @@ upgrade_system() { if [ "$UPGRADE_SYSTEM" = "yes" ] ; then echo "Running update + upgrade" $APTUPDATE - $APTUPGRADE + DEBIAN_FRONTEND=$DEBIAN_FRONTEND $APTUPGRADE else echo "Not running update + upgrade as \$UPDATE_AND_UPGRADE is not set to 'yes'." fi @@ -234,7 +244,7 @@ upgrade_system() { remove_apt_cache() { if [ "$RM_APTCACHE" = 'yes' ] ; then echo "Cleaning apt cache." - apt-get clean + apt-get clean $DPKG_OPTIONS else echo "Not cleaning apt cache as \$RM_APTCACHE is unset." fi @@ -311,6 +321,11 @@ get_kernel_version() { # install kernel packages {{{ kernel() { + if [ -n "$NOKERNEL" ] ; then + echo "Skipping installation of kernel packages as requested via --nokernel" + return 0 + fi + $APTUPDATE KVER=$(get_kernel_version) if [ -n "$KVER" ] ; then @@ -409,29 +424,16 @@ EOF } # }}} -# set up /etc/network/interfaces {{{ -interfaces() { - if ! [ -r /etc/network/interfaces ] || ! grep -q "auto lo" /etc/network/interfaces ; then - echo "Setting up /etc/network/interfaces" - cat >> /etc/network/interfaces << EOF - -# loopback device: -iface lo inet loopback -auto lo - -# eth0: -# iface eth0 inet dhcp -# auto eth0 - -EOF - fi -} -# }}} - # set default locales {{{ default_locales() { if [ -n "$DEFAULT_LOCALES" ] ; then - update-locale LANG="$DEFAULT_LOCALES" + if ! [ -x /usr/sbin/update-locale ] ; then + echo "Warning: update-locale executable not available (no locales package installed?)" + echo "Ignoring request to run update-locale for $DEFAULT_LOCALES therefore" + return 0 + fi + + /usr/sbin/update-locale LANGUAGE="$DEFAULT_LANGUAGE" LANG="$DEFAULT_LOCALES" fi } # }}} @@ -460,7 +462,7 @@ proc /proc proc defaults 0 0 # some other examples: # /dev/sda2 none swap sw,pri=0 0 0 # /dev/hda1 /Grml ext3 dev,suid,user,noauto 0 2 -# //1.2.3.4/pub /smb/pub smbfs defaults,user,noauto,uid=grml,gid=grml 0 0 +# //1.2.3.4/pub /smb/pub cifs user,noauto,uid=grml,gid=grml 0 0 # linux:/pub /beer nfs defaults 0 0 # tmpfs /tmp tmpfs size=300M 0 0 # /dev/sda5 none swap sw 0 0 @@ -497,6 +499,20 @@ hostname() { sed -i "s/^inet_interfaces = .*/inet_interfaces = loopback-only/" /etc/postfix/main.cf grep -q inet_interfaces /etc/postfix/main.cf || echo 'inet_interfaces = loopback-only' >> /etc/postfix/main.cf fi + if [ -r /etc/mailname ] ; then + # adjust /etc/mailname + local etc_mail_domain=$(/bin/dnsdomainname 2>/dev/null || echo localdomain) + case "$HOSTNAME" in + *.*) + local mailname="$HOSTNAME" + ;; + *) + local mailname="${HOSTNAME}.${etc_mail_domain}" + ;; + esac + echo "Setting mailname to ${mailname}" + echo "$mailname" > /etc/mailname + fi fi } # }}} @@ -615,7 +631,7 @@ trap signal_handler HUP INT QUIT TERM install_policy_rcd for i in chrootmirror grmlrepos backportrepos kernelimg_conf \ - kernel packages extrapackages reconfigure hosts interfaces \ + kernel packages extrapackages reconfigure hosts \ default_locales timezone fstab hostname initrd grub_install passwords \ custom_scripts upgrade_system remove_apt_cache services \ remove_chrootmirror; do