X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=bootcd.spec;h=a5f24dcf1ed7db2422ceb875bce8f4309f978605;hb=10d15f7ee3d3b038d49f51ce023822d7998713b1;hp=45c4f84d3a49ed328a18fd37fbb550c9752253a3;hpb=4467fd3bd5fe91974e7be22ddbd54bff6f6c7b31;p=bootcd.git diff --git a/bootcd.spec b/bootcd.spec index 45c4f84..a5f24dc 100644 --- a/bootcd.spec +++ b/bootcd.spec @@ -1,77 +1,118 @@ -%define name bootcd -%define version 3.2 -%define release 1.planetlab%{?date:.%{date}} -# XXX Get this from /etc/planetlab -%define configuration default +# +# $Id$ +# +%define url $URL$ + +%define nodefamily %{pldistro}-%{_arch} + +%define name bootcd-%{nodefamily} +%define version 4.2 +%define taglevel 1 + +%define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}} Vendor: PlanetLab Packager: PlanetLab Central -Distribution: PlanetLab 3.2 -URL: http://cvs.planet-lab.org/cvs/bootcd_v3 +Distribution: PlanetLab %{plrelease} +URL: %(echo %{url} | cut -d ' ' -f 2) -Summary: The PlanetLab Boot CD -Name: bootcd +Summary: Boot CD material for %{nodefamily} +Name: %{name} Version: %{version} Release: %{release} License: BSD Group: System Environment/Base Source0: %{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root +# other archs must be able to install this +BuildArch: noarch + +Requires: dosfstools, mkisofs, gzip, mtools, syslinux AutoReqProv: no %define debug_package %{nil} %description -The PlanetLab Boot CD securely boots PlanetLab nodes into an immutable +The Boot CD securely boots PlanetLab nodes into an immutable environment. %prep %setup -q %build -./build.sh build %{configuration} +pushd BootCD + +# Build the reference image +./prep.sh %{pldistro} %{nodefamily} + +popd %install -install -d $RPM_BUILD_ROOT/var/www/html/download -pushd build/%{configuration} -bzip2 -c PlanetLab-BootCD-%{version}.iso > \ - $RPM_BUILD_ROOT/var/www/html/download/PlanetLab-BootCD-%{version}.iso.bz2 -bzip2 -c PlanetLab-BootCD-%{version}.usb > \ - $RPM_BUILD_ROOT/var/www/html/download/PlanetLab-BootCD-%{version}.usb.bz2 -md5sum PlanetLab-BootCD-%{version}.{iso,usb} >> \ - $RPM_BUILD_ROOT/var/www/html/download/PlanetLab-BootCD-%{version}.md5 -cd $RPM_BUILD_ROOT/var/www/html/download/ -md5sum PlanetLab-BootCD-%{version}.{iso,usb}.bz2 >> \ - PlanetLab-BootCD-%{version}.md5 +rm -rf $RPM_BUILD_ROOT + +pushd BootCD + +# Install the reference image and build scripts +install -d -m 755 $RPM_BUILD_ROOT/%{_datadir}/%{name} +install -m 755 build.sh $RPM_BUILD_ROOT/%{_datadir}/%{name}/ +tar cpf - \ + build/isofs/bootcd.img \ + build/isofs/kernel \ + build/passwd \ + build/version.txt \ + build/nodefamily \ + configurations | \ + tar -C $RPM_BUILD_ROOT/%{_datadir}/%{name}/ -xpf - + popd -# If run under sudo, allow user to delete the build directory -if [ -n "$SUDO_USER" ] ; then - chown -R $SUDO_USER . -fi - %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 -cat < /etc/planetlab/nodefamily ; } %changelog +* Wed Apr 23 2008 Thierry Parmentelat - BootCD-4.2-1 +- new name for the rpm, to allow simultaneous rpm-installs for several nodefamily (pldistro+arch) +- now installs in /usr/share/bootcd- with a legacy symlink (requires MyPLC-4.2-7) +- nodefamily exported under bootcd.img in /etc/nodefamily (for bm) and under build/nodefamily (for build.sh) + +* Wed Mar 26 2008 Thierry Parmentelat - BootCD-3.4-4 BootCD-3.4-5 +- kargs.txt for serial boot fixed: now properly exposed to bootmanager through the overlay image +- build.sh cleaned up in the process +- actual location of selected node config file displayed +- import pypci rather than pypciscan + +* Thu Feb 14 2008 Thierry Parmentelat - bootcd-3.4-3 bootcd-3.4-4 +- build.sh support for -s (recommended vs using type) +- build.sh cleanup - usage clearer wrt types - removed old code +- fixed modprobe with args in pl_hwinit + +* Thu Jan 31 2008 Thierry Parmentelat - bootcd-3.4-2 bootcd-3.4-3 +- load floppy with modprobe flags +- support for creating a usb partition +- removed obsolete files newbuild.sh, bootcustom.sh and cdcustom.sh + +* Mon Jan 29 2006 Marc E. Fiuczynski - +- added biginitrd usb image + * Fri Sep 2 2005 Mark Huang - - Initial build. +%define module_current_branch 3.4