scaffolding omf resource controller
thierry [Fri, 5 Mar 2010 12:09:28 +0000 (12:09 +0000)]
Makefile [new file with mode: 0644]
omf-resctl.spec [new file with mode: 0644]

diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..604e8b6
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,53 @@
+# $Id: Makefile 16421 2010-01-04 11:29:55Z thierry $
+# $URL: svn+ssh://thierry@svn.planet-lab.org/svn/madwifi/trunk/Makefile $
+#
+WEBFETCH       := curl -H Pragma: -O -R -S --fail --show-error
+SHA1SUM                = sha1sum
+
+# default - overridden by the build
+SPECFILE       = omf-resctl.spec
+
+main.URL       := http://pkg.mytestbed.net/yum/base/8/i386/omf-resctl-5.3-1ubuntu2-2.noarch.rpm
+main.SHA1SUM    := 6f48dd1cb7505ba9301c55f9889fd78842510b68
+main.FILE      := $(notdir $(main.URL))
+
+# Thierry - when called from within the build, PWD is /build
+SOURCEFILES := $(main.FILE)
+
+$(main.FILE): #FORCE
+       @if [ ! -e "$@" ] ; then echo "$(WEBFETCH) $(main.URL)" ; $(WEBFETCH) $(main.URL) ; fi
+       @if [ ! -e "$@" ] ; then echo "Could not download source file: $@ does not exist" ; exit 1 ; fi
+       @if test "$$(sha1sum $@ | awk '{print $$1}')" != "$(main.SHA1SUM)" ; then \
+           echo "sha1sum of the downloaded $@ does not match the one from 'Makefile'" ; \
+           echo "Local copy: $$(sha1sum $@)" ; \
+           echo "In Makefile: $(main.SHA1SUM)" ; \
+           exit 1 ; \
+       else \
+           ls -l $@ ; \
+       fi
+
+sources: $(SOURCEFILES)
+.PHONY: sources
+
+#PWD=$(shell pwd)
+#PREPARCH ?= noarch
+#RPMDIRDEFS = --define "_sourcedir $(PWD)" --define "_builddir $(PWD)" --define "_srcrpmdir $(PWD)" --define "_rpmdir $(PWD)"
+#trees: sources
+#      rpmbuild $(RPMDIRDEFS) $(RPMDEFS) --nodeps -bp --target $(PREPARCH) $(SPECFILE)
+#
+#srpm: sources
+#      rpmbuild $(RPMDIRDEFS) $(RPMDEFS) --nodeps -bs $(SPECFILE)
+#
+#TARGET ?= $(shell uname -m)
+#rpm: sources
+#      rpmbuild $(RPMDIRDEFS) $(RPMDEFS) --nodeps --target $(TARGET) -bb $(SPECFILE)
+#
+#clean:
+#      rm -f *.rpm *.tgz *.bz2 *.gz
+
+++%: varname=$(subst +,,$@)
+++%:
+       @echo "$(varname)=$($(varname))"
++%: varname=$(subst +,,$@)
++%:
+       @echo "$($(varname))"
diff --git a/omf-resctl.spec b/omf-resctl.spec
new file mode 100644 (file)
index 0000000..35c9907
--- /dev/null
@@ -0,0 +1,77 @@
+#
+# $Id: madwifi.spec 16422 2010-01-04 11:33:08Z thierry $
+#
+%define url $URL: svn+ssh://thierry@svn.planet-lab.org/svn/madwifi/trunk/madwifi.spec $
+
+# Marc E. Fiuczynski <mef@cs.princeton.edu>
+# Copyright (C) 2006 The Trustees of Princeton University
+# License is GPL.
+
+%define name omf-resctl
+%define version 5.3
+%define release 1ubuntu2-2
+%define taglevel 1
+
+%define actual_name %{name}-%{version}-%{release}
+
+Summary: OMF Resource Controller - for slivers
+Name: %{name}
+Version: %{version}
+Release: %{release}
+License: GPL
+Group: System Environment/Kernel
+Source0: %{actual_name}.noarch.rpm
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
+
+Vendor: NICTA
+Packager: PlanetLab <devel@planet-lab.eu>
+Distribution: PlanetLab %{plrelease}
+URL: %(echo %{url} | cut -d ' ' -f 2)
+
+Requires: imagezip
+Requires: liblog4r-ruby1.8  
+Requires: libxmpp4r-ruby1.8  
+Requires: pciutils  
+Requires: ruby  
+Requires: wget  
+Requires: wireless-tools  
+Requires: rpmlib(CompressedFileNames) <= 3.0.4-1
+Requires: rpmlib(PayloadFilesHavePrefix) <= 4.0-1
+
+Requires: omf-common-5.3  
+
+%description The OMF Resource Controller (RC) is the experiment-side
+of the Experiment Eontroller (EC) that lets experimenter control their
+resources. It relies on an XMPP server for exchanging with its EC.
+
+%prep
+%setup -n %{actual_name}
+
+%build
+rm -rf $RPM_BUILD_ROOT
+
+make sources
+mkdir unwrap
+cd unwrap
+rpm2cpio ../omf-resctl*.rmp | cpio -diu
+
+%install
+rm -fr $RPM_BUILD_ROOT
+
+rsync -av unwrap/ $RPM_BUILD_ROOT
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(-,root,root)
+/etc
+/usr/sbin
+/usr/share/omf-resctl-%{version}
+/usr/share/doc
+
+%post
+# tweak config in /etc/omf-resctl-5.3/
+mkdir /etc/omf-resctl-5.3/
+
+%changelog