multiple slice falvours - second iteration
[vserver-reference.git] / vserver-reference.spec
index 9b7201e..f16a9c1 100644 (file)
@@ -1,13 +1,19 @@
+#
+# $Id$
+#
+%define url $URL$
+
+%define slicefamily %{pldistro}-%{distroname}-%{_arch}
+
 %define name vserver
 %define name vserver
-%define version 4.1
-%define release 2%{?pldistro:.%{pldistro}}%{?date:.%{date}}
+%define version 4.2
+%define taglevel 2
 
 
-Vendor: PlanetLab
-Packager: PlanetLab Central <support@planet-lab.org>
-Distribution: PlanetLab 4.0
-URL: http://cvs.planet-lab.org/cvs/vserver-reference
+# pldistro already in the rpm name
+#%define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
+%define release %{taglevel}%{?date:.%{date}}
 
 
-Summary: VServer reference image
+Summary: VServer reference image for slice family %{slicefamily}
 Name: %{name}
 Version: %{version}
 Release: %{release}
 Name: %{name}
 Version: %{version}
 Release: %{release}
@@ -15,48 +21,53 @@ Source0: %{name}-%{version}.tar.bz2
 License: GPL
 Group: Applications/System
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
 License: GPL
 Group: Applications/System
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
-Requires: util-vserver, e2fsprogs, yum
-Requires(pre): coreutils
+
+Vendor: PlanetLab
+Packager: PlanetLab Central <support@planet-lab.org>
+Distribution: PlanetLab %{plrelease}
+URL: %(echo %{url} | cut -d ' ' -f 2)
 
 %define debug_package %{nil}
 
 %description
 This package does not really exist.
 
 
 %define debug_package %{nil}
 
 %description
 This package does not really exist.
 
-%package reference
+%package %{slicefamily}
 Summary: VServer reference image
 Group: Applications/System
 AutoReqProv: no
 Summary: VServer reference image
 Group: Applications/System
 AutoReqProv: no
+Requires: util-vserver, e2fsprogs, yum
+Requires(pre): /bin/sh, coreutils
 
 
-%description reference
+%description %{slicefamily}
 This package creates the virtual server (VServer) reference image used
 as the installation base for new PlanetLab slivers.
 
 This package creates the virtual server (VServer) reference image used
 as the installation base for new PlanetLab slivers.
 
-%package system-packages
+%package systemslices-%{slicefamily}
 Summary: System slice packages
 Group: Applications/System
 Summary: System slice packages
 Group: Applications/System
-Requires: vserver-reference = %{version}-%{release}
+Requires: vserver-%{slicefamily} >= %{version}-%{release}
 AutoReqProv: no
 
 AutoReqProv: no
 
-%description system-packages
+%description systemslices-%{slicefamily}
 This package installs the RPMS necessary to create system ("root
 This package installs the RPMS necessary to create system ("root
- resource") slices from the virtual server (VServer) reference image.
+resource") slices from the virtual server (VServer) reference image.
 
 %prep
 %setup -q
 
 %build
 
 %prep
 %setup -q
 
 %build
-pushd vserver-reference
-./build.sh
-./system-packages.sh
+pushd VserverReference
+./build.sh %{pldistro} %{slicefamily}
 popd
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
 popd
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-pushd vserver-reference
+pushd VserverReference
 install -D -m 755 vserver-reference.init $RPM_BUILD_ROOT/%{_initrddir}/vserver-reference
 install -D -m 644 vserver-reference.cron $RPM_BUILD_ROOT/%{_sysconfdir}/cron.d/vserver-reference
 install -D -m 755 vserver-reference.init $RPM_BUILD_ROOT/%{_initrddir}/vserver-reference
 install -D -m 644 vserver-reference.cron $RPM_BUILD_ROOT/%{_sysconfdir}/cron.d/vserver-reference
+install -D -m 644 vserver-reference.logrotate $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d/vserver-reference
 find vservers | cpio -p -d -u $RPM_BUILD_ROOT/
 popd
 
 find vservers | cpio -p -d -u $RPM_BUILD_ROOT/
 popd
 
@@ -74,19 +85,20 @@ if [ -n "$SUDO_USER" ] ; then
     chown -h -R $SUDO_USER %{_rpmdir}/%{_arch}
 fi
 
     chown -h -R $SUDO_USER %{_rpmdir}/%{_arch}
 fi
 
-%files reference
+%files %{slicefamily}
 %defattr(-,root,root)
 %{_initrddir}/vserver-reference
 %{_sysconfdir}/cron.d/vserver-reference
 %defattr(-,root,root)
 %{_initrddir}/vserver-reference
 %{_sysconfdir}/cron.d/vserver-reference
-/vservers/.vref/default
+%{_sysconfdir}/logrotate.d/vserver-reference
+/vservers/.vref/%{slicefamily}
 
 
-%files system-packages
+%files systemslices-%{slicefamily}
 %defattr(-,root,root)
 %defattr(-,root,root)
-/vservers/system-packages
+/vservers/.vstub
 
 %define vcached_pid /var/run/vcached.pid
 
 
 %define vcached_pid /var/run/vcached.pid
 
-%pre reference
+%pre %{slicefamily}
 # Stop vcached
 if [ -r %{vcached_pid} ] ; then
     kill $(cat %{vcached_pid})
 # Stop vcached
 if [ -r %{vcached_pid} ] ; then
     kill $(cat %{vcached_pid})
@@ -105,9 +117,11 @@ fi
 # Allow vcached to run again
 rm -f %{vcached_pid}
 
 # Allow vcached to run again
 rm -f %{vcached_pid}
 
-%post reference
+%post %{slicefamily}
 chkconfig --add vserver-reference
 chkconfig vserver-reference on
 chkconfig --add vserver-reference
 chkconfig vserver-reference on
+# store the default for nodemanager
+[ -f /etc/planetlab/slicefamily ] || echo %{slicefamily} > /etc/planetlab/slicefamily
 [ "$PL_BOOTCD" = "1" ] || service vserver-reference start
 
 # Randomize daily run time
 [ "$PL_BOOTCD" = "1" ] || service vserver-reference start
 
 # Randomize daily run time
@@ -116,6 +130,12 @@ H=$((24 * $RANDOM / 32768))
 sed -i -e "s/@M@/$M/" -e "s/@H@/$H/" %{_sysconfdir}/cron.d/vserver-reference
 
 %changelog
 sed -i -e "s/@M@/$M/" -e "s/@H@/$H/" %{_sysconfdir}/cron.d/vserver-reference
 
 %changelog
+* Fri Feb 15 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - vserver-4.2-1 vserver-4.2-2
+- vserver image to properly use links rather than copies
+
+* Thu Jan 31 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - vserver-4.2-0 vserver-4.2-1
+- more careful scan of the vserver-*.pkgs image specifications
+
 * Tue Sep  1 2005 Mark Huang <mlhuang@cs.princeton.edu> 3.1-1.planetlab
 - Pre-package vserver-reference instead of building it on nodes
 
 * Tue Sep  1 2005 Mark Huang <mlhuang@cs.princeton.edu> 3.1-1.planetlab
 - Pre-package vserver-reference instead of building it on nodes