- change this script to one whose primary jobs is to generate the API
[myplc.git] / myplc.spec
index 131e079..038acca 100644 (file)
@@ -1,16 +1,12 @@
-# Fedora Core release version to base the installation on. Currently
-# supported: 2, 4.
-%define releasever 2
-
 Vendor: PlanetLab
 Packager: PlanetLab Central <support@planet-lab.org>
-Distribution: PlanetLab 3.0
+Distribution: PlanetLab 3.3
 URL: http://cvs.planet-lab.org/cvs/myplc
 
 Summary: PlanetLab Central (PLC) Portable Installation
 Name: myplc
-Version: %{releasever}.0
-Release: 1
+Version: 0.3
+Release: 1%{?pldistro:.%{pldistro}}%{?date:.%{date}}
 License: BSD
 Group: Applications/Systems
 Source0: %{name}-%{version}.tar.gz
@@ -31,33 +27,49 @@ system.
 %setup -q
 
 %build
-cd myplc
-./build.sh -r %{releasever} -d %{_datadir}
-
-# If run under sudo, allow user to delete the build directory
-if [ -n "$SUDO_USER" ] ; then
-    chown -R $SUDO_USER .
-    # Some temporary chroot files like /var/empty/sshd and
-    # /usr/bin/sudo get created with non-readable permissions.
-    find . -not -perm +0600 -exec chmod u+rw {} \;
-fi
+pushd myplc
+./build.sh
+popd
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-cd myplc
-install -d -m 755 $RPM_BUILD_ROOT/%{_datadir}/plc/fc%{releasever}
-install -D -m 644 fc%{releasever}.img $RPM_BUILD_ROOT/%{_datadir}/plc/fc%{releasever}.img
-find data%{releasever} | cpio -p -d -u $RPM_BUILD_ROOT/%{_datadir}/plc/
+pushd myplc
+
+# Install host startup script and configuration file
 install -D -m 755 host.init $RPM_BUILD_ROOT/%{_sysconfdir}/init.d/plc
 install -D -m 644 plc.sysconfig $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/plc
 
+# Create convenient symlink
+install -d -m 755 $RPM_BUILD_ROOT/%{_sysconfdir}
+ln -sf /plc/data/etc/planetlab $RPM_BUILD_ROOT/%{_sysconfdir}/planetlab
+
+# Install root filesystem
+install -d -m 755 $RPM_BUILD_ROOT/plc/root
+install -D -m 644 root.img $RPM_BUILD_ROOT/plc/root.img
+
+# Install data directory
+find data | cpio -p -d -u $RPM_BUILD_ROOT/plc/
+
+popd
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-# If run under sudo, allow user to delete the built RPM
+# If run under sudo
 if [ -n "$SUDO_USER" ] ; then
-    chown $SUDO_USER %{_rpmdir}/%{_arch}/%{name}-%{version}-%{release}.%{_arch}.rpm
+    # Allow user to delete the build directory
+    chown -R $SUDO_USER .
+    # Some temporary cdroot files like /var/empty/sshd and
+    # /usr/bin/sudo get created with non-readable permissions.
+    find . -not -perm +0600 -exec chmod u+rw {} \;
+    # Allow user to delete the built RPM(s)
+    chown -R $SUDO_USER %{_rpmdir}/%{_arch}
+fi
+
+%pre
+if [ -x %{_sysconfdir}/init.d/plc ] ; then
+    service plc stop
 fi
 
 %post
@@ -67,19 +79,33 @@ chkconfig plc on
 %preun
 # 0 = erase, 1 = upgrade
 if [ $1 -eq 0 ] ; then
+    service plc stop
     chkconfig plc off
     chkconfig --del plc
 fi
 
 %files
 %defattr(-,root,root,-)
-%dir %{_datadir}/plc/fc%{releasever}
-%{_datadir}/plc/fc%{releasever}.img
-%{_datadir}/plc/data%{releasever}
+# Host startup script and configuration file
 %{_sysconfdir}/init.d/plc
 %{_sysconfdir}/sysconfig/plc
 
+# Symlink to /etc/planetlab within data directory
+%{_sysconfdir}/planetlab
+
+# Root filesystem
+/plc/root.img
+/plc/root
+
+# Data directory
+%dir /plc/data
+%config(noreplace) /plc/data/*
+
 %changelog
+* Wed Apr  5 2006 Mark Huang <mlhuang@CS.Princeton.EDU> - 0.2-1
+- Basic functionality complete. Consolidate into a single package
+  installed in /plc.
+
 * Fri Mar 17 2006 Mark Huang <mlhuang@CS.Princeton.EDU> - 0.1-1
 - Initial build.