-# 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 4.0
URL: http://cvs.planet-lab.org/cvs/myplc
Summary: PlanetLab Central (PLC) Portable Installation
Name: myplc
-Version: %{releasever}.0
+Version: 0.5
Release: 1%{?pldistro:.%{pldistro}}%{?date:.%{date}}
-License: BSD
+License: PlanetLab
Group: Applications/Systems
Source0: %{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%build
pushd myplc
-./build.sh -r %{releasever} -d %{_datadir}
+./build.sh
popd
-# 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
-
%install
rm -rf $RPM_BUILD_ROOT
pushd 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/
+
+# 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
-chkconfig --add plc
-chkconfig plc on
+if [ -x /sbin/chkconfig ] ; then
+ /sbin/chkconfig --add plc
+ /sbin/chkconfig plc on
+fi
%preun
# 0 = erase, 1 = upgrade
if [ $1 -eq 0 ] ; then
- chkconfig plc off
- chkconfig --del plc
+ %{_sysconfdir}/init.d/plc stop
+ if [ -x /sbin/chkconfig ] ; then
+ /sbin/chkconfig plc off
+ /sbin/chkconfig --del plc
+ fi
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.