Skip to content

Commit

Permalink
app-benchmarks/bonnie++: bump to version 2.00a
Browse files Browse the repository at this point in the history
Closes: https://bugs.gentoo.org/768402
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Conrad Kostecki <[email protected]>
  • Loading branch information
ConiKost committed Apr 28, 2021
1 parent d2de75f commit 3d1db11
Show file tree
Hide file tree
Showing 4 changed files with 264 additions and 0 deletions.
1 change: 1 addition & 0 deletions app-benchmarks/bonnie++/Manifest
Original file line number Diff line number Diff line change
@@ -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
39 changes: 39 additions & 0 deletions app-benchmarks/bonnie++/bonnie++-2.00a.ebuild
Original file line number Diff line number Diff line change
@@ -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[@]}"
}
177 changes: 177 additions & 0 deletions app-benchmarks/bonnie++/files/bonnie++-2.00a-gcc11.patch
Original file line number Diff line number Diff line change
@@ -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:
47 changes: 47 additions & 0 deletions app-benchmarks/bonnie++/files/bonnie++-2.00a-makefile.patch
Original file line number Diff line number Diff line change
@@ -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 $<

0 comments on commit 3d1db11

Please sign in to comment.