#!/bin/bash
-# Filename: /etc/grml/fai/config/hooks/updatebase.GRMLBASE
+# Filename: ${GRML_FAI_CONFIG}/hooks/updatebase.GRMLBASE
# Purpose: Updates the base packages of the system, prepare chroot for instsoft
# Authors: grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
# Bug-Reports: see http://grml.org/bugs/
set -u
set -e
+. "$GRML_LIVE_CONFIG"
# visualize chroot inside zsh:
echo grml_chroot > $target/etc/debian_chroot
-HOSTNAME=''
-[ -r /etc/grml/grml-live.conf ] && . /etc/grml/grml-live.conf
-[ -r /etc/grml/grml-live.local ] && . /etc/grml/grml-live.local
-[ -n "$HOSTNAME" ] || HOSTNAME=grml
echo "$HOSTNAME" > $target/etc/hostname
+if [ -n "${APT_PROXY:-}" ] ; then
+ cat > $target/etc/apt/apt.conf.d/90grml-apt-proxy.conf <<EOF
+Acquire::http { Proxy "$APT_PROXY"; };
+EOF
+fi
+
if [ "$FAI_ACTION" = "softupdate" ] ; then
echo "Action $FAI_ACTION of FAI (hooks/updatebase.GRMLBASE) via grml-live running"
- ## we want to use our own sources.list:
+ # otherwise we're running 'aptitude update' even on with -b option
skiptask updatebase
## based on FAI's lib/updatebase:
mount --bind /dev $FAI_ROOT/dev || true
fi
+ if [ -d $FAI_ROOT/run ] ; then
+ mount -t tmpfs tmpfs $FAI_ROOT/run
+ mkdir $FAI_ROOT/run/lock
+ fi
+
mount -t devpts devpts $FAI_ROOT/dev/pts || true
# skip the task if we want to build a new ISO only,
if [ -n "$BUILD_ONLY" ] ; then
skiptask instsoft || true
fi
-
- exit # make sure we don't continue behind the following "fi"
fi
if [ -n "$BOOTSTRAP_ONLY" ] ; then
skiptask configure
fi
-# no softupdate but updating chroot e.g. based on /etc/grml/fai/config/basefiles/*
-echo "Action $FAI_ACTION of FAI (hooks/updatebase.GRMLBASE) via grml-live running"
+# work around #632624: udev fails to install on systems with old kernel versions
+if ! [ -e ${target}/etc/udev/kernel-upgrade ] ; then
+ echo "Working around udev package bug, creating /etc/udev/kernel-upgrade"
+ echo "# installed via updatebase.GRMLBASE" > ${target}/etc/udev/kernel-upgrade
+fi
# install all apt related files
-fcopy -r /etc/apt
-
-# remove grml-live's notice file from chroot:
-if [ -r $target/etc/apt/important_note.txt ] ; then
- grep -q GRML_LIVE_SOURCES $target/etc/apt/important_note.txt && rm $target/etc/apt/important_note.txt
-fi
+fcopy -i -B -v -r /etc/apt
-# install grml gpg key:
-fcopy /etc/apt/grml.key
+# install Grml gpg key:
$ROOTCMD apt-key add /etc/apt/grml.key
+if ! $ROOTCMD test -x /usr/bin/aptitude ; then
+ echo "aptitude binary is not available, installing to make sure further FAI actions continue to work"
+ $ROOTCMD apt-get update
+ $ROOTCMD apt-get -y install aptitude
+fi
+
## END OF FILE #################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2