+#
+# $Id$
+#
+%define url $URL$
+
%define name bootmanager
-%define version 3.1
-%define release 1.planetlab%{?date:.%{date}}
+%define version 5.0
+%define taglevel 1
+
+%define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
Vendor: PlanetLab
Packager: PlanetLab Central <support@planet-lab.org>
-Distribution: PlanetLab 3.0
-URL: http://cvs.planet-lab.org/cvs/bootmanager
+Distribution: PlanetLab %{plrelease}
+URL: %(echo %{url} | cut -d ' ' -f 2)
Summary: The PlanetLab Boot Manager
-Name: bootmanager
+Name: %{name}
Version: %{version}
Release: %{release}
License: BSD
Source0: %{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+Requires: tar, gnupg, sharutils, bzip2, pypcilib
+Requires: PLCAPI >= 5.0
+
AutoReqProv: no
%define debug_package %{nil}
%setup -q
%build
-./build.sh
-make -C support-files
%install
rm -rf $RPM_BUILD_ROOT
+
+# Install source so that it can be rebuilt
+find build.sh source | cpio -p -d -u $RPM_BUILD_ROOT/%{_datadir}/%{name}/
+
+touch bootmanager.sh
install -D -m 755 bootmanager.sh $RPM_BUILD_ROOT/var/www/html/boot/bootmanager.sh
-for tarball in \
- alpina-BootLVM.tar.gz \
- alpina-PartDisks.tar.gz \
- PlanetLab-Bootstrap.tar.bz2 ; do
- install -D -m 644 support-files/$tarball $RPM_BUILD_ROOT/var/www/html/boot/$tarball
-done
-
-# If run under sudo, allow user to delete the build directory
-if [ -n "$SUDO_USER" ] ; then
- chown -R $SUDO_USER .
-fi
+
+# This is only required for 2.x bootcds.
+install -D -m 644 support-files/uudecode.gz $RPM_BUILD_ROOT/var/www/html/boot/uudecode.gz
%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 -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 -h -R $SUDO_USER %{_rpmdir}/%{_arch}
fi
%post
%files
%defattr(-,root,root,-)
-/var/www/html/boot/*
+%{_datadir}/%{name}
+%ghost /var/www/html/boot/bootmanager.sh
+/var/www/html/boot/uudecode.gz
%changelog
+* Wed Sep 10 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - BootManager-5.0-1
+- reflects new names from the data model
+
+* Sat May 24 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - BootManager-3.2-7
+- dont unload cpqphp
+
+* Thu Apr 24 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - BootManager-3.2-6
+- changes in the state automaton logic
+- root+swap = 7G
+- usb-key threshhold increased to 17 G
+- bootstrafs selection logic altered - uses /etc/planetlab/nodefamily instead of GetPlcRelease
+
+* Wed Mar 26 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - BootManager-3.2-4 BootManager-3.2-5
+- renamed step InstallBootstrapRPM into InstallBootstrapFS
+- reviewed selection of bootstrapfs, based on nodegroups, for multi-arch deployment
+- import pypcimap rather than pypciscan
+- initial downlaoding of plc_config made more robust
+- root and /vservers file systems mounted ext3
+- calls to BootGetNodeDetails replaced with GetNodes/GetNodeNetworks
+- also seems to be using session-based authentication rather than former hmac-based one
+
+* Fri Feb 08 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - bootmanager-3.2-3 bootmanager-3.2-4
+- usage of wireless attributes fixed and tested
+- breakpoints cleaned up (no change for production)
+- less alarming message when floppy does not get unloaded
+
+* Thu Jan 31 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - bootmanager-3.2-2 bootmanager-3.2-3
+- network config : support the full set of settings from ifup-wireless - see also http://svn.planet-lab.org/svn/MyPLC/tags/myplc-4.2-1/db-config
+- removes legacy calls to PlanetLabConf.py
+- refrains from unloading floppy
+- first draft of the dual-method for implementing extensions (bootstrapfs-like images or yum install)
+
* Fri Sep 2 2005 Mark Huang <mlhuang@cotton.CS.Princeton.EDU> -
- Initial build.
+%define module_current_branch 3.2