2 %define name vserver-reference
4 %define release 1.planetlab%{?date:.%{date}}
7 Packager: PlanetLab Central <support@planet-lab.org>
8 Distribution: PlanetLab 3.0
9 URL: http://cvs.planet-lab.org/cvs/vserver-reference
11 Summary: VServer reference image
15 Source0: %{name}-%{version}.tar.bz2
17 Group: Applications/System
18 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
19 Requires: util-vserver, e2fsprogs, yum
22 %define debug_package %{nil}
25 This package creates the virtual server (VServer) reference image used
26 as the installation base for new PlanetLab slivers.
32 RPM_BUILD_DIR=$RPM_BUILD_DIR ./%{name}.init
35 rm -rf $RPM_BUILD_ROOT
36 find vservers/vserver-reference | cpio -p -d -u $RPM_BUILD_ROOT/
38 # If run under sudo, allow user to delete the build directory
39 if [ -n "$SUDO_USER" ] ; then
44 rm -rf $RPM_BUILD_ROOT
46 # If run under sudo, allow user to delete the built RPM
47 if [ -n "$SUDO_USER" ] ; then
48 chown $SUDO_USER %{_rpmdir}/%{_arch}/%{name}-%{version}-%{release}.%{_arch}.rpm
53 /vservers/vserver-reference
55 %define vcached_pid /var/run/vcached.pid
59 if [ -r %{vcached_pid} ] ; then
60 kill $(cat %{vcached_pid})
64 # vcached will clean up .vtmp later
65 mkdir -p /vservers/.vtmp
66 if [ -d /vservers/vserver-reference ] ; then
67 mv /vservers/vserver-reference /vservers/.vtmp/vserver-reference.$RANDOM
69 if [ -d /vservers/.vcache ] ; then
70 mv /vservers/.vcache /vservers/.vtmp/.vcache.$RANDOM
74 VROOT=/vservers/vserver-reference
76 # Make sure the barrier bit is set
78 setattr --barrier /vservers
80 # Copy configuration files from host to reference image
81 for file in /etc/hosts /etc/resolv.conf /etc/yum.conf ; do
82 if [ -f $file ] ; then
83 echo $file | cpio -p -d -u $VROOT
87 # Install and parse Management Authority (MA) configuration
88 if [ -r /etc/planetlab/primary_ma ] ; then
89 . /etc/planetlab/primary_ma
90 install -D -m 644 /etc/planetlab/primary_ma $VROOT/etc/planetlab/primary_ma
91 elif [ -d /mnt/cdrom/bootme/cacert ] ; then
92 MA_NAME="PlanetLab Central"
93 MA_BOOT_SERVER=$(head -1 /mnt/cdrom/bootme/BOOTSERVER)
94 MA_BOOT_SERVER_CACERT=/mnt/cdrom/bootme/cacert/$MA_BOOT_SERVER/cacert.pem
95 mkdir -p $VROOT/etc/planetlab
96 cat > $VROOT/etc/planetlab/primary_ma <<EOF
98 MA_BOOT_SERVER="$MA_BOOT_SERVER"
99 MA_BOOT_SERVER_CACERT="$MA_BOOT_SERVER_CACERT"
103 # Install boot server certificate
104 install -D -m 644 $MA_BOOT_SERVER_CACERT $VROOT/$MA_BOOT_SERVER_CACERT
106 # Also install in /mnt/cdrom/bootme for backward compatibility
107 install -D -m 644 $MA_BOOT_SERVER_CACERT $VROOT/mnt/cdrom/bootme/cacert/$MA_BOOT_SERVER/cacert.pem
108 echo $MA_BOOT_SERVER > $VROOT/mnt/cdrom/bootme/BOOTSERVER
110 # Update packages and populate header cache
111 chroot $VROOT yum --sslcertdir /mnt/cdrom/bootme/cacert -y update
113 # Allow vcached to run again
117 * Tue Sep 1 2005 Mark Huang <mlhuang@cs.princeton.edu> 3.1-1.planetlab
118 - Pre-package vserver-reference instead of building it on nodes
120 * Tue Nov 30 2004 Mark Huang <mlhuang@cs.princeton.edu> 3.0-5.planetlab
121 - PL3118 and PL3131 fix: set barrier bit on /vservers instead of old
122 immulink bit. Do not reset the immutable bit on the new
123 vserver-reference directory when deleting it after an error.
125 * Mon Nov 15 2004 Mark Huang <mlhuang@cs.princeton.edu> 3.0-4.planetlab
126 - bump release to install Fedora Core 2 updates as of Tue Nov 9 2004
127 - PL3017 fix: rebuild vserver-reference image in case it was built
130 * Mon Nov 15 2004 Mark Huang <mlhuang@cs.princeton.edu> 3.0-4.planetlab
131 - bump release to install Fedora Core 2 updates as of Tue Nov 9 2004
132 - PL3017 fix: rebuild vserver-reference image in case it was built
135 * Sun Oct 10 2004 Mark Huang <mlhuang@cs.princeton.edu> 3.0-3.planetlab
136 - dynamically install reference image at init time
138 * Sun Oct 10 2004 Mark Huang <mlhuang@cs.princeton.edu> 3.0-2.planetlab
139 - dynamically install reference image
141 * Tue Sep 14 2004 Mark Huang <mlhuang@cs.princeton.edu> 3.0-1.planetlab