-Vendor: PlanetLab
-Packager: PlanetLab Central <support@planet-lab.org>
-Distribution: PlanetLab 4.0
-URL: http://cvs.planet-lab.org/cvs/myplc
+#
+# $Id$
+#
+%define url $URL$
+
+%define name myplc
+%define version 4.2
+%define taglevel 3
+
+%define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
Summary: PlanetLab Central (PLC) Portable Installation
-Name: myplc
-Version: 0.5
-Release: 3%{?pldistro:.%{pldistro}}%{?date:.%{date}}
+Name: %{name}
+Version: %{version}
+Release: %{release}
License: PlanetLab
Group: Applications/Systems
Source0: %{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
-# for preventing myplc-devel from being built
-# *should* support invokation like rpmbuild --define "build_level 0"
-# *but* this does not seem to work : so just set to 0 here
-%{!?build_level: %define build_devel 1}
+Vendor: PlanetLab
+Packager: PlanetLab Central <support@planet-lab.org>
+Distribution: PlanetLab %{plrelease}
+URL: %(echo %{url} | cut -d ' ' -f 2)
+
+Requires: tar
+
+Provides: myplc
%define debug_package %{nil}
MyPLC is a complete PlanetLab Central (PLC) portable installation
contained within a chroot jail. The default installation consists of a
web server, an XML-RPC API server, a boot server, and a database
-server: the core components of PLC. The installation may be customized
-through a graphical interface. All PLC services are started up and
+server: the core components of PLC. All PLC services are started up and
shut down through a single System V init script installed in the host
-system.
-
-%if %{build_devel}
-%package devel
-Summary: PlanetLab Central (PLC) Development Environment
-Group: Development/Tools
-AutoReqProv: no
-%endif
-
-%if %{build_devel}
-%description devel
-This package install a complete PlanetLab development environment
-contained within a chroot jail. The default installation consists of a
-local CVS repository bootstrapped with a snapshot of all PlanetLab
-source code, and all the tools necessary to compile it.
-%endif
+system. The related Web Interface is now separately packaged
+in the PLCWWW component.
%prep
%setup -q
%build
-pushd myplc
-%if %{build_devel}
-echo -n "XXXXXXXXXXXXXXX myplc::build_devel " ; date
-./build_devel.sh %{?cvstag:-t %{cvstag}}
-%endif
-echo -n "XXXXXXXXXXXXXXX myplc::build " ; date
-./build.sh %{?cvstag:-t %{cvstag}}
-echo -n "XXXXXXXXXXXXXXX myplc::endbuild " ; date
+pushd MyPLC
+./build.sh %{pldistro}
popd
%install
rm -rf $RPM_BUILD_ROOT
-pushd myplc
+pushd MyPLC
#
# myplc
# Install data directory
find data | cpio -p -d -u $RPM_BUILD_ROOT/plc/
-#
-# myplc-devel
-#
-
-%if %{build_devel}
-
-# Install host startup script and configuration file
-install -D -m 755 host.init $RPM_BUILD_ROOT/%{_sysconfdir}/init.d/plc-devel
-install -D -m 644 plc-devel.sysconfig $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/plc-devel
-
-# Install root filesystem
-install -d -m 755 $RPM_BUILD_ROOT/plc/devel/root
-install -D -m 644 devel/root.img $RPM_BUILD_ROOT/plc/devel/root.img
-
-# Install data directory
-find devel/data | cpio -p -d -u $RPM_BUILD_ROOT/plc/
-
-# Make sure /cvs is never upgraded once installed by giving it a
-# unique name. A hard-linked copy is made in %post.
-mv $RPM_BUILD_ROOT/plc/devel/data/{cvs,cvs-%{version}-%{release}}
-
-%endif
-
popd
%clean
# If run under sudo
if [ -n "$SUDO_USER" ] ; then
# Allow user to delete the build directory
- chown -R $SUDO_USER .
+ chown -h -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}
+ chown -h -R $SUDO_USER %{_rpmdir}/%{_arch}
fi
%pre
if [ -x %{_sysconfdir}/init.d/plc ] ; then
- %{_sysconfdir}/init.d/plc stop
+ %{_sysconfdir}/init.d/plc safestop
fi
# Old versions of myplc used to ship with a bootstrapped database and
%preun
# 0 = erase, 1 = upgrade
if [ $1 -eq 0 ] ; then
- %{_sysconfdir}/init.d/plc stop
+ %{_sysconfdir}/init.d/plc safestop
if [ -x /sbin/chkconfig ] ; then
/sbin/chkconfig plc off
/sbin/chkconfig --del plc
fi
fi
-%if %{build_devel}
-%pre devel
-if [ -x %{_sysconfdir}/init.d/plc-devel ] ; then
- %{_sysconfdir}/init.d/plc-devel stop
-fi
-%endif
-
-%if %{build_devel}
-%post devel
-if [ -x /sbin/chkconfig ] ; then
- /sbin/chkconfig --add plc-devel
- /sbin/chkconfig plc-devel on
-fi
-
-# If /cvs does not already exist, make a hard-linked copy of this
-# version's /cvs repository.
-if [ ! -d /plc/devel/data/cvs ] ; then
- cp -rl /plc/devel/data/{cvs-%{version}-%{release},cvs}
-fi
-%endif
-
-%if %{build_devel}
-%preun devel
-# 0 = erase, 1 = upgrade
-if [ $1 -eq 0 ] ; then
- %{_sysconfdir}/init.d/plc-devel stop
- if [ -x /sbin/chkconfig ] ; then
- /sbin/chkconfig plc-devel off
- /sbin/chkconfig --del plc-devel
- fi
-fi
-%endif
-
%files
%defattr(-,root,root,-)
# Host startup script and configuration file
%dir /plc/data
%config(noreplace) /plc/data/*
-%if %{build_devel}
-%files devel
-%defattr(-,root,root,-)
-# Host startup script and configuration file
-%{_sysconfdir}/init.d/plc-devel
-%{_sysconfdir}/sysconfig/plc-devel
+%changelog
+* Thu Feb 14 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-4.2-2 myplc-4.2-3
+- refresh-peer.py removed (duplicate with PLCAPI)
+- plc.d/ scripts cleaned up
+- sirius initscript updated
+- slice auto renewal fixed
-# Root filesystem
-/plc/devel/root.img
-/plc/devel/root
+* Thu Jan 31 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-4.2-1 myplc-4.2-2
+- knows how to checkpoint and restore
+- packages step more robust, in particular with empty node repository
+- miscell tweaks for native packaging
-# Data directory
-%dir /plc/devel/data
-%config(noreplace) /plc/devel/data/*
-%endif
+* Wed Jan 09 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-4.0-15 myplc-4.2-0
+moving to 4.2 - no change
+
+* Fri Jan 19 2007 Mark Huang <mlhuang@CS.Princeton.EDU> - 0.5-3
+- Split off myplc-devel into separate spec file, so that it can be
+ built standalone.
-%changelog
* Tue Aug 22 2006 Mark Huang <mlhuang@CS.Princeton.EDU> - 0.4-3, 0.5-3
- MyPLC 0.4 RC3.
- Fix upgrade path from RC1.