1 %define name vserver-reference
3 %define release 2.planetlab%{?date:.%{date}}
6 Packager: PlanetLab Central <support@planet-lab.org>
7 Distribution: PlanetLab 3.0
8 URL: http://www.planet-lab.org
10 Summary: VServer reference image
14 Source0: %{name}-%{version}.tar.bz2
16 Group: Applications/System
17 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
18 BuildArchitectures: noarch
19 Requires: util-vserver, e2fsprogs, yum
22 This package creates the virtual server (VServer) reference image used
23 as the installation base for new PlanetLab slivers.
31 rm -rf $RPM_BUILD_ROOT
34 rm -rf $RPM_BUILD_ROOT
37 . /usr/lib/util-vserver/util-vserver-vars
38 VROOT=$VROOTDIR/vserver-reference
43 # Remove old installation first
44 if [ -d $VROOT ] ; then
45 if grep -q $VROOT/proc /proc/mounts ; then
48 if grep -q $VROOT/dev/pts /proc/mounts ; then
55 $PKGLIBDIR/install-pre.sh vserver-reference
57 # Mount /dev/pts in reference image
58 mkdir -p $VROOT/dev/pts
59 mount -t devpts none $VROOT/dev/pts
61 # Mount /proc in reference image
63 mount -t proc none $VROOT/proc
65 # Prevent all locales from being installed in reference image
66 mkdir -p $VROOT/etc/rpm
67 cat > $VROOT/etc/rpm/macros <<EOF
68 %%_install_langs en_US:en
70 %%__file_context_path /dev/null
74 TMP=`mktemp -d /tmp/%{name}.XXXXXX`
75 if [ -f /var/lock/rpm/transaction ] ; then
76 mv /var/lock/rpm/transaction $TMP
78 if [ -f /var/run/yum.pid ] ; then
79 mv /var/run/yum.pid $TMP
82 # Initialize RPM database in reference image
83 mkdir -p $VROOT/var/lib/rpm
84 rpm --root $VROOT --initdb
86 # Install RPMs in reference image
88 --sslcertdir=/mnt/cdrom/bootme/cacert \
89 --installroot=$VROOT \
90 -y groupinstall VServer
93 if [ -f $TMP/transaction ] ; then
94 mv $TMP/transaction /var/lock/rpm
96 if [ -f $TMP/yum.pid ] ; then
97 mv $TMP/yum.pid /var/run
101 # Copy configuration files from host to reference image
102 for file in /etc/hosts /etc/resolv.conf /etc/yum.conf ; do
103 if [ -f $file ] ; then
104 echo $file | cpio -p -d -u $VROOT
110 umount $VROOT/dev/pts
112 $PKGLIBDIR/install-post.sh vserver-reference
114 # Disable all services in reference image
115 chroot $VROOT /bin/sh -c "chkconfig --list | awk '{ print \$1 }' | xargs -i chkconfig {} off"
118 service vcached start
121 %defattr(-,root,root)
124 * Sun Oct 10 2004 Mark Huang <mlhuang@cs.princeton.edu> 3.0-2.planetlab
125 - dynamically install reference image
127 * Tue Sep 14 2004 Mark Huang <mlhuang@cs.princeton.edu> 3.0-1.planetlab