Import bonnie++ from oldpackages: * update to 1.97 * refresh patches * add license tags * add myself as maintainer Signed-off-by: Florian Fainelli <florian@openwrt.org>lilik-openwrt-22.03
@ -0,0 +1,53 @@ | |||
# | |||
# Copyright (C) 2009-2016 OpenWrt.org | |||
# | |||
# This is free software, licensed under the GNU General Public License v2. | |||
# See /LICENSE for more information. | |||
# | |||
include $(TOPDIR)/rules.mk | |||
PKG_NAME:=bonnie++ | |||
PKG_VERSION:=1.97 | |||
PKG_RELEASE:=1 | |||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz | |||
PKG_SOURCE_URL:=http://www.coker.com.au/bonnie++/experimental/ | |||
PKG_MD5SUM:=d6cf9703242998b2ddc2d875b028b3c6 | |||
PKG_LICENSE:=GPL-2.0 | |||
PKG_LICENSE_FILES:=copyright.txt | |||
PKG_MAINTAINER:=Florian Fainelli <florian@openwrt.org> | |||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION).1 | |||
include $(INCLUDE_DIR)/package.mk | |||
define Package/bonniexx | |||
SECTION:=utils | |||
CATEGORY:=Utilities | |||
DEPENDS:=+libstdcpp +libpthread | |||
TITLE:=Bonnie++ - hard drive bottleneck testing program. | |||
URL:=http://www.coker.com.au/bonnie++/ | |||
endef | |||
define Package/bonniexx/description | |||
Bonnie++ is a benchmark suite that is aimed at performing a number of simple | |||
tests of hard drive and file system performance. | |||
endef | |||
define Build/Compile | |||
$(MAKE) -C $(PKG_BUILD_DIR) \ | |||
TARGET_CXX="$(TARGET_CXX)" \ | |||
TARGET_LINK="$(TARGET_CXX)" \ | |||
MORECFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CXXFLAGS)" \ | |||
DESTDIR="$(PKG_INSTALL_DIR)" \ | |||
all | |||
endef | |||
define Package/bonniexx/install | |||
$(INSTALL_DIR) $(1)/usr/bin | |||
$(CP) $(PKG_BUILD_DIR)/bonnie++ $(1)/usr/bin/ | |||
$(CP) $(PKG_BUILD_DIR)/bon_csv2html $(1)/usr/bin/ | |||
endef | |||
$(eval $(call BuildPackage,bonniexx)) |
@ -0,0 +1,38 @@ | |||
Index: bonnie++-1.97.1/configure | |||
=================================================================== | |||
--- bonnie++-1.97.1.orig/configure | |||
+++ bonnie++-1.97.1/configure | |||
@@ -3955,9 +3955,7 @@ rm -f core conftest.err conftest.$ac_obj | |||
if test "$cross_compiling" = yes; then : | |||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | |||
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | |||
-as_fn_error $? "cannot run test program while cross compiling | |||
-See \`config.log' for more details" "$LINENO" 5 ; } | |||
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} } | |||
else | |||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext | |||
/* end confdefs.h. */ | |||
Index: bonnie++-1.97.1/Makefile | |||
=================================================================== | |||
--- bonnie++-1.97.1.orig/Makefile | |||
+++ bonnie++-1.97.1/Makefile | |||
@@ -1,5 +1,7 @@ | |||
EXES=bonnie++ zcav getc_putc getc_putc_helper | |||
EXE=bon_csv2html generate_randfile | |||
+TARGET_CXX=g++ | |||
+TARGET_LINK=g++ | |||
all: $(EXE) $(EXES) | |||
@@ -10,8 +12,8 @@ eprefix=${prefix} | |||
#MORE_WARNINGS=-Weffc++ | |||
WFLAGS=-Wall -W -Wshadow -Wpointer-arith -Wwrite-strings -pedantic -ffor-scope -Wcast-align -Wsign-compare -Wpointer-arith -Wwrite-strings -Wformat-security -Wswitch-enum -Winit-self $(MORE_WARNINGS) | |||
CFLAGS=-O2 -DNDEBUG $(WFLAGS) $(MORECFLAGS) | |||
-CXX=g++ $(CFLAGS) | |||
-LINK=g++ | |||
+CXX=$(TARGET_CXX) $(CFLAGS) | |||
+LINK=$(TARGET_LINK) | |||
THREAD_LFLAGS=-lpthread | |||
INSTALL=/usr/bin/install -c |
@ -0,0 +1,47 @@ | |||
--- a/bon_file.cpp | |||
+++ b/bon_file.cpp | |||
@@ -464,25 +464,37 @@ int COpenTest::delete_sequential(BonTime | |||
} | |||
if(m_number_directories != 1) | |||
{ | |||
- if(chdir("..") || rmdir(buf)) | |||
+ if(chdir("..")) | |||
{ | |||
+ io_error("chdir"); | |||
+ return -1; | |||
+ } | |||
+ if(rmdir(buf)) | |||
+ { | |||
+ fprintf(stderr, "Unable to delete directory '%s'\n", buf); | |||
io_error("rmdir"); | |||
return -1; | |||
} | |||
} | |||
} | |||
- if(chdir("..") || rmdir(m_dirname)) | |||
+ if(count != m_number) | |||
{ | |||
- io_error("rmdir"); | |||
+ fprintf(stderr, "Expected %d files but only got %d\n", m_number, count); | |||
return -1; | |||
} | |||
- delete m_dirname; | |||
- m_dirname = NULL; | |||
- if(count != m_number) | |||
+ if(chdir("..")) | |||
{ | |||
- fprintf(stderr, "Expected %d files but only got %d\n", m_number, count); | |||
+ io_error("chdir"); | |||
+ return -1; | |||
+ } | |||
+ if(rmdir(m_dirname)) | |||
+ { | |||
+ fprintf(stderr, "Unable to delete directory '%s'\n", m_dirname); | |||
+ io_error("rmdir"); | |||
return -1; | |||
} | |||
+ delete m_dirname; | |||
+ m_dirname = NULL; | |||
sync(); | |||
timer.stop_and_record(DelSeq); | |||
timer.add_latency(DelSeq, dur.getMax()); |