X-Git-Url: https://git.grml.org/?p=grml-live.git;a=blobdiff_plain;f=etc%2Fgrml%2Ffai%2Fconfig%2Fhooks%2Fupdatebase.GRMLBASE;h=b063b503890fe676ec7cfd1301e7420dfd1dbb10;hp=b04e0ba4b7eb4ea46ca751117cc38d8f76ac0d85;hb=7bbfd24bb59bead0491ff8cb5ab7fa8fe6dee619;hpb=343ab03f983902acf628aebff804da2f6085a272 diff --git a/etc/grml/fai/config/hooks/updatebase.GRMLBASE b/etc/grml/fai/config/hooks/updatebase.GRMLBASE index b04e0ba..b063b50 100755 --- a/etc/grml/fai/config/hooks/updatebase.GRMLBASE +++ b/etc/grml/fai/config/hooks/updatebase.GRMLBASE @@ -1,16 +1,38 @@ -#!/bin/sh +#!/bin/bash # Filename: /etc/grml/fai/config/hooks/updatebase.GRMLBASE -# Purpose: skip task updatebase of FAI when running softupdate +# Purpose: Updates the base packages of the system, prepare chroot for instsoft # Authors: grml-team (grml.org), (c) Michael Prokop # Bug-Reports: see http://grml.org/bugs/ # License: This file is licensed under the GPL v2 or any later version. ################################################################################ +set -u +set -e + +# 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 [ "$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: skiptask updatebase + ## taken from FAI's lib/updatebase: + # some packages must access /proc even in chroot environment + mount -t proc proc $FAI_ROOT/proc + # some packages must access /sys even in chroot environment + mount -t sysfs sysfs $FAI_ROOT/sys + # if we are using udev, also mount it into $FAI_ROOT + [ -f /etc/init.d/udev ] && mount --bind /dev $FAI_ROOT/dev + mount -t devpts devpts $FAI_ROOT/dev/pts + ## make sure we don't start any daemons - removed ## later on via /etc/grml/fai/config/scripts/GRMLBASE/98-clean-chroot if ! [ -r $target/usr/sbin/policy-rc.d ] ; then @@ -25,31 +47,23 @@ EOF # skip the task if we want to build a new ISO only: [ -n "$BUILD_ONLY" ] && skiptask instsoft || /bin/true -else # no softupdate but updating chroot based on /etc/grml/fai/config/basefiles/* + exit # make sure we don't continue behind the following "fi" +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" # install all apt related files -if [ -r /etc/grml/fai/files/etc/apt ] ; then - cp -a /etc/grml/fai/files/etc/apt/* $target/etc/apt/ - # remove grml-live's sources.list file from chroot: - grep -q GRML_LIVE_SOURCES $target/etc/apt/important_note.txt && rm $target/etc/apt/important_note.txt -fi +fcopy -r /etc/apt -# install all present (but at least the grml) gpg keys: -if [ -r /etc/grml/fai/files/etc/apt/grml.key ] ; then - for file in /etc/grml/fai/files/etc/apt/*.key ; do - FILE="$(basename $file)" - # installed via 'cp -a /etc/grml/fai/files/etc/apt/* $target/etc/apt/' above already - # cp $file $target/etc/apt/"$FILE" - $ROOTCMD apt-key add /etc/apt/"$FILE" - done -else - gpg --keyserver subkeys.pgp.net --recv-keys F61E2E7CECDEA787 || \ - gpg --keyserver blackhole.pca.dfn.de --recv-keys F61E2E7CECDEA787 - gpg --export F61E2E7CECDEA787 > $target/etc/apt/grml.key - $ROOTCMD apt-key add /etc/apt/grml.key +# 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 -fi +# install grml gpg key: +fcopy /etc/apt/grml.key +$ROOTCMD apt-key add /etc/apt/grml.key ## END OF FILE ################################################################# # vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3