first draft of a deployment-friendly bootmanager
[bootmanager.git] / plc.d / bootmanager
1 #!/bin/bash
2 #
3 # priority: 1100
4 #
5 # Rebuild the Boot Manager
6 #
7 # Mark Huang <mlhuang@cs.princeton.edu>
8 # Copyright (C) 2006 The Trustees of Princeton University
9 #
10 # $Id$
11 #
12
13 # Source function library and configuration
14 . /etc/plc.d/functions
15 . /etc/planetlab/plc_config
16
17 # Be verbose
18 set -x
19
20 case "$1" in
21     start)
22         if [ "$PLC_BOOT_ENABLED" != "1" -a \
23              "$PLC_WWW_ENABLED" != "1" ] ; then
24             exit 0
25         fi
26
27         shopt -s nullglob
28         for topdir in /usr/share/bootmanager/* ; do
29             [ -d "$topdir" ] || continue
30             deployment=$(basename $topdir)
31             if [ "$deployment" = "regular" ] ; then
32                 dialog $"Rebuilding Boot Manager"
33                 $topdir/build.sh regular
34                 check
35             else
36                 dialog $"Rebuilding Boot Manager for deployment $deployment"
37                 $topdir/build.sh $deployment
38                 check
39             fi
40         done
41
42         result "$MESSAGE"
43         ;;
44 esac
45
46 exit $ERRORS