Initial README.md (esp. for Github users)
[grml-debootstrap.git] / chroot-script
index 751eac3..3ae79ee 100755 (executable)
 
 # 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
@@ -88,7 +88,7 @@ chrootmirror() {
 
   # 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 +136,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 +223,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 +234,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
@@ -292,7 +292,7 @@ get_kernel_version() {
   fi
 
   case $ARCH in
-    i386)   KARCH=i686  ;;
+    i386)   KARCH=686   ;;
     amd64)  KARCH=amd64 ;;
     *)
       echo "Only i386 and amd64 are currently supported" >&2
@@ -311,12 +311,19 @@ 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
      # note: install busybox to be able to debug initramfs
      KERNELPACKAGES="linux-image-$KVER linux-headers-$KVER busybox firmware-linux-free firmware-linux"
      DEBIAN_FRONTEND=$DEBIAN_FRONTEND $APTINSTALL $KERNELPACKAGES
+  else
+     echo "Warning: Could not find a kernel for your system. Your system won't be able to boot itself!"
   fi
 }
 # }}}
@@ -426,6 +433,20 @@ EOF
 }
 # }}}
 
+# set default locales {{{
+default_locales() {
+  if [ -n "$DEFAULT_LOCALES" ] ; then
+    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 LANG="$DEFAULT_LOCALES"
+  fi
+}
+# }}}
+
 # adjust timezone {{{
 timezone() {
   if [ -n "$TIMEZONE" ] ; then
@@ -450,7 +471,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
@@ -606,7 +627,7 @@ trap signal_handler HUP INT QUIT TERM
 
  for i in chrootmirror grmlrepos backportrepos kernelimg_conf \
      kernel packages extrapackages  reconfigure hosts interfaces \
-     timezone fstab hostname initrd grub_install passwords        \
+     default_locales timezone fstab hostname initrd grub_install passwords \
      custom_scripts upgrade_system remove_apt_cache services \
      remove_chrootmirror; do
      if stage $i ; then