X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=myplc.spec;h=fe95ca2ce07ef53f061a2e04a764880411be1ea0;hb=cb1c71c3059e8b09b3b8b7e70baa39641afd5859;hp=7a94a724745725a7f2bceb7a87735378fede5856;hpb=7606afaa5fa7d10d641b688f1fd35b05b5236cf2;p=myplc.git diff --git a/myplc.spec b/myplc.spec index 7a94a72..fe95ca2 100644 --- a/myplc.spec +++ b/myplc.spec @@ -6,12 +6,17 @@ URL: http://cvs.planet-lab.org/cvs/myplc Summary: PlanetLab Central (PLC) Portable Installation Name: myplc Version: 0.5 -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 -./build_devel.sh -./build.sh +%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 @@ -82,6 +98,12 @@ 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 @@ -111,22 +133,26 @@ 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. # 0 = install, 1 = upgrade 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 @@ -135,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 @@ -162,36 +185,28 @@ 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 -# 0 = install, 1 = upgrade -if [ $1 -gt 0 ] ; then - # Never overwrite /cvs - if [ -d /plc/devel/data/cvs ] ; then - echo "Preserving /plc/devel/data/cvs" - mv /plc/devel/data/cvs /plc/devel/data/cvs.rpmsave - fi -fi - +%if %{build_devel} %post devel if [ -x /sbin/chkconfig ] ; then /sbin/chkconfig --add plc-devel /sbin/chkconfig plc-devel on fi -%triggerpostun -- %{name} -# 0 = erase, 1 = upgrade -if [ $1 -gt 0 ] ; then - if [ -d /plc/devel/data/cvs.rpmsave ] ; then - echo "Restoring /plc/devel/data/cvs" - mv /plc/devel/data/cvs /plc/devel/data/cvs.%{version}-%{release} - mv /plc/devel/data/cvs.rpmsave /plc/devel/data/cvs - fi -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 @@ -201,6 +216,7 @@ if [ $1 -eq 0 ] ; then /sbin/chkconfig --del plc-devel fi fi +%endif %files %defattr(-,root,root,-) @@ -219,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 @@ -232,10 +249,36 @@ fi # Data directory %dir /plc/devel/data %config(noreplace) /plc/devel/data/* +%endif %changelog +* Tue Aug 22 2006 Mark Huang - 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 +- introduces variable %{build_devel} to allow custom sites to skip building + the myplc-devel package. + * Thu Jul 13 2006 Mark Huang - 0.4-2, 0.5-2 - MyPLC 0.4 RC2. +- Fix many spec files (License replaces Copyright). +- Fix kernel build under gcc32 (module verification bug). +- Fix vnet build under gcc32 +- Fix PlanetFlow. MySQL RPM postinstall script no longer starts the + server. Also, get hostnames list from PLC_WWW_HOST, not + www.planet-lab.org. +- Fix pl_mom/bwmon to use cached values if NM is unresponsive +- Fix pl_mom/swapmon reset logic to avoid endless loops +- Remove ksymoops, add kernel-smp to standard PlanetLab package group +- Add kernel-smp boot support to bootmanager +- Add badblock search support to bootmanager - Build development environment (myplc-devel). Add support for building myplc itself inside myplc-devel. - Move step-specific initialization to appropriate plc.d scripts