Patchwork [v2] IOzone: new package

login
register
mail settings
Submitter gilles.talis@gmail.com
Date March 25, 2013, 7:26 p.m.
Message ID <1364239565-22135-1-git-send-email-gilles.talis@gmail.com>
Download mbox | patch
Permalink /patch/230980/
State Accepted
Headers show

Comments

gilles.talis@gmail.com - March 25, 2013, 7:26 p.m.
Signed-off-by: Gilles Talis <gilles.talis@gmail.com>
---
Changes since V1:
* Removed erroneous use of IA64 build target
* Used generic build target for uClibc-based toolchains
* Factorized linux-arm and linux build targets

 package/Config.in        |    1 +
 package/iozone/Config.in |   13 +++++++++++++
 package/iozone/iozone.mk |   38 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 52 insertions(+), 0 deletions(-)
 create mode 100644 package/iozone/Config.in
 create mode 100644 package/iozone/iozone.mk
Gustavo Zacarias - May 3, 2013, 1:09 p.m.
On 03/25/2013 04:26 PM, Gilles Talis wrote:

> Signed-off-by: Gilles Talis <gilles.talis@gmail.com>

Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Tested-by: Gustavo Zacarias <gustavo@zacarias.com.ar>

(qemu-sparc-ss10 and qemu-arm-vexpress external toolchain).
Peter Korsgaard - May 5, 2013, 7:34 p.m.
>>>>> "Gilles" == Gilles Talis <gilles.talis@gmail.com> writes:

 Gilles> Signed-off-by: Gilles Talis <gilles.talis@gmail.com>
 Gilles> ---
 Gilles> Changes since V1:
 Gilles> * Removed erroneous use of IA64 build target
 Gilles> * Used generic build target for uClibc-based toolchains
 Gilles> * Factorized linux-arm and linux build targets

 Gilles>  package/Config.in        |    1 +
 Gilles>  package/iozone/Config.in |   13 +++++++++++++
 Gilles>  package/iozone/iozone.mk |   38 ++++++++++++++++++++++++++++++++++++++
 Gilles>  3 files changed, 52 insertions(+), 0 deletions(-)
 Gilles>  create mode 100644 package/iozone/Config.in
 Gilles>  create mode 100644 package/iozone/iozone.mk

 Gilles> diff --git a/package/Config.in b/package/Config.in
 Gilles> index be1aa99..766b9ae 100644
 Gilles> --- a/package/Config.in
 Gilles> +++ b/package/Config.in
 Gilles> @@ -22,6 +22,7 @@ source "package/cache-calibrator/Config.in"
 Gilles>  source "package/dhrystone/Config.in"
 Gilles>  source "package/dstat/Config.in"
 Gilles>  source "package/dmalloc/Config.in"
 Gilles> +source "package/iozone/Config.in"
 Gilles>  source "package/kexec/Config.in"
 Gilles>  source "package/latencytop/Config.in"
 Gilles>  source "package/lmbench/Config.in"
 Gilles> diff --git a/package/iozone/Config.in b/package/iozone/Config.in
 Gilles> new file mode 100644
 Gilles> index 0000000..b6dfb18
 Gilles> --- /dev/null
 Gilles> +++ b/package/iozone/Config.in
 Gilles> @@ -0,0 +1,13 @@
 Gilles> +config BR2_PACKAGE_IOZONE
 Gilles> +	bool "IOzone"

We normally use lower case for the package name.

 Gilles> +	depends on BR2_LARGEFILE
 Gilles> +	depends on BR2_USE_MMU # fork()
 Gilles> +	help
 Gilles> +	  IOzone is a filesystem benchmark tool.
 Gilles> +	  The benchmark generates and measures a variety of file operations
 Gilles> +
 Gilles> +	  http://www.iozone.org/
 Gilles> +
 Gilles> +comment "IOzone requires a toolchain with LARGEFILE support"
 Gilles> +	depends on !BR2_LARGEFILE
 Gilles> +

Extra empty line at the end.

Otherwise it looks good, committed with these minor fixes.

Patch

diff --git a/package/Config.in b/package/Config.in
index be1aa99..766b9ae 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -22,6 +22,7 @@  source "package/cache-calibrator/Config.in"
 source "package/dhrystone/Config.in"
 source "package/dstat/Config.in"
 source "package/dmalloc/Config.in"
+source "package/iozone/Config.in"
 source "package/kexec/Config.in"
 source "package/latencytop/Config.in"
 source "package/lmbench/Config.in"
diff --git a/package/iozone/Config.in b/package/iozone/Config.in
new file mode 100644
index 0000000..b6dfb18
--- /dev/null
+++ b/package/iozone/Config.in
@@ -0,0 +1,13 @@ 
+config BR2_PACKAGE_IOZONE
+	bool "IOzone"
+	depends on BR2_LARGEFILE
+	depends on BR2_USE_MMU # fork()
+	help
+	  IOzone is a filesystem benchmark tool.
+	  The benchmark generates and measures a variety of file operations
+
+	  http://www.iozone.org/
+
+comment "IOzone requires a toolchain with LARGEFILE support"
+	depends on !BR2_LARGEFILE
+
diff --git a/package/iozone/iozone.mk b/package/iozone/iozone.mk
new file mode 100644
index 0000000..24ba515
--- /dev/null
+++ b/package/iozone/iozone.mk
@@ -0,0 +1,38 @@ 
+#############################################################
+#
+# IOZONE
+#
+#############################################################
+
+IOZONE_VERSION = 3_414
+IOZONE_SOURCE = iozone$(IOZONE_VERSION).tar
+IOZONE_SITE = http://www.iozone.org/src/current
+IOZONE_LICENSE = IOzone license (NO DERIVED WORKS ALLOWED)
+# IOzone license details can be found at:
+# http://www.iozone.org/docs/Iozone_License.txt
+
+ifeq ($(BR2_TOOLCHAIN_BUILDROOT)$(BR2_TOOLCHAIN_EXTERNAL_UCLIBC)$(BR2_TOOLCHAIN_CTNG_uClibc),y)
+# aio.h is not available on uClibc. Select "generic" target that does not use it.
+IOZONE_TARGET = generic
+else ifeq ($(BR2_powerpc),y)
+IOZONE_TARGET = linux-powerpc
+else ifeq ($(BR2_sparc),y)
+IOZONE_TARGET = linux-sparc
+else
+IOZONE_TARGET = linux
+endif
+
+define IOZONE_BUILD_CMDS
+	$(MAKE) $(TARGET_CONFIGURE_OPTS) $(IOZONE_TARGET) -C $(@D)/src/current
+endef
+
+define IOZONE_INSTALL_TARGET_CMDS
+	$(INSTALL) -D -m 755 $(@D)/src/current/iozone \
+		$(TARGET_DIR)/usr/bin/iozone
+endef
+
+define IOZONE_CLEAN_CMDS
+       $(MAKE) -C $(@D)/src/current clean
+endef
+
+$(eval $(generic-package))