Project import
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..c2c38b0
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,105 @@
+#
+#    Copyright (c) 2010-2011 Nest, Inc.
+#    All rights reserved.
+#
+#    This document is the property of Nest. It is considered
+#    confidential and proprietary information.
+#
+#    This document may not be reproduced or transmitted in any form,
+#    in whole or in part, without the express written permission of
+#    Nest.
+#
+#    Description:
+#      This file is the makefile for lmbench, a set of utilities to
+#      test the performance of a POSIX/UNIX system.
+#
+
+BuildConfigSpecialized	:= No
+BuildProductSpecialized	:= No
+
+include pre.mak
+
+PackageName			:= lmbench
+
+PackageExtension		:= tar.gz
+PackageSeparator		:= 
+
+PackagePatchArgs		:= -p1
+
+PackageArchive			:= $(PackageName).$(PackageExtension)
+PackageSourceDir		:= $(PackageName)$(PackageSeparator)$(PackageVersion)
+
+PackageBuildMakefile		= $(call GenerateBuildPaths,src/Makefile)
+PackageBuildDir			= $(dir $(PackageBuildMakefile))
+
+LicenseSourceFiles		:= COPYING COPYING-2
+LicenseSourcePaths		:= $(addprefix $(PackageSourceDir)/,$(LicenseSourceFiles))
+
+CleanPaths		+= $(PackageLicenseFile)
+
+all: $(PackageDefaultGoal)
+
+# Generate the package license contents.
+
+$(LicenseSourcePaths): source
+
+$(PackageLicenseFile): $(LicenseSourcePaths)
+	$(Verbose)touch $@
+	$(Verbose)for file in $(LicenseSourcePaths); do	\
+		cat $${file} >> $@;			\
+	done
+
+# Extract the source from the archive and apply patches, if any.
+
+$(PackageSourceDir): $(PackageArchive) $(PackagePatchPaths)
+	$(expand-and-patch-package)
+
+# Prepare the sources.
+
+.PHONY: source
+source: | $(PackageSourceDir)
+
+# Patch the sources, if necessary.
+
+.PHONY: patch
+patch: source
+
+# Generate the package build makefile.
+
+$(PackageBuildMakefile): | $(PackageSourceDir) $(BuildDirectory)
+	$(call create-links,$(CURDIR)/$(PackageSourceDir),$(BuildDirectory))
+
+# Configure the source for building.
+
+.PHONY: configure
+configure: source $(PackageBuildMakefile)
+
+# Build the source.
+
+.PHONY: build
+build: configure
+	$(Verbose)unset MAKEFLAGS && \
+	$(MAKE) $(JOBSFLAG) -C $(PackageBuildDir) \
+	CC="$(CC)" CXX="$(CXX)" AR=$(AR) NM=$(NM) RANLIB=$(RANLIB) STRIP=$(STRIP) \
+	INSTALL="$(INSTALL) $(INSTALLFLAGS)" \
+	BASE=$(ResultDirectory) \
+	OS=$(TargetTuple)
+
+# Stage the build to a temporary installation area.
+
+.PHONY: stage
+stage: build | $(ResultDirectory)
+	$(Verbose)unset MAKEFLAGS && \
+	$(MAKE) $(JOBSFLAG) -C $(PackageBuildDir) \
+	CC="$(CC)" CXX="$(CXX)" AR=$(AR) NM=$(NM) RANLIB=$(RANLIB) STRIP=$(STRIP) \
+	INSTALL="$(INSTALL) $(INSTALLFLAGS)" \
+	BASE=$(ResultDirectory) \
+	OS=$(TargetTuple) \
+	install
+
+clean:
+	$(Verbose)$(RM) $(RMFLAGS) -r $(PackageSourceDir)
+	$(Verbose)$(RM) $(RMFLAGS) -r $(BuildDirectory)
+	$(Verbose)$(RM) $(RMFLAGS) -r $(ResultDirectory)
+
+include post.mak
diff --git a/lmbench.patches/lmbench-50.description b/lmbench.patches/lmbench-50.description
new file mode 100644
index 0000000..fc9d8e8
--- /dev/null
+++ b/lmbench.patches/lmbench-50.description
@@ -0,0 +1,3 @@
+This patch generates lmbench's version number from a preexisting version 
+script rather than trying to generate it from BitKeeper, which isn't 
+available when building lmbench from an archive distribution.
diff --git a/lmbench.patches/lmbench-50.patch b/lmbench.patches/lmbench-50.patch
new file mode 100644
index 0000000..fa26775
--- /dev/null
+++ b/lmbench.patches/lmbench-50.patch
@@ -0,0 +1,27 @@
+diff -aruN a/src/Makefile b/src/Makefile
+--- a/src/Makefile	2005-08-22 17:19:54.000000000 -0700
++++ b/src/Makefile	2010-11-11 10:29:01.965965108 -0800
+@@ -170,6 +170,11 @@
+ 	-echo `bk prs -hr+ -d'$$if(:SYMBOL:){:SYMBOL: }:UTC:' ../ChangeSet;` > bk.ver
+ 	touch bk.ver
+ 
++version.out: ../scripts/version
++	rm -f $@
++	-$< > $@
++	touch $@
++
+ dist: bk.ver
+ 	@if [ "X`cd ..; bk sfiles -c`" != "X" ]; then \
+ 		echo "modified files!"; \
+@@ -228,9 +233,9 @@
+ 	install install-target dist get edit get-e clean clobber \
+ 	share depend testmake
+ 
+-$O/lmbench : ../scripts/lmbench bk.ver
++$O/lmbench : ../scripts/lmbench version.out
+ 	rm -f $O/lmbench
+-	sed -e "s/<version>/`cat bk.ver`/g" < ../scripts/lmbench > $O/lmbench
++	sed -e "s/<version>/`cat version.out`/g" < ../scripts/lmbench > $O/lmbench
+ 	chmod +x $O/lmbench
+ 
+ $O/lmbench.a: $(LIBOBJS)
diff --git a/lmbench.patches/lmbench-51.description b/lmbench.patches/lmbench-51.description
new file mode 100644
index 0000000..2e72345
--- /dev/null
+++ b/lmbench.patches/lmbench-51.description
@@ -0,0 +1,4 @@
+This patch ensures that headers and man pages are installed with user 
+and group writable permissions. This ensures that subsequent build passes 
+don't fail when trying to overwrite what were previously read-only 
+files.
diff --git a/lmbench.patches/lmbench-51.patch b/lmbench.patches/lmbench-51.patch
new file mode 100644
index 0000000..77e90f6
--- /dev/null
+++ b/lmbench.patches/lmbench-51.patch
@@ -0,0 +1,24 @@
+diff -aruN a/doc/Makefile b/doc/Makefile
+--- a/doc/Makefile	2005-08-22 17:19:54.000000000 -0700
++++ b/doc/Makefile	2010-11-11 10:51:09.130032921 -0800
+@@ -79,7 +79,7 @@
+ 			fi; \
+ 			base=`basename $${f} .$${s}`; \
+ 			if [ "$${base}.$${s}" = "$$f" ]; then \
+-				cp $$f ${MANDIR}/man$${s}/; \
++				install -m 664 $$f ${MANDIR}/man$${s}/; \
+ 			fi; \
+ 		done; \
+ 	done
+diff -aruN a/src/Makefile b/src/Makefile
+--- a/src/Makefile	2010-11-11 10:29:01.965965108 -0800
++++ b/src/Makefile	2010-11-11 10:49:21.618659334 -0800
+@@ -144,7 +144,7 @@
+ 	if [ ! -d $(BASE)/include ]; then mkdir $(BASE)/include; fi
+ 	if [ ! -d $(BASE)/lib ]; then mkdir $(BASE)/lib; fi
+ 	cp $(EXES) $(BASE)/bin
+-	cp $(INCS) $(BASE)/include
++	install -m 644 $(INCS) $(BASE)/include
+ 	cp $O/lmbench.a $(BASE)/lib/libmbench.a
+ 	cd ../doc; env MAKEFLAGS="$(MAKEFLAGS)" make CC="${CC}" OS="${OS}" BASE="$(BASE)" install
+ 
diff --git a/lmbench.patches/lmbench-52.description b/lmbench.patches/lmbench-52.description
new file mode 100644
index 0000000..4009318
--- /dev/null
+++ b/lmbench.patches/lmbench-52.description
@@ -0,0 +1,2 @@
+This patch ensures that the lmbench script is installed when the make 
+install target is run.
diff --git a/lmbench.patches/lmbench-52.patch b/lmbench.patches/lmbench-52.patch
new file mode 100644
index 0000000..29a6de1
--- /dev/null
+++ b/lmbench.patches/lmbench-52.patch
@@ -0,0 +1,11 @@
+diff -aruN a/src/Makefile b/src/Makefile
+--- a/src/Makefile	2010-11-11 11:56:48.065133553 -0800
++++ b/src/Makefile	2010-11-11 11:52:27.829228416 -0800
+@@ -144,6 +144,7 @@
+ 	if [ ! -d $(BASE)/include ]; then mkdir $(BASE)/include; fi
+ 	if [ ! -d $(BASE)/lib ]; then mkdir $(BASE)/lib; fi
+ 	cp $(EXES) $(BASE)/bin
++	cp $O/lmbench $(BASE)/bin
+ 	install -m 644 $(INCS) $(BASE)/include
+ 	cp $O/lmbench.a $(BASE)/lib/libmbench.a
+ 	cd ../doc; env MAKEFLAGS="$(MAKEFLAGS)" make CC="${CC}" OS="${OS}" BASE="$(BASE)" install
diff --git a/lmbench.tar.gz b/lmbench.tar.gz
new file mode 100644
index 0000000..3acd63e
--- /dev/null
+++ b/lmbench.tar.gz
Binary files differ
diff --git a/lmbench.url b/lmbench.url
new file mode 100644
index 0000000..fcfac8e
--- /dev/null
+++ b/lmbench.url
@@ -0,0 +1 @@
+http://www.bitmover.com/lmbench/lmbench3.tar.gz
diff --git a/lmbench.version b/lmbench.version
new file mode 100644
index 0000000..00750ed
--- /dev/null
+++ b/lmbench.version
@@ -0,0 +1 @@
+3