# Marc E. Fiuczynski <mef@cs.princeton.edu>
# Copyright (C) 2004-2007 The Trustees of Princeton University
#
-# $Id: build.sh,v 1.20 2007/09/06 20:41:23 faiyaza Exp $
+# $Id$
+# $URL$
#
PATH=/sbin:/bin:/usr/sbin:/usr/bin
rm -rf ${vdir}
rm -f ${vdir}.changes
mv ${vdir}-tmp ${vdir}
+
+ # cleanup yum remainings
+ rm -rf ${vdir}/build ${vdir}/longbuildroot
+
echo "--------DONE BUILDING system vserver ${NAME}: $(date)"
done
# fix sudoers config
[ -f ${vref}/etc/sudoers ] && echo -e "\nDefaults\tlogfile=/var/log/sudo\n" >> ${vref}/etc/sudoers
+# cleanup yum remainings
+rm -rf ${vref}/build ${vref}/longbuildroot
+
exit 0
case "$1" in
start|restart|reload)
;;
+ force)
+ FORCE=true;;
stop|status)
exit 0
;;
*)
- echo $"Usage: $0 {start|stop|restart|status}"
+ echo $"Usage: $0 {start|stop|restart|reload|status|force}"
exit 1
;;
esac
# e.g. VREFNAME=planetflow-f8-i386
VREFNAME=$(echo $SLICEFAMILY | sed -e "s,^[^-]*-,$NAME-,")
+ VREFPATH="$__DEFAULT_VSERVERDIR/.vref/$VREFNAME"
+
+ # do not redo existing vref's unless force is mentioned
+ [ -z "$FORCE" -a -d "$VREFPATH" ] && continue
+ [ -z "$FORCE" ] && message=Building
+ [ -n "$FORCE" ] && message=Force-building
+
# Copy base reference image
- if [ ! -d "$__DEFAULT_VSERVERDIR/.vref/$VREFNAME" ] ; then
- echo -n $"Building VServer reference image for $NAME in $VREFNAME: " >&3 2>&4
+ echo -n $"$message VServer reference image for $NAME in $VREFNAME: " >&3 2>&4
# Build in temporary directory
mkdir -p "$__DEFAULT_VSERVERDIR/.vtmp"
mkdir -p "$__DEFAULT_VSERVERDIR/.vref"
# build the systemvserver from the one it was originally cloned from
- REF="$__DEFAULT_VSERVERDIR/.vref/$SLICEFAMILY"
- if [ -d "$REF" ] ; then
- "$_VCLONE" "$REF"/ "$TMP"/
+ FAMILYREF="$__DEFAULT_VSERVERDIR/.vref/$SLICEFAMILY"
+ if [ -d "$FAMILYREF" ] ; then
+ "$_VCLONE" "$FAMILYREF"/ "$TMP"/
RETVAL=$?
else
RETVAL=1
# Move it to its permanent location when complete
if [ $RETVAL -eq 0 ] ; then
- mv "$TMP" "$__DEFAULT_VSERVERDIR/.vref/$VREFNAME"
+ # if in force mode, cleanup
+ [ -d "$VREFPATH" ] && rm -rf "$VREFPATH"
+ mv "$TMP" "$VREFPATH"
success >&3 2>&4
else
rm -rf "$TMP"
failure >&3 2>&4
fi
echo >&3 2>&4
- fi
done
echo -n $"Updating VServer reference images: " >&3 2>&4
%post systemslices-%{slicefamily}
# need to do this for systemslices, for when a new image shows up
# we've already the service installed and enabled, as systemslices requires the plain package
-[ "$PL_BOOTCD" = "1" ] || service vserver-reference start
+[ "$PL_BOOTCD" = "1" ] || service vserver-reference force
%changelog
* Fri Jan 29 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - VserverReference-5.0-1