- fix version number, bump release number, added changelog
[myplc.git] / myplc.spec
index fcc9a46..536e3fb 100644 (file)
@@ -6,12 +6,17 @@ URL: http://cvs.planet-lab.org/cvs/myplc
 Summary: PlanetLab Central (PLC) Portable Installation
 Name: myplc
 Version: 0.4
-Release: 2%{?pldistro:.%{pldistro}}%{?date:.%{date}}
+Release: 3%{?pldistro:.%{pldistro}}%{?date:.%{date}}
 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}
+
 %define debug_package %{nil}
 
 %description
@@ -23,24 +28,33 @@ through a graphical interface. 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
 
 %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
 popd
 
 %install
@@ -71,6 +85,8 @@ 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
@@ -86,6 +102,8 @@ find devel/data | cpio -p -d -u $RPM_BUILD_ROOT/plc/
 # unique name. A hard-linked copy is made in %post.
 mv $RPM_BUILD_ROOT/plc/devel/data/{cvs,cvs-%{version}-%{release}}
 
+%endif
+
 popd
 
 %clean
@@ -115,7 +133,8 @@ fi
 # manifest. However, to avoid deleting these files in the process of
 # upgrading from one of these old versions of myplc, we must back up
 # the database and /etc/planetlab and restore them after the old
-# version has been uninstalled in %triggerpostun.
+# version has been uninstalled in %triggerpostun (also in %post, in
+# case we are force upgrading to the same version).
 #
 # This code can be removed once all myplc-0.4-1 installations have
 # been upgraded to at least myplc-0.4-2.
@@ -125,15 +144,15 @@ if [ $1 -gt 0 ] ; then
     for dir in /var/lib/pgsql/data /etc/planetlab ; do
        if [ -d /plc/data/$dir ] ; then
            echo "Preserving /plc/data/$dir"
-           mv /plc/data/$dir /plc/data/$dir.rpmsave
+           mkdir -p /plc/data/$dir.rpmsave
+           tar -C /plc/data/$dir -cpf - . | \
+              tar -C /plc/data/$dir.rpmsave -xpf -
+
+           # Except for the default configuration file and DTD, which
+           # really should be considered for upgrade.
+           rm -f /plc/data/$dir.rpmsave/{default_config.xml,plc_config.dtd}
        fi
     done
-
-    # Except for the default configuration file and DTD, which really
-    # should be considered for upgrade.
-    mkdir -m 755 -p /plc/data/etc/planetlab
-    mv /plc/data/etc/planetlab.rpmsave/{default_config.xml,plc_config.dtd} \
-       /plc/data/etc/planetlab/ || :
 fi
 
 %post
@@ -142,9 +161,6 @@ if [ -x /sbin/chkconfig ] ; then
     /sbin/chkconfig plc on
 fi
 
-# Force a regeneration to take into account new variables
-touch /plc/data/etc/planetlab/default_config.xml
-
 %triggerpostun -- %{name}
 # 0 = erase, 1 = upgrade
 if [ $1 -gt 0 ] ; then
@@ -169,11 +185,14 @@ if [ $1 -eq 0 ] ; then
     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
@@ -185,7 +204,9 @@ fi
 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
@@ -195,6 +216,7 @@ if [ $1 -eq 0 ] ; then
        /sbin/chkconfig --del plc-devel
     fi
 fi
+%endif
 
 %files
 %defattr(-,root,root,-)
@@ -213,6 +235,7 @@ fi
 %dir /plc/data
 %config(noreplace) /plc/data/*
 
+%if %{build_devel}
 %files devel
 %defattr(-,root,root,-)
 # Host startup script and configuration file
@@ -226,8 +249,23 @@ fi
 # Data directory
 %dir /plc/devel/data
 %config(noreplace) /plc/devel/data/*
+%endif
 
 %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.
+- Always regenerate plc_config.xml at first startup
+- Upgrade kernel, iptables, vnet to 2.6.17-1.2142_FC4-3.planetlab
+- Minor PlanetFlow fixes
+- pl_mom/swapmon: Minor fixes
+- bootcd: Added Supermicro IPMI support
+- bootmanager: Cleanup, fixed check for new disks
+
+* Wed Aug 09 2006 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
+- introduces variable %{build_devel} to allow custom sites to skip building
+  the myplc-devel package.
+
 * Thu Jul 13 2006 Mark Huang <mlhuang@CS.Princeton.EDU> - 0.4-2, 0.5-2
 - MyPLC 0.4 RC2.
 - Fix many spec files (License replaces Copyright).