summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_2022.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-benchmark/fio/fio_2022.bb')
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/fio/fio_2022.bb77
1 files changed, 77 insertions, 0 deletions
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_2022.bb b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_2022.bb
new file mode 100644
index 0000000000..108b2b5c10
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_2022.bb
@@ -0,0 +1,77 @@
+SUMMARY = "Filesystem and hardware benchmark and stress tool"
+DESCRIPTION = "fio is an I/O tool meant to be used both for benchmark and \
+stress/hardware verification. It has support for a number of I/O engines, \
+I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, \
+and much more. It can work on block devices as well as files. fio accepts \
+job descriptions in a simple-to-understand text format. Several example job \
+files are included. fio displays all sorts of I/O performance information."
+HOMEPAGE = "http://freecode.com/projects/fio"
+SECTION = "console/tests"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "libaio zlib coreutils-native"
+DEPENDS += "${@bb.utils.contains('MACHINE_FEATURES', 'pmem', 'pmdk', '', d)}"
+RDEPENDS:${PN} = "python3-core bash"
+
+PACKAGECONFIG_NUMA = "numa"
+# ARM does not currently support NUMA
+PACKAGECONFIG_NUMA:arm = ""
+PACKAGECONFIG_NUMA:armeb = ""
+
+PACKAGECONFIG ??= "${PACKAGECONFIG_NUMA}"
+PACKAGECONFIG[numa] = ",--disable-numa,numactl"
+
+SRCREV = "6e44f31b9241cdc56d0857fb10ddb2ec40faa541"
+SRC_URI = "git://git.kernel.dk/fio.git;branch=master \
+ file://0001-Fio-3.31.patch \
+ file://0002-lib-rand-Enhance-__fill_random_buf-using-the-multi-r.patch \
+ file://0003-lib-rand-get-rid-of-unused-MAX_SEED_BUCKETS.patch \
+ file://0004-ioengines-merge-filecreate-filestat-filedelete-engin.patch \
+ file://0005-engines-http-Add-storage-class-option-for-s3.patch \
+ file://0006-engines-http-Add-s3-crypto-options-for-s3.patch \
+ file://0007-doc-Add-usage-and-example-about-s3-storage-class-and.patch \
+ file://0008-README-link-to-GitHub-releases-for-Windows.patch \
+ file://0009-engines-xnvme-fix-segfault-issue-with-xnvme-ioengine.patch \
+ file://0010-doc-update-fio-doc-for-xnvme-engine.patch \
+ file://0011-test-add-latency-test-using-posixaio-ioengine.patch \
+ file://0012-test-fix-hash-for-t0016.patch \
+ file://0013-doc-get-rid-of-trailing-whitespace.patch \
+ file://0014-doc-clarify-that-I-O-errors-may-go-unnoticed-without.patch \
+ file://0015-Revert-Minor-style-fixups.patch \
+ file://0016-Revert-Fix-multithread-issues-when-operating-on-a-si.patch \
+ file://0017-Add-wait-for-handling-SIGBREAK.patch \
+ file://0018-engines-io_uring-pass-back-correct-error-value-when-.patch \
+ file://0019-Enable-CPU-affinity-support-on-Android.patch \
+ file://0020-io_uring-Replace-pthread_self-with-s-tid.patch \
+ file://0021-engines-io_uring-delete-debug-code.patch \
+ file://0022-t-io_uring-prep-for-including-engines-nvme.h-in-t-io.patch \
+ file://0023-t-io_uring-add-support-for-async-passthru.patch \
+ file://0024-t-io_uring-fix-64-bit-cast-on-32-bit-archs.patch \
+ file://0025-test-add-basic-test-for-io_uring-ioengine.patch \
+ file://0026-t-io_uring-remove-duplicate-definition-of-gettid.patch \
+ file://0027-test-add-some-tests-for-seq-and-rand-offsets.patch \
+ file://0028-test-use-Ubuntu-22.04-for-64-bit-tests.patch \
+ file://0029-test-get-32-bit-Ubuntu-22.04-build-working.patch \
+ file://0030-test-add-tests-for-lfsr-and-norandommap.patch \
+ file://0031-backend-revert-bad-memory-leak-fix.patch \
+ file://0032-Fio-3.32.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+# avoids build breaks when using no-static-libs.inc
+DISABLE_STATIC = ""
+
+EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}'"
+EXTRA_OECONF = "${@bb.utils.contains('MACHINE_FEATURES', 'x86', '--disable-optimizations', '', d)}"
+
+do_configure() {
+ ./configure ${EXTRA_OECONF}
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D} prefix=${prefix} mandir=${mandir}
+ install -d ${D}/${docdir}/${PN}
+ cp -R --no-dereference --preserve=mode,links -v ${S}/examples ${D}/${docdir}/${PN}/
+}