summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-benchmarks/bonnie++')
-rw-r--r--app-benchmarks/bonnie++/Manifest1
-rw-r--r--app-benchmarks/bonnie++/bonnie++-2.00a.ebuild39
-rw-r--r--app-benchmarks/bonnie++/files/bonnie++-2.00a-gcc11.patch177
-rw-r--r--app-benchmarks/bonnie++/files/bonnie++-2.00a-makefile.patch47
4 files changed, 264 insertions, 0 deletions
diff --git a/app-benchmarks/bonnie++/Manifest b/app-benchmarks/bonnie++/Manifest
index 16e4fa97abdf..6fdb435854d7 100644
--- a/app-benchmarks/bonnie++/Manifest
+++ b/app-benchmarks/bonnie++/Manifest
@@ -1,3 +1,4 @@
DIST bonnie++-1.97.2.tgz 102533 BLAKE2B 019182c08b9ff7ba60e421f94039c09d27855f9e5b313f451721afdaedc9dc694b468bb30e78a04b655ec9a358ace3d68b13fc8f4d80ca3c48e0ff9387525b57 SHA512 e8303720be9a4ebcc454dbc8906a6843d63909c5101d66524a126ce0db3db7113d01edb7ed2f292bf9d08a6799579c4960f0ee4595019fbacda1601eba52a170
DIST bonnie++-1.97.3.tgz 100166 BLAKE2B 30feca43a2ec37b795168d37bb941241777718222d7e0681dc85a34f8691e76b4306850e41dc6bbfb3f0ad34123ecd1c12396efea99e2ade12206aa6e78708e8 SHA512 44de20b5e46aeaf7f7214766b3c555b8799138f6fd92f87fe9b7dfa6f19815c629d6122c2ef4e4d98a5528dbfcd4c70b3b850eeba05739f6dd20251bf8d7c893
DIST bonnie++-1.98.tgz 100339 BLAKE2B 2a75cbeb881fd12727b5edf4e67789e64bd624b1885cdaf83fe3fc920fb2346e98faea2d9ce5da6fac8a84318a9cbda013afa2c9809892b23d3cf85c5a70982b SHA512 3cf70be4a20c58c80e29a140ec6d3c3884f1b4101e0fb63da0ea831fe4a5eb4e275bda2ce4eaf7d9c2bfb65742e985249b491cda8bdad85984a62f2fc19756c0
+DIST bonnie++-2.00a.tgz 100502 BLAKE2B 8bf9105dbbb1137485d8f24d4b911ca6787d09e3926181b460c18ceb52aea11ddff8f8edfefd1b2577fb1b59e658f4835cc865755faf739389f78fa855d13815 SHA512 1776f8406ccd0341f13bd952830f063e7df8fc2bd6d5c837de875dd5f817e29982b2a6358049221bffcae8faa7489560d2a1af46d79d8eb221d515d797236bdc
diff --git a/app-benchmarks/bonnie++/bonnie++-2.00a.ebuild b/app-benchmarks/bonnie++/bonnie++-2.00a.ebuild
new file mode 100644
index 000000000000..f78476d70b64
--- /dev/null
+++ b/app-benchmarks/bonnie++/bonnie++-2.00a.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Hard drive bottleneck testing benchmark suite"
+HOMEPAGE="https://www.coker.com.au/bonnie++/"
+SRC_URI="https://www.coker.com.au/${PN}/${P}.tgz"
+S="${WORKDIR}/${P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="debug"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.97-zcav-array-indexing-fix.patch" #309319
+ "${FILESDIR}/${PN}-2.00a-gcc11.patch" #768402
+ "${FILESDIR}/${PN}-2.00a-makefile.patch" #426788
+)
+
+DOCS=( "credits.txt" "README.txt" "README-2.00" "debian/changelog" )
+HTML_DOCS=( "readme.html" )
+
+src_prepare() {
+ default
+
+ # Fix path in manpage #431684
+ sed -e "/readme.html/s/bonnie++/${PF}\/html/" -i bonnie++.8 || die
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-stripping
+ $(usex debug "--enable-debug" "")
+ )
+
+ econf "${myeconfargs[@]}"
+}
diff --git a/app-benchmarks/bonnie++/files/bonnie++-2.00a-gcc11.patch b/app-benchmarks/bonnie++/files/bonnie++-2.00a-gcc11.patch
new file mode 100644
index 000000000000..3bf224f34b5c
--- /dev/null
+++ b/app-benchmarks/bonnie++/files/bonnie++-2.00a-gcc11.patch
@@ -0,0 +1,177 @@
+--- a/bon_csv2html.cpp
++++ b/bon_csv2html.cpp
+@@ -10,7 +10,7 @@
+ using namespace std;
+ typedef vector<PCCHAR> STR_VEC;
+
+-vector<STR_VEC> data;
++vector<STR_VEC> stddata;
+ typedef PCCHAR * PPCCHAR;
+ PPCCHAR * props;
+
+@@ -87,8 +87,8 @@
+ read_in(buf);
+ }
+
+- props = new PPCCHAR[data.size()];
+- for(i = 0; i < data.size(); i++)
++ props = new PPCCHAR[stddata.size()];
++ for(i = 0; i < stddata.size(); i++)
+ {
+ props[i] = new PCCHAR[MAX_ITEMS];
+ props[i][0] = NULL;
+@@ -109,7 +109,7 @@
+ }
+ calc_vals();
+ int mid_width = header();
+- for(i = 0; i < data.size(); i++)
++ for(i = 0; i < stddata.size(); i++)
+ {
+ // First print the average speed line
+ printf("<tr>");
+@@ -171,23 +171,23 @@
+
+ void calc_vals()
+ {
+- ITEM *arr = new ITEM[data.size()];
++ ITEM *arr = new ITEM[stddata.size()];
+ for(unsigned int column_ind = 0; column_ind < MAX_ITEMS; column_ind++)
+ {
+ switch(vals[column_ind])
+ {
+ case eNoCols:
+ {
+- for(unsigned int row_ind = 0; row_ind < data.size(); row_ind++)
++ for(unsigned int row_ind = 0; row_ind < stddata.size(); row_ind++)
+ {
+ if(column_ind == COL_CONCURRENCY)
+ {
+- if(data[row_ind][column_ind] && strcmp("1", data[row_ind][column_ind]))
++ if(stddata[row_ind][column_ind] && strcmp("1", stddata[row_ind][column_ind]))
+ col_used[column_ind] = true;
+ }
+ else
+ {
+- if(data[row_ind][column_ind] && strlen(data[row_ind][column_ind]))
++ if(stddata[row_ind][column_ind] && strlen(stddata[row_ind][column_ind]))
+ col_used[column_ind] = true;
+ }
+ }
+@@ -195,22 +195,22 @@
+ break;
+ case eCPU:
+ {
+- for(unsigned int row_ind = 0; row_ind < data.size(); row_ind++)
++ for(unsigned int row_ind = 0; row_ind < stddata.size(); row_ind++)
+ {
+ double work, cpu;
+ arr[row_ind].val = 0.0;
+- if(data[row_ind].size() > column_ind
+- && sscanf(data[row_ind][column_ind - 1], "%lf", &work) == 1
+- && sscanf(data[row_ind][column_ind], "%lf", &cpu) == 1)
++ if(stddata[row_ind].size() > column_ind
++ && sscanf(stddata[row_ind][column_ind - 1], "%lf", &work) == 1
++ && sscanf(stddata[row_ind][column_ind], "%lf", &cpu) == 1)
+ {
+ arr[row_ind].val = cpu / work;
+ }
+ arr[row_ind].pos = row_ind;
+ }
+- qsort(arr, data.size(), sizeof(ITEM), compar);
++ qsort(arr, stddata.size(), sizeof(ITEM), compar);
+ int col_count = -1;
+ double min_col = -1.0, max_col = -1.0;
+- for(unsigned int sort_ind = 0; sort_ind < data.size(); sort_ind++)
++ for(unsigned int sort_ind = 0; sort_ind < stddata.size(); sort_ind++)
+ {
+ // if item is different from previous or if the first row
+ // (sort_ind == 0) then increment col count
+@@ -239,7 +239,7 @@
+ min_col /= mult;
+ }
+ double range_col = max_col - min_col;
+- for(unsigned int sort_ind = 0; sort_ind < data.size(); sort_ind++)
++ for(unsigned int sort_ind = 0; sort_ind < stddata.size(); sort_ind++)
+ {
+ if(arr[sort_ind].col_ind > -1)
+ {
+@@ -250,7 +250,7 @@
+ }
+ else
+ {
+- for(unsigned int sort_ind = 0; sort_ind < data.size(); sort_ind++)
++ for(unsigned int sort_ind = 0; sort_ind < stddata.size(); sort_ind++)
+ {
+ if(vals[column_ind] == eLatency)
+ {
+@@ -263,25 +263,25 @@
+ case eSpeed:
+ case eLatency:
+ {
+- for(unsigned int row_ind = 0; row_ind < data.size(); row_ind++)
++ for(unsigned int row_ind = 0; row_ind < stddata.size(); row_ind++)
+ {
+ arr[row_ind].val = 0.0;
+- if(data[row_ind].size() <= column_ind
+- || sscanf(data[row_ind][column_ind], "%lf", &arr[row_ind].val) == 0)
++ if(stddata[row_ind].size() <= column_ind
++ || sscanf(stddata[row_ind][column_ind], "%lf", &arr[row_ind].val) == 0)
+ arr[row_ind].val = 0.0;
+ if(vals[column_ind] == eLatency && arr[row_ind].val != 0.0)
+ {
+- if(strstr(data[row_ind][column_ind], "ms"))
++ if(strstr(stddata[row_ind][column_ind], "ms"))
+ arr[row_ind].val *= 1000.0;
+- else if(!strstr(data[row_ind][column_ind], "us"))
++ else if(!strstr(stddata[row_ind][column_ind], "us"))
+ arr[row_ind].val *= 1000000.0; // is !us && !ms then secs!
+ }
+ arr[row_ind].pos = row_ind;
+ }
+- qsort(arr, data.size(), sizeof(ITEM), compar);
++ qsort(arr, stddata.size(), sizeof(ITEM), compar);
+ int col_count = -1;
+ double min_col = -1.0, max_col = -1.0;
+- for(unsigned int sort_ind = 0; sort_ind < data.size(); sort_ind++)
++ for(unsigned int sort_ind = 0; sort_ind < stddata.size(); sort_ind++)
+ {
+ // if item is different from previous or if the first row
+ // (sort_ind == 0) then increment col count
+@@ -310,7 +310,7 @@
+ min_col /= mult;
+ }
+ double range_col = max_col - min_col;
+- for(unsigned int sort_ind = 0; sort_ind < data.size(); sort_ind++)
++ for(unsigned int sort_ind = 0; sort_ind < stddata.size(); sort_ind++)
+ {
+ if(arr[sort_ind].col_ind > -1)
+ {
+@@ -332,7 +332,7 @@
+ }
+ else
+ {
+- for(unsigned int sort_ind = 0; sort_ind < data.size(); sort_ind++)
++ for(unsigned int sort_ind = 0; sort_ind < stddata.size(); sort_ind++)
+ {
+ if(vals[column_ind] == eLatency)
+ {
+@@ -481,16 +481,16 @@
+ free((void *)arr[0]);
+ return;
+ }
+- data.push_back(arr);
++ stddata.push_back(arr);
+ }
+
+ void print_item(int num, int item, CPCCHAR extra)
+ {
+ PCCHAR line_data;
+ char buf[1024];
+- if(int(data[num].size()) > item)
++ if(int(stddata[num].size()) > item)
+ {
+- line_data = data[num][item];
++ line_data = stddata[num][item];
+ switch(item)
+ {
+ case COL_PUT_BLOCK:
diff --git a/app-benchmarks/bonnie++/files/bonnie++-2.00a-makefile.patch b/app-benchmarks/bonnie++/files/bonnie++-2.00a-makefile.patch
new file mode 100644
index 000000000000..2fd48e9ff85a
--- /dev/null
+++ b/app-benchmarks/bonnie++/files/bonnie++-2.00a-makefile.patch
@@ -0,0 +1,47 @@
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -9,9 +9,9 @@
+ eprefix=@exec_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 @debug@ -DNDEBUG $(WFLAGS) $(MORECFLAGS)
+-CXX=@CXX@ $(CFLAGS)
+-LINK=@CXX@
++CXXFLAGS += @debug@ -DNDEBUG $(WFLAGS)
++CXX=@CXX@ $(CXXFLAGS)
++LINK=@CXX@ $(LDFLAGS)
+ THREAD_LFLAGS=@thread_ldflags@
+
+ INSTALL=@INSTALL@
+@@ -43,7 +43,7 @@
+ $(LINK) -o getc_putc $(GETCOBJS) $(THREAD_LFLAGS)
+
+ getc_putc_helper: $(GETCHOBJS)
+- $(CXX) -o getc_putc_helper $(GETCHOBJS)
++ $(CXX) $(LDFLAGS) -o getc_putc_helper $(GETCHOBJS)
+
+ bon_csv2html: bon_csv2html.o
+ $(LINK) bon_csv2html.o -o bon_csv2html
+@@ -52,15 +52,15 @@
+ $(LINK) generate_randfile.o -o generate_randfile
+
+ install-bin: $(EXE) $(EXES)
+- mkdir -p $(eprefix)/bin $(eprefix)/sbin
+- @INSTALL_PROGRAM@ @stripping@ $(EXES) $(eprefix)/sbin
+- @INSTALL_PROGRAM@ @stripping@ $(EXE) $(eprefix)/bin
+- @INSTALL_SCRIPT@ $(SCRIPTS) $(eprefix)/bin
++ mkdir -p $(DESTDIR)/$(eprefix)/bin $(DESTDIR)/$(eprefix)/sbin
++ @INSTALL_PROGRAM@ @stripping@ $(EXES) $(DESTDIR)/$(eprefix)/sbin
++ @INSTALL_PROGRAM@ @stripping@ $(EXE) $(DESTDIR)/$(eprefix)/bin
++ @INSTALL_SCRIPT@ $(SCRIPTS) $(DESTDIR)/$(eprefix)/bin
+
+ install: install-bin
+- mkdir -p @mandir@/man1 @mandir@/man8
+- @INSTALL_DATA@ $(MAN1) @mandir@/man1
+- @INSTALL_DATA@ $(MAN8) @mandir@/man8
++ mkdir -p $(DESTDIR)/@mandir@/man1 $(DESTDIR)/@mandir@/man8
++ @INSTALL_DATA@ $(MAN1) $(DESTDIR)/@mandir@/man1
++ @INSTALL_DATA@ $(MAN8) $(DESTDIR)/@mandir@/man8
+
+ %.o: %.cpp
+ $(CXX) -c $<