#
# description: Manages all PLC services on this machine
#
-# $Id: guest.init,v 1.13 2006/04/06 21:51:59 mlhuang Exp $
+# $Id: guest.init,v 1.16 2006/04/17 17:04:37 mlhuang Exp $
#
# Source function library and configuration
# everything just works.
steps=($(
for step in /etc/plc.d/* ; do
- if [ -x $step ] ; then
+ if [ -f $step -a -x $step ] ; then
priority=$(sed -ne 's/# priority: \(.*\)/\1/p' $step)
echo $priority $(basename $step)
fi
reload ()
{
# Regenerate the main configuration file from default values
- # overlaid with site-specific values.
+ # overlaid with site-specific and current values.
+ tmp=$(mktemp /tmp/plc_config.xml.XXXXXX)
plc-config --xml \
/etc/planetlab/default_config.xml \
/etc/planetlab/configs/* \
- >/etc/planetlab/plc_config.xml
+ /etc/planetlab/plc_config.xml \
+ >$tmp
+ if [ $? -eq 0 ] ; then
+ mv $tmp /etc/planetlab/plc_config.xml
+ chmod 644 /etc/planetlab/plc_config.xml
+ else
+ echo "PLC: Warning: Invalid configuration file(s) detected"
+ rm -f $tmp
+ fi
# Shell constants
plc-config --shell >/etc/planetlab/plc_config
define('DEBUG', PLC_WWW_DEBUG);
define('API_CALL_DEBUG', PLC_API_DEBUG);
define('SENDMAIL', PLC_MAIL_ENABLED);
-define('PLANETLAB_SUPPORT_EMAIL', PLC_NAME . 'Support <' . PLC_MAIL_SUPPORT_ADDRESS . '>');
+define('PLANETLAB_SUPPORT_EMAIL', PLC_NAME . ' Support <' . PLC_MAIL_SUPPORT_ADDRESS . '>');
define('PLANETLAB_SUPPORT_EMAIL_ONLY', PLC_MAIL_SUPPORT_ADDRESS);
?>
EOF