hooks/updatebase.GRMLBASE: make sure /proc, /sys and /dev are available on update
[grml-live.git] / etc / grml / fai / config / hooks / updatebase.GRMLBASE
index a501682..cef16c0 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 # Filename:      /etc/grml/fai/config/hooks/updatebase.GRMLBASE
 # Purpose:       skip task updatebase of FAI when running softupdate
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
@@ -11,6 +11,15 @@ if [ "$FAI_ACTION" = "softupdate" ] ; then
    ## 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
@@ -28,30 +37,18 @@ EOF
 else # no softupdate but updating chroot based on /etc/grml/fai/config/basefiles/*
 
 # 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:
-   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
+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
+
+fi # softupdate check
 
 ## END OF FILE #################################################################
 # vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3