1 |
commit: e0c5a02440848f00917050dda8527b53a54093e2 |
2 |
Author: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Jul 2 20:22:46 2020 +0000 |
4 |
Commit: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Jul 2 20:24:08 2020 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e0c5a024 |
7 |
|
8 |
sys-block/fio: version bump |
9 |
|
10 |
- Now with support for io uring & zbc (zoned disks). |
11 |
- Also fix automagic CUnit dependency in tests |
12 |
|
13 |
Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org> |
14 |
|
15 |
sys-block/fio/Manifest | 2 + |
16 |
sys-block/fio/fio-3.20.ebuild | 156 ++++++++++++++++++++++++++++++++++++++++++ |
17 |
sys-block/fio/metadata.xml | 2 + |
18 |
3 files changed, 160 insertions(+) |
19 |
|
20 |
diff --git a/sys-block/fio/Manifest b/sys-block/fio/Manifest |
21 |
index bcd89e74220..a1a1c13654c 100644 |
22 |
--- a/sys-block/fio/Manifest |
23 |
+++ b/sys-block/fio/Manifest |
24 |
@@ -1,7 +1,9 @@ |
25 |
DIST fio-2.15.tar.bz2 545809 BLAKE2B 163530097a6ff08016c977a328bc499d052c423890c8e7074bc91fb00b02b3d951dd0369ff772fa5f36a37e0b1b7d6b358c3df99bf70db9bec2bbc7f90eee596 SHA512 fa3380031e6e0a597eb34e597af91efbc824a3d5753793fdb00cb10e693943e0358afaad9624eb4333e81182c94424a56fbd1d434eeff098dbf2fc4e19167db0 |
26 |
DIST fio-2.16.tar.bz2 558662 BLAKE2B cbc6e6000bd497fc92779c34688c0862f3adccd7c399ca5d4e4ce9ee9c40faddfec9b3fcca2fad2cd91ca00eee95c4a108273496c9e63db8017695ecf42d294d SHA512 f71c8ab8423e82ceae160bae8c17ac1222c1b2dde2ccb1b2aedb2288e0eb60485f8e9f3908640d4f6cebf166a148f4ad64026c035381c5db5141bf3059349d75 |
27 |
+DIST fio-3.12.tar.bz2 864192 BLAKE2B ace94e43ae6d7925203d43449b0b4a948dba44ad578da2605ff2fff4bf89edb5590908960adfe84778a8236a023989ff7d5bbc7e1e37f7039758d0c402d8de10 SHA512 9f60d5ffa2f9830e33e678eee74b93b876f102ae8b83c1e388be8a31037770ba504e68c27dd3e63753719a0bdd3d716cf69b4ba23aa454d3462a88944dac23cd |
28 |
DIST fio-3.16.tar.bz2 881436 BLAKE2B fee99930d0245474eb67ceee2d1a6ec2f1a0eb4da6d52cf8616d7eda64699a8c2727715284134fd4931e91efad69b064f66a80a78f70ea03e66d4eab4e601120 SHA512 2d651b20cbc6c7babf3adc082dbe78e1f7de920764653cf5ffd99df7516cf6190ffefe2152d2739326d3102949d9bad7db978ff88866cfa54020f9ec3b0a2a23 |
29 |
DIST fio-3.17.tar.bz2 888795 BLAKE2B 10277efb1234708aff336fc3c0723d0b9b5c903dce3a999ea2b8749b5034c778be4828549b9e0d9fc36a4f9429ca86ac0011f0c110e1a44ed3ad33b6e4a30a68 SHA512 27dba4c3e8f544c0fd40a5f42660f64f42e114e7b56199bc70f540b1a09b9dec9291e3fbae0fab9691189fa4a1f40edbcf4f9b53c313fd9c1a8ba0fdbb7f524e |
30 |
DIST fio-3.19.tar.bz2 902391 BLAKE2B 84993717248add335a77c6fc03fa730f628806e1e001078d48a91bc5ac9703e42c6cc5c720cfe76a83d1daf4af2245bfd78fd6a871611de1c19562ca70a9cc89 SHA512 0004dbaf5a8ce4f2b13114a3bfb65c388bb6d01e9a82791208ff7e7eb54cd6741e60cc8cb0a19f6319301ee2040c03862725943972ea767e6cc65fce4a2b3ecb |
31 |
DIST fio-3.2.tar.bz2 613565 BLAKE2B e721d698338dd8d2c6215780a2d9a10c643a5912d3c27b3e759b4c14585ae1afe4edab5bdc54df8cf19c6f3727f8f4b19ce9da3298a5f0ef3753a5d8f423f4ef SHA512 97ea5ed6587d1e7382a67ab7ad933b6e332ba84cb648d17dcebad3c95c9eb6b1c04a4537e3470f890607f2921da77fcd4e49079b8b78f2d15e9c199dab850d1e |
32 |
+DIST fio-3.20.tar.bz2 912040 BLAKE2B 44f8c20a390a6382aadc07881c1e7c65cca932099a1b3992e848669cf2a52b410fde67f9ae576efcd0d8e88ceec04174b6bc077d4b3f9b615b59be9f24f62bed SHA512 4e073754c95cb8d6416a80f48ca61003f34d664717f67a3f29b554e9205f8fe3553595ba6f8a8e9cb3463022d5c83be961f5b5a1ebcd2a9f4da9406a9986c1fb |
33 |
DIST fio-3.7.tar.bz2 629354 BLAKE2B 99a1c88481c7a693e31b1a0bc23bc80e85df92385f9d5a7de8d6479be8bc425326a20d794eb4809f822adfcd06e07c66ebed321faa9dbae7a2c1d3c766a6467d SHA512 b1f5cb35fe1c06e030c570959ab9a96d936f9eaa2f7f30d5a34f34fd93fae057da07c4084a06143cd5188ad6b2cc06b564484f8867e050cfeddc0ee3fb0fe266 |
34 |
|
35 |
diff --git a/sys-block/fio/fio-3.20.ebuild b/sys-block/fio/fio-3.20.ebuild |
36 |
new file mode 100644 |
37 |
index 00000000000..6e66a7abbe2 |
38 |
--- /dev/null |
39 |
+++ b/sys-block/fio/fio-3.20.ebuild |
40 |
@@ -0,0 +1,156 @@ |
41 |
+# Copyright 1999-2020 Gentoo Authors |
42 |
+# Distributed under the terms of the GNU General Public License v2 |
43 |
+ |
44 |
+EAPI="7" |
45 |
+ |
46 |
+PYTHON_COMPAT=( python3_{6,7,8} ) |
47 |
+ |
48 |
+inherit python-r1 toolchain-funcs |
49 |
+ |
50 |
+MY_PV="${PV/_rc/-rc}" |
51 |
+MY_P="${PN}-${MY_PV}" |
52 |
+ |
53 |
+DESCRIPTION="Jens Axboe's Flexible IO tester" |
54 |
+HOMEPAGE="https://brick.kernel.dk/snaps/" |
55 |
+SRC_URI="https://brick.kernel.dk/snaps/${MY_P}.tar.bz2" |
56 |
+ |
57 |
+LICENSE="GPL-2" |
58 |
+SLOT="0" |
59 |
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86" |
60 |
+IUSE="aio curl glusterfs gnuplot gtk libressl io-uring numa python rbd rdma static tcmalloc test zbc zlib" |
61 |
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) |
62 |
+ libressl? ( curl ) |
63 |
+ gnuplot? ( python ) |
64 |
+ io-uring? ( aio )" |
65 |
+RESTRICT="!test? ( test )" |
66 |
+ |
67 |
+BDEPEND="virtual/pkgconfig" |
68 |
+ |
69 |
+# GTK+:2 does not offer static libaries. |
70 |
+LIB_DEPEND="aio? ( dev-libs/libaio[static-libs(+)] ) |
71 |
+ curl? ( |
72 |
+ net-misc/curl:=[static-libs(+)] |
73 |
+ !libressl? ( dev-libs/openssl:0=[static-libs(+)] ) |
74 |
+ libressl? ( dev-libs/libressl:0=[static-libs(+)] ) |
75 |
+ ) |
76 |
+ glusterfs? ( sys-cluster/glusterfs[static-libs(+)] ) |
77 |
+ gtk? ( dev-libs/glib:2[static-libs(+)] ) |
78 |
+ io-uring? ( sys-libs/liburing[static-libs(+)] ) |
79 |
+ numa? ( sys-process/numactl[static-libs(+)] ) |
80 |
+ rbd? ( sys-cluster/ceph[static-libs(+)] ) |
81 |
+ rdma? ( |
82 |
+ sys-fabric/libibverbs[static-libs(+)] |
83 |
+ sys-fabric/librdmacm[static-libs(+)] |
84 |
+ ) |
85 |
+ tcmalloc? ( dev-util/google-perftools:=[static-libs(+)] ) |
86 |
+ zbc? ( >=sys-block/libzbc-5 ) |
87 |
+ zlib? ( sys-libs/zlib[static-libs(+)] )" |
88 |
+RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} ) |
89 |
+ gtk? ( x11-libs/gtk+:2 )" |
90 |
+DEPEND="${RDEPEND} |
91 |
+ static? ( ${LIB_DEPEND} ) |
92 |
+ test? ( dev-util/cunit )" |
93 |
+RDEPEND+=" |
94 |
+ python? ( |
95 |
+ ${PYTHON_DEPS} |
96 |
+ $(python_gen_any_dep 'dev-python/pandas[${PYTHON_USEDEP}]') |
97 |
+ ) |
98 |
+ gnuplot? ( sci-visualization/gnuplot )" |
99 |
+ |
100 |
+S="${WORKDIR}/${MY_P}" |
101 |
+ |
102 |
+PATCHES=( |
103 |
+ "${FILESDIR}"/fio-2.2.13-libmtd.patch |
104 |
+) |
105 |
+ |
106 |
+python_check_deps() { |
107 |
+ has_version "dev-python/pandas[${PYTHON_USEDEP}]" |
108 |
+} |
109 |
+ |
110 |
+src_prepare() { |
111 |
+ default |
112 |
+ |
113 |
+ sed -i '/^DEBUGFLAGS/s: -D_FORTIFY_SOURCE=2::g' Makefile || die |
114 |
+ |
115 |
+ # Many checks don't have configure flags. |
116 |
+ sed -i \ |
117 |
+ -e "s:\<pkg-config\>:$(tc-getPKG_CONFIG):" \ |
118 |
+ -e '/if compile_prog "" "-lzbc" "libzbc" *; *then/ '"s::if $(usex zbc true false) ; then:" \ |
119 |
+ -e '/if compile_prog "" "-lz" "zlib" *; *then/ '"s::if $(usex zlib true false) ; then:" \ |
120 |
+ -e '/if compile_prog "" "-laio" "libaio" *; *then/'"s::if $(usex aio true false) ; then:" \ |
121 |
+ -e '/if compile_prog "" "-lcunit" "CUnit" *; *then/'"s::if $(usex test true false) ; then:" \ |
122 |
+ configure || die |
123 |
+} |
124 |
+ |
125 |
+src_configure() { |
126 |
+ chmod g-w "${T}" |
127 |
+ # not a real configure script |
128 |
+ # TODO: cuda |
129 |
+ # TODO: libnbd - not packaged in Gentoo |
130 |
+ # TODO: pmem - not packaged in Gentoo |
131 |
+ set -- \ |
132 |
+ ./configure \ |
133 |
+ --disable-optimizations \ |
134 |
+ --extra-cflags="${CFLAGS} ${CPPFLAGS}" \ |
135 |
+ --cc="$(tc-getCC)" \ |
136 |
+ --disable-pmem \ |
137 |
+ $(usex curl '' '--disable-http') \ |
138 |
+ $(usex glusterfs '' '--disable-gfapi') \ |
139 |
+ $(usex gtk '--enable-gfio' '') \ |
140 |
+ $(usex io-uring '--enable-libaio-uring' '') \ |
141 |
+ $(usex numa '' '--disable-numa') \ |
142 |
+ $(usex rbd '' '--disable-rbd') \ |
143 |
+ $(usex rdma '' '--disable-rdma') \ |
144 |
+ $(usex static '--build-static' '') \ |
145 |
+ $(usex tcmalloc '' '--disable-tcmalloc') |
146 |
+ echo "$@" |
147 |
+ "$@" || die 'configure failed' |
148 |
+} |
149 |
+ |
150 |
+src_compile() { |
151 |
+ emake V=1 OPTFLAGS= |
152 |
+} |
153 |
+ |
154 |
+src_install() { |
155 |
+ emake install DESTDIR="${D}" prefix="${EPREFIX}/usr" mandir="${EPREFIX}/usr/share/man" |
156 |
+ |
157 |
+ local python2_7_files=( |
158 |
+ "${ED}"/usr/bin/fiologparser_hist.py |
159 |
+ "${ED}"/usr/bin/fiologparser.py |
160 |
+ ) |
161 |
+ local python_files=( |
162 |
+ "${python2_7_files[@]}" |
163 |
+ "${ED}"/usr/bin/fio_jsonplus_clat2csv |
164 |
+ ) |
165 |
+ if use python ; then |
166 |
+ sed -i 's:python2.7:python:g' "${python2_7_files[@]}" || die |
167 |
+ python_replicate_script "${python2_7_files[@]}" |
168 |
+ else |
169 |
+ rm "${python_files[@]}" || die |
170 |
+ fi |
171 |
+ |
172 |
+ local gnuplot_python2_7_files=( |
173 |
+ "${ED}"/usr/bin/fio2gnuplot |
174 |
+ ) |
175 |
+ local gnuplot_files=( |
176 |
+ "${gnuplot_python2_7_files[@]}" |
177 |
+ "${ED}"/usr/bin/fio_generate_plots |
178 |
+ "${ED}"/usr/share/man/man1/fio_generate_plots.1 |
179 |
+ "${ED}"/usr/share/man/man1/fio2gnuplot.1 |
180 |
+ "${ED}"/usr/share/fio/*.gpm |
181 |
+ ) |
182 |
+ if use gnuplot ; then |
183 |
+ sed -i 's:python2.7:python:g' "${gnuplot_python2_7_files[@]}" || die |
184 |
+ python_replicate_script "${gnuplot_python2_7_files[@]}" |
185 |
+ else |
186 |
+ rm "${gnuplot_files[@]}" || die |
187 |
+ rmdir "${ED}"/usr/share/fio/ || die |
188 |
+ fi |
189 |
+ |
190 |
+ # This tool has security/parallel issues -- it hardcodes /tmp/template.fio. |
191 |
+ rm "${ED}"/usr/bin/genfio || die |
192 |
+ |
193 |
+ dodoc README REPORTING-BUGS HOWTO |
194 |
+ docinto examples |
195 |
+ dodoc examples/* |
196 |
+} |
197 |
|
198 |
diff --git a/sys-block/fio/metadata.xml b/sys-block/fio/metadata.xml |
199 |
index 10bc8be5f59..379dbbb873e 100644 |
200 |
--- a/sys-block/fio/metadata.xml |
201 |
+++ b/sys-block/fio/metadata.xml |
202 |
@@ -12,9 +12,11 @@ |
203 |
<flag name="curl">Enable HTTP engine for S3 and WebDav support support via <pkg>net-misc/curl</pkg></flag> |
204 |
<flag name="glusterfs">Enable GlusterFS gfapi support via <pkg>sys-cluster/glusterfs</pkg></flag> |
205 |
<flag name="gnuplot">Install tools for generating gnuplots</flag> |
206 |
+ <flag name="io-uring">Enable efficient I/O via <pkg>sys-libs/liburing</pkg>.</flag> |
207 |
<flag name="numa">Enable numa support</flag> |
208 |
<flag name="rbd">Enable Rados block device support via <pkg>sys-cluster/ceph</pkg></flag> |
209 |
<flag name="rdma">Enable infiniband support via <pkg>sys-fabric/librdmacm</pkg></flag> |
210 |
<flag name="tcmalloc">Link against <pkg>dev-util/google-perftools</pkg> by default which will speed up USE=rbd up to 20%</flag> |
211 |
+ <flag name="zbc">Enable ZBC & ZAC disks via <pkg>sys-block/libzbc</pkg>.</flag> |
212 |
</use> |
213 |
</pkgmetadata> |