From 53f0e29ae53cbe2bc983ffa0ea6a9aea86fbfe88 Mon Sep 17 00:00:00 2001 From: Mark Huang Date: Thu, 1 Sep 2005 18:56:47 +0000 Subject: [PATCH] - If run under sudo, allow user to delete the built RPM - Stop vcached, delete the old reference image, and empty the cache before installing a new version; restart vcached after installing - make sure /vservers is mode 0000 - make sure the reference image has an /etc/planetlab directory before trying to install in it --- vserver-reference.spec | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/vserver-reference.spec b/vserver-reference.spec index 9a4298c..1f5d5cf 100644 --- a/vserver-reference.spec +++ b/vserver-reference.spec @@ -42,14 +42,38 @@ fi %clean rm -rf $RPM_BUILD_ROOT +# If run under sudo, allow user to delete the built RPM +if [ -n "$SUDO_USER" ] ; then + chown $SUDO_USER %{_rpmdir}/%{_arch}/%{name}-%{version}-%{release}.%{_arch}.rpm +fi + %files %defattr(-,root,root) /vservers/vserver-reference +%define vcached_pid /var/run/vcached.pid + +%pre +# Stop vcached +if [ -r %{vcached_pid} ] ; then + kill $(cat %{vcached_pid}) +fi +touch %{vcached_pid} + +# vcached will clean up .vtmp later +mkdir -p /vservers/.vtmp +if [ -d /vservers/vserver-reference ] ; then + mv /vservers/vserver-reference /vservers/.vtmp/vserver-reference.$RANDOM +fi +if [ -d /vservers/.vcache ] ; then + mv /vservers/.vcache /vservers/.vtmp/.vcache.$RANDOM +fi + %post VROOT=/vservers/vserver-reference # Make sure the barrier bit is set +chmod 0000 /vservers setattr --barrier /vservers # Copy configuration files from host to reference image @@ -67,6 +91,7 @@ elif [ -d /mnt/cdrom/bootme/cacert ] ; then MA_NAME="PlanetLab Central" MA_BOOT_SERVER=$(head -1 /mnt/cdrom/bootme/BOOTSERVER) MA_BOOT_SERVER_CACERT=/mnt/cdrom/bootme/cacert/$MA_BOOT_SERVER/cacert.pem + mkdir -p $VROOT/etc/planetlab cat > $VROOT/etc/planetlab/primary_ma < $VROOT/mnt/cdrom/bootme/BOOTSERVER +# Allow vcached to run again +rm -f %{vcached_pid} + %changelog * Tue Sep 1 2005 Mark Huang 3.1-1.planetlab - Pre-package vserver-reference instead of building it on nodes -- 2.43.0