fio: prevent selection with unusable uClibc versions
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 26 Dec 2013 09:44:45 +0000 (10:44 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 26 Dec 2013 09:44:45 +0000 (10:44 +0100)
The fio program uses posix_madvise(). However, posix_madvise() is only
available in the Git tree of uClibc, and in Buildroot's version of
uClibc 0.9.33, thanks to the huge number of backported patches that we
carry.

Therefore, trying to build fio with an external uClibc toolchain is
most likely going to fail (as the uClibc version is most likely an
official stable release, and no stable release of uClibc ever had the
support for posix_madvise()). And similarly, building fio with uClibc
0.9.31 and 0.9.32 is always going to fail. We disable those use cases
to avoid repeated autobuilder failures.

No kconfig comment has been added, because we don't have a
well-defined way of specifying such exceptions.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/fio/Config.in

index deff12c9ff5e7416a88c8a9b583fc65400e42304..be99f25ba7bdc30460c1dc4eeae44ea71f17041b 100644 (file)
@@ -3,6 +3,15 @@ config BR2_PACKAGE_FIO
        depends on BR2_USE_MMU # fork()
        depends on BR2_LARGEFILE
        depends on BR2_TOOLCHAIN_HAS_THREADS
+       # fio uses posix_madvise(), which is not part of any official
+       # release of uClibc, but is part of uClibc Git, and backported
+       # in Buildroot patch set of uClibc 0.9.33. Therefore, we
+       # disable the build of fio for external uClibc toolchains
+       # (which use an unknown uClibc version) and for 0.9.31 and
+       # 0.9.32 which don't have posix_madvise().
+       depends on !BR2_TOOLCHAIN_EXTERNAL_UCLIBC && \
+               !BR2_UCLIBC_VERSION_0_9_31 && \
+               !BR2_UCLIBC_VERSION_0_9_32
        help
          fio is an I/O tool meant to be used both for benchmark
          and stress/hardware verification.