summaryrefslogtreecommitdiff
path: root/sys-block/fio
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-11-18 10:15:03 +0000
committerV3n3RiX <venerix@redcorelinux.org>2019-11-18 10:15:03 +0000
commitb284a3168fa91a038925d2ecf5e4791011ea5e7d (patch)
tree16fe44748708acacd909d4e2e160a09a7f6d936a /sys-block/fio
parent77398e424e45d9e98c1cef3c43bdadb9d56e81ef (diff)
gentoo resync : 18.11.2019
Diffstat (limited to 'sys-block/fio')
-rw-r--r--sys-block/fio/Manifest5
-rw-r--r--sys-block/fio/files/fio-3.16-snprintf.patch44
-rw-r--r--sys-block/fio/fio-3.16.ebuild129
-rw-r--r--sys-block/fio/metadata.xml2
4 files changed, 179 insertions, 1 deletions
diff --git a/sys-block/fio/Manifest b/sys-block/fio/Manifest
index 5ffbdc7603b4..686141049205 100644
--- a/sys-block/fio/Manifest
+++ b/sys-block/fio/Manifest
@@ -1,11 +1,14 @@
AUX fio-2.2.13-libmtd.patch 398 BLAKE2B b1519ed240879f1260e3f5859c9cada3f41161457b7e06e5e764ac3a6656c3a6439fb5f0380cf90bbd6f2133f25e80419e108d725ea4672adfdd976bee94846f SHA512 18792d4ea3dbc2664d9e24541a07d82a50cd60bb7ff2d14bcdadd2207341c003ad2d298d99d65fd72c88813073b17d03a710a50db4df52ee72d49d9e9bcfe400
AUX fio-2.2.15-rdma.patch 1667 BLAKE2B 7744c58500f0d3c73eb63314bc939f03190907c232ea29b73db5e0ed44cae14e02a621e843c24e37d4a3f877a847800f42c87f5a5b62b8fe2a2ee6ea0e2f511b SHA512 aad747697693a8cef151ae9f60ea5c187cfab92aefd68046fd08c28bc1f173d5bd3c3315f5f5f6de082e7d5ceb357beb3becd159bfec1507e3ab1707eb8b796d
+AUX fio-3.16-snprintf.patch 1723 BLAKE2B e1a8cbae3cc41163cd33118622d6d1888d47769bfa8d3fcd1df8def3b2dcfa8678d69c91cdac945a93172d21026efdb60363c0430765ef08519e6355e92b2732 SHA512 c9119a6c057367aa82ea204f29e78ce7c49c5fe2ea46dba3d6d109e9654a85feb47f7dfd04e8dbed76ddab642242f84fe7d5ff566493df018ecd496f64ac14a1
DIST fio-2.15.tar.bz2 545809 BLAKE2B 163530097a6ff08016c977a328bc499d052c423890c8e7074bc91fb00b02b3d951dd0369ff772fa5f36a37e0b1b7d6b358c3df99bf70db9bec2bbc7f90eee596 SHA512 fa3380031e6e0a597eb34e597af91efbc824a3d5753793fdb00cb10e693943e0358afaad9624eb4333e81182c94424a56fbd1d434eeff098dbf2fc4e19167db0
DIST fio-2.16.tar.bz2 558662 BLAKE2B cbc6e6000bd497fc92779c34688c0862f3adccd7c399ca5d4e4ce9ee9c40faddfec9b3fcca2fad2cd91ca00eee95c4a108273496c9e63db8017695ecf42d294d SHA512 f71c8ab8423e82ceae160bae8c17ac1222c1b2dde2ccb1b2aedb2288e0eb60485f8e9f3908640d4f6cebf166a148f4ad64026c035381c5db5141bf3059349d75
+DIST fio-3.16.tar.bz2 881436 BLAKE2B fee99930d0245474eb67ceee2d1a6ec2f1a0eb4da6d52cf8616d7eda64699a8c2727715284134fd4931e91efad69b064f66a80a78f70ea03e66d4eab4e601120 SHA512 2d651b20cbc6c7babf3adc082dbe78e1f7de920764653cf5ffd99df7516cf6190ffefe2152d2739326d3102949d9bad7db978ff88866cfa54020f9ec3b0a2a23
DIST fio-3.2.tar.bz2 613565 BLAKE2B e721d698338dd8d2c6215780a2d9a10c643a5912d3c27b3e759b4c14585ae1afe4edab5bdc54df8cf19c6f3727f8f4b19ce9da3298a5f0ef3753a5d8f423f4ef SHA512 97ea5ed6587d1e7382a67ab7ad933b6e332ba84cb648d17dcebad3c95c9eb6b1c04a4537e3470f890607f2921da77fcd4e49079b8b78f2d15e9c199dab850d1e
DIST fio-3.7.tar.bz2 629354 BLAKE2B 99a1c88481c7a693e31b1a0bc23bc80e85df92385f9d5a7de8d6479be8bc425326a20d794eb4809f822adfcd06e07c66ebed321faa9dbae7a2c1d3c766a6467d SHA512 b1f5cb35fe1c06e030c570959ab9a96d936f9eaa2f7f30d5a34f34fd93fae057da07c4084a06143cd5188ad6b2cc06b564484f8867e050cfeddc0ee3fb0fe266
EBUILD fio-2.15.ebuild 2693 BLAKE2B 302c54d0b33a6b4a14e1a19ff8cb1848438d87a2732860bfe947f50105eff2a59abb457cb2aefa5cac302a81c0146c3f6858ed91caceaeb54da44864e2c49b60 SHA512 5052d1f15e6250f0802a6a9786aef3ea95fa61a54cb1c7a58c29e80a8b79ed3170096b51fe20f3e8cf4b7ba264fcc4beb25a8e32f222ef7619af6324d73b7a91
EBUILD fio-2.16.ebuild 2907 BLAKE2B b524791f0ecea03ae3a17994295224963fb9eb10b2b339f4dbdcbb546fbafd24cf905777817878cecd22df2158f84ed1ddfc6d311909ca569bd5ef91da0f1218 SHA512 ae8bd404cddedd37a41729e1ec570df997dd9b4484daa9e77a75c4887ee0bb26d5cffbb015fd1e154103d276f2db11486bb49d09b8dbc897f3d5ba5865fb1559
+EBUILD fio-3.16.ebuild 3556 BLAKE2B 7c8890345b27fe582f5ad82581267bd7e22b5a0d8d76733f696de9ca0ec0f25ecc1d09c0c7ab5e7306dc0f081b2dff2403820aed427b78197433e6953a646ad7 SHA512 f984a03787f909ff32268c2b40d980c7087e67e0b9a9dd575ab22c5c5b107bc15d83257ffc2d8a1b5f415f8a6b14528bc0bec9afc04b0ee434f8c8a1200b50f7
EBUILD fio-3.2.ebuild 2855 BLAKE2B 9496bc95ff5ad4511285897285904b352e8e5e1ba547f8eed4932bece1b98f229c7677405c3f6af7e6948ab710e13d79612b94d9442f8371f63cd2a15003b9c6 SHA512 72db1a54e4e876142a7e4c1b16fa467fc0024a1d67eda20a77c97a9685833a03d5a0acaa54b07e0e62e3e12ebd128d2e49ccd58e36758f70c62ca9df25d09bd1
EBUILD fio-3.7.ebuild 3016 BLAKE2B ce0efa6db051517641f759d5422954937c529b7dc6467deb584f261dae79b2ff567822963065fda944c152648b1db36c7b477c4093ce63f6d36cb8225bcd910e SHA512 e2b5c497e3d11bc6ebd8ed6a9709be3a3b88fcbd93591648bcbba48e38204dbf6de0a8622726f18d58bf39c65f5f574161f1f17cc596e1c3e07964c9ce40a6fc
-MISC metadata.xml 761 BLAKE2B 196d8933527b9a6ca6731e173a00543723452f972edf59f44273a33259ffd77d9bed0bd8652d718608f741d49338e69a4e6eddc77e65478749aef8a76f4871cd SHA512 b5f10abbb437a0833b0a02e870b91b56c49c264d190e65e2a88fe45f4d19f40040c300e91dc11d8055118a30a7f334cc2283b9f55852f5baf985eae44cb26e01
+MISC metadata.xml 1000 BLAKE2B b31d96139431d807a30a3d310a259aee985e0bcbc8bd8a0ca55951aa9fd7d11441e837a2fce8f92c8f53601bcdebc64b432d93bab2ff976e6a1d19726e91a853 SHA512 d2c849aae5d4c80bce349d6f34de456602cbb04a0c670e60a126a7ff2e77b0e48b66d08aecfe0ad9f75b10a580a8f2e9214a0864310abff066d6d06077ba6613
diff --git a/sys-block/fio/files/fio-3.16-snprintf.patch b/sys-block/fio/files/fio-3.16-snprintf.patch
new file mode 100644
index 000000000000..1470290f3cb4
--- /dev/null
+++ b/sys-block/fio/files/fio-3.16-snprintf.patch
@@ -0,0 +1,44 @@
+From 5b215853ed4b438b5b2d4ac3e56d5f0d19e145d9 Mon Sep 17 00:00:00 2001
+From: Anatol Pomozov <anatol.pomozov@gmail.com>
+Date: Mon, 23 Sep 2019 14:12:12 -0700
+Subject: [PATCH] Fix compilation error with gfio
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Commit 36833fb04 replaced many usages of strncpy with snprintf.
+But there is one place where new arguments were added but the function
+name has not been changed. It leads to the following compilation error:
+
+gclient.c:333:2: error: too many arguments to function ‘strncpy’
+ 333 | strncpy(message, sizeof(message), "%s", status_message);
+ | ^~~~~~~
+In file included from /usr/include/features.h:450,
+ from /usr/include/bits/libc-header-start.h:33,
+ from /usr/include/stdlib.h:25,
+ from gclient.c:1:
+/usr/include/bits/string_fortified.h:103:1: note: declared here
+ 103 | __NTH (strncpy (char *__restrict __dest, const char *__restrict __src,
+ | ^~~~~
+
+Signed-off-by: Anatol Pomozov <anatol.pomozov@gmail.com>
+---
+ gclient.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gclient.c b/gclient.c
+index 64324177..d8dc62d2 100644
+--- a/gclient.c
++++ b/gclient.c
+@@ -330,7 +330,7 @@ static void gfio_update_thread_status_all(struct gui *ui, char *status_message,
+ static char message[100];
+ const char *m = message;
+
+- strncpy(message, sizeof(message), "%s", status_message);
++ snprintf(message, sizeof(message), "%s", status_message);
+ gtk_progress_bar_set_text(GTK_PROGRESS_BAR(ui->thread_status_pb), m);
+ gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(ui->thread_status_pb), perc / 100.0);
+ gtk_widget_queue_draw(ui->window);
+--
+2.24.0
+
diff --git a/sys-block/fio/fio-3.16.ebuild b/sys-block/fio/fio-3.16.ebuild
new file mode 100644
index 000000000000..440fa1282c4a
--- /dev/null
+++ b/sys-block/fio/fio-3.16.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+PYTHON_COMPAT=( python2_7 python3_5 python3_6 )
+
+inherit python-r1 toolchain-funcs
+
+MY_PV="${PV/_rc/-rc}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="Jens Axboe's Flexible IO tester"
+HOMEPAGE="https://brick.kernel.dk/snaps/"
+SRC_URI="https://brick.kernel.dk/snaps/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86"
+IUSE="aio curl glusterfs gnuplot gtk libressl numa rbd rdma static tcmalloc zlib"
+REQUIRED_USE="gnuplot? ( ${PYTHON_REQUIRED_USE} )
+ libressl? ( curl )"
+
+BDEPEND="virtual/pkgconfig"
+
+# GTK+:2 does not offer static libaries.
+LIB_DEPEND="aio? ( dev-libs/libaio[static-libs(+)] )
+ curl? (
+ net-misc/curl:=[static-libs(+)]
+ !libressl? ( dev-libs/openssl:0=[static-libs(+)] )
+ libressl? ( dev-libs/libressl:0=[static-libs(+)] )
+ )
+ glusterfs? ( sys-cluster/glusterfs[static-libs(+)] )
+ gtk? ( dev-libs/glib:2[static-libs(+)] )
+ numa? ( sys-process/numactl[static-libs(+)] )
+ rbd? ( sys-cluster/ceph[static-libs(+)] )
+ rdma? (
+ sys-fabric/libibverbs[static-libs(+)]
+ sys-fabric/librdmacm[static-libs(+)]
+ )
+ tcmalloc? ( dev-util/google-perftools:=[static-libs(+)] )
+ zlib? ( sys-libs/zlib[static-libs(+)] )"
+RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )
+ gtk? ( x11-libs/gtk+:2 )"
+DEPEND="${RDEPEND}
+ static? ( ${LIB_DEPEND} )"
+RDEPEND+="
+ gnuplot? (
+ sci-visualization/gnuplot
+ $(python_gen_any_dep 'dev-python/pandas[${PYTHON_USEDEP}]')
+ ${PYTHON_DEPS}
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/fio-2.2.13-libmtd.patch
+ "${FILESDIR}"/fio-3.16-snprintf.patch
+)
+
+python_check_deps() {
+ has_version "dev-python/pandas[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ default
+
+ sed -i '/^DEBUGFLAGS/s: -D_FORTIFY_SOURCE=2::g' Makefile || die
+
+ # Many checks don't have configure flags.
+ sed -i \
+ -e "s:\<pkg-config\>:$(tc-getPKG_CONFIG):" \
+ -e '/if compile_prog "" "-lz" "zlib" *; *then/ '"s::if $(usex zlib true false) ; then:" \
+ -e '/if compile_prog "" "-laio" "libaio" ; then/'"s::if $(usex aio true false) ; then:" \
+ configure || die
+}
+
+src_configure() {
+ chmod g-w "${T}"
+ # not a real configure script
+ # TODO: pmem
+ set -- \
+ ./configure \
+ --disable-optimizations \
+ --extra-cflags="${CFLAGS} ${CPPFLAGS}" \
+ --cc="$(tc-getCC)" \
+ --disable-pmem \
+ $(usex curl '' '--disable-http') \
+ $(usex glusterfs '' '--disable-gfapi') \
+ $(usex gtk '--enable-gfio' '') \
+ $(usex numa '' '--disable-numa') \
+ $(usex rbd '' '--disable-rbd') \
+ $(usex rdma '' '--disable-rdma') \
+ $(usex static '--build-static' '') \
+ $(usex tcmalloc '' '--disable-tcmalloc')
+ echo "$@"
+ "$@" || die 'configure failed'
+}
+
+src_compile() {
+ emake V=1 OPTFLAGS=
+}
+
+src_install() {
+ emake install DESTDIR="${D}" prefix="${EPREFIX}/usr" mandir="${EPREFIX}/usr/share/man"
+
+ if use gnuplot ; then
+ sed -i 's:python2.7:python:g' \
+ "${ED}/usr/bin/fio2gnuplot" \
+ "${ED}/usr/bin/fiologparser_hist.py" \
+ "${ED}/usr/bin/fiologparser.py"
+ python_replicate_script \
+ "${ED}/usr/bin/fio2gnuplot" \
+ "${ED}/usr/bin/fiologparser_hist.py" \
+ "${ED}/usr/bin/fiologparser.py"
+ else
+ rm "${ED}"/usr/bin/{fio2gnuplot,fio_generate_plots} || die
+ rm "${ED}"/usr/share/man/man1/{fio2gnuplot,fio_generate_plots}.1 || die
+ rm "${ED}"/usr/share/fio/*.gpm || die
+ rmdir "${ED}"/usr/share/fio/ 2>/dev/null
+ fi
+
+ # This tool has security/parallel issues -- it hardcodes /tmp/template.fio.
+ rm "${ED}"/usr/bin/genfio || die
+
+ dodoc README REPORTING-BUGS HOWTO
+ docinto examples
+ dodoc examples/*
+}
diff --git a/sys-block/fio/metadata.xml b/sys-block/fio/metadata.xml
index 008fec0e1b2a..10bc8be5f59a 100644
--- a/sys-block/fio/metadata.xml
+++ b/sys-block/fio/metadata.xml
@@ -9,10 +9,12 @@
</maintainer>
<use>
<flag name="aio">Enable AIO ioengine</flag>
+ <flag name="curl">Enable HTTP engine for S3 and WebDav support support via <pkg>net-misc/curl</pkg></flag>
<flag name="glusterfs">Enable GlusterFS gfapi support via <pkg>sys-cluster/glusterfs</pkg></flag>
<flag name="gnuplot">Install tools for generating gnuplots</flag>
<flag name="numa">Enable numa support</flag>
<flag name="rbd">Enable Rados block device support via <pkg>sys-cluster/ceph</pkg></flag>
<flag name="rdma">Enable infiniband support via <pkg>sys-fabric/librdmacm</pkg></flag>
+ <flag name="tcmalloc">Link against <pkg>dev-util/google-perftools</pkg> by default which will speed up USE=rbd up to 20%</flag>
</use>
</pkgmetadata>