[Buildroot] [PATCH] Add bonnie++-1.03e package

Daniel Mack daniel at caiaq.de
Sun Jul 12 20:32:08 UTC 2009


On Sun, Jul 12, 2009 at 10:20:53PM +0200, Peter Korsgaard wrote:
>  Daniel> From: Daniel Mack <daniel at caiaq.de>
>  Daniel> Date: Thu, 9 Jul 2009 12:47:31 +0200
>  Daniel> Subject: [PATCH] Add bonnie++-1.03e package
> 
>  Daniel> Signed-off-by: Daniel Mack <daniel at caiaq.de>
>  Daniel> ---
>  Daniel>  package/Config.in            |    1 +
>  Daniel>  package/bonnie++/Config.in   |   10 +++++++
>  Daniel>  package/bonnie++/bonnie++.mk |   57 ++++++++++++++++++++++++++++++++++++++++++
> 
>  Daniel> +config BR2_PACKAGE_BONNIE
>  Daniel> +	bool "bonnie++"
>  Daniel> +	help
>  Daniel> +	  Bonnie++ is a benchmark suite that is aimed at performing a number
>  Daniel> +	  of simple tests of hard drive and file system performance. Then you
>  Daniel> +	  can decide which test is important and decide how to compare
>  Daniel> +	  different systems after running it.
>  Daniel> +
>  Daniel> +	  http://www.coker.com.au/bonnie++/
> 
> 
> Bonnie++ is written in C++, right? Then you need to depend on
> BR2_INSTALL_LIBSTDCPP, see package/iperf/Config.in for an example.

Ah, right. Added that.

>  Daniel> +BONNIE_VERSION:=1.03e
>  Daniel> +BONNIE_SOURCE:=bonnie++-$(BONNIE_VERSION).tgz
>  Daniel> +BONNIE_SITE:=http://www.coker.com.au/bonnie++/
>  Daniel> +BONNIE_DIR:=$(BUILD_DIR)/bonnie++-$(BONNIE_VERSION)
>  Daniel> +BONNIE_CAT:=$(ZCAT)
>  Daniel> +BONNIE_BINARY:=bonnie++
>  Daniel> +BONNIE_TARGET_BINARY:=usr/bin/bonnie++
> 
> Why not use Makefile.autotools.in? Bonnie seems to use autotools.

That is because 'make install' had some strange trouble because the make
target 'instakk-strip' was unavailable. Hence I moved away from that
aproach.

>  Daniel> +$(BONNIE_DIR)/.configured: $(BONNIE_DIR)/.unpacked
>  Daniel> +	(cd $(BONNIE_DIR); rm -rf config.cache; \
>  Daniel> +		$(TARGET_CONFIGURE_OPTS) \
>  Daniel> +		$(TARGET_CONFIGURE_ARGS) \
>  Daniel> +		./configure \
>  Daniel> +		--prefix=/ \
> 
> Not --prefix=/usr ?

Fixed that, even though it doesn't seem to matter in this case.

Thanks,
Daniel


>From 113793ccfd4dd76c81fe5073e688cddcf2ba5af7 Mon Sep 17 00:00:00 2001
From: Daniel Mack <daniel at caiaq.de>
Date: Thu, 9 Jul 2009 12:47:31 +0200
Subject: [PATCH] Add bonnie++-1.03e package

Signed-off-by: Daniel Mack <daniel at caiaq.de>
---
 package/Config.in            |    1 +
 package/bonnie++/Config.in   |   11 ++++++++
 package/bonnie++/bonnie++.mk |   57 ++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 69 insertions(+), 0 deletions(-)
 create mode 100644 package/bonnie++/Config.in
 create mode 100644 package/bonnie++/bonnie++.mk

diff --git a/package/Config.in b/package/Config.in
index cb83563..e77cec9 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -228,6 +228,7 @@ endmenu
 
 menu "Hardware handling / blockdevices and filesystem maintenance"
 source "package/acpid/Config.in"
+source "package/bonnie++/Config.in"
 source "package/dbus/Config.in"
 source "package/dbus-glib/Config.in"
 source "package/dbus-python/Config.in"
diff --git a/package/bonnie++/Config.in b/package/bonnie++/Config.in
new file mode 100644
index 0000000..268e3cf
--- /dev/null
+++ b/package/bonnie++/Config.in
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_BONNIE
+	bool "bonnie++"
+	depends on BR2_INSTALL_LIBSTDCPP
+	help
+	  Bonnie++ is a benchmark suite that is aimed at performing a number
+	  of simple tests of hard drive and file system performance. Then you
+	  can decide which test is important and decide how to compare
+	  different systems after running it.
+
+	  http://www.coker.com.au/bonnie++/
+
diff --git a/package/bonnie++/bonnie++.mk b/package/bonnie++/bonnie++.mk
new file mode 100644
index 0000000..74d590d
--- /dev/null
+++ b/package/bonnie++/bonnie++.mk
@@ -0,0 +1,57 @@
+#############################################################
+#
+# bonnie
+#
+#############################################################
+BONNIE_VERSION:=1.03e
+BONNIE_SOURCE:=bonnie++-$(BONNIE_VERSION).tgz
+BONNIE_SITE:=http://www.coker.com.au/bonnie++/
+BONNIE_DIR:=$(BUILD_DIR)/bonnie++-$(BONNIE_VERSION)
+BONNIE_CAT:=$(ZCAT)
+BONNIE_BINARY:=bonnie++
+BONNIE_TARGET_BINARY:=usr/bin/bonnie++
+
+$(DL_DIR)/$(BONNIE_SOURCE):
+	$(call DOWNLOAD,$(BONNIE_SITE),$(BONNIE_SOURCE))
+
+bonnie-source: $(DL_DIR)/$(BONNIE_SOURCE)
+
+$(BONNIE_DIR)/.unpacked: $(DL_DIR)/$(BONNIE_SOURCE)
+	$(BONNIE_CAT) $(DL_DIR)/$(BONNIE_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+	$(CONFIG_UPDATE) $(BONNIE_DIR)
+	touch $@
+
+$(BONNIE_DIR)/.configured: $(BONNIE_DIR)/.unpacked
+	(cd $(BONNIE_DIR); rm -rf config.cache; \
+		$(TARGET_CONFIGURE_OPTS) \
+		$(TARGET_CONFIGURE_ARGS) \
+		./configure \
+		--prefix=/usr \
+		--target=$(GNU_TARGET_NAME) \
+		--host=$(GNU_TARGET_NAME) \
+		--build=$(GNU_HOST_NAME) \
+	)
+	touch $@
+
+$(BONNIE_DIR)/$(BONNIE_BINARY): $(BONNIE_DIR)/.configured
+	$(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(BONNIE_DIR)
+
+$(TARGET_DIR)/$(BONNIE_TARGET_BINARY): $(BONNIE_DIR)/$(BONNIE_BINARY)
+	install -D $(BONNIE_DIR)/$(BONNIE_BINARY) $(TARGET_DIR)/$(BONNIE_TARGET_BINARY)
+
+bonnie: uclibc $(TARGET_DIR)/$(BONNIE_TARGET_BINARY)
+
+bonnie-clean:
+	rm -f $(TARGET_DIR)/$(BONNIE_TARGET_BINARY)
+	-$(MAKE) -C $(BONNIE_DIR) clean
+
+bonnie-dirclean:
+	rm -rf $(BONNIE_DIR)
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(BR2_PACKAGE_BONNIE),y)
+TARGETS+=bonnie
+endif
-- 
1.6.3.1



More information about the buildroot mailing list