1
0
mirror of https://git.yoctoproject.org/meta-ti synced 2026-04-21 20:19:08 +00:00
Files
meta-ti/recipes-kernel/kselftests/kselftests_4.10.bb
Denys Dmytriyenko 371b7bb522 kselftests: enable ptp/testptp target
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2019-05-17 22:31:45 +00:00

187 lines
5.7 KiB
BlitzBasic

SUMMARY = "Linux Kernel Selftests"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
SRC_URI = "\
https://www.kernel.org/pub/linux/kernel/v4.x/linux-${PV}.tar.xz \
file://0001-selftests-lib-allow-to-override-CC-in-the-top-level-Makefile.patch \
file://0001-selftests-timers-use-LDLIBS-to-link-against-libpthread.patch \
file://0001-selftests-sigaltstack-fix-packaging.patch \
file://0001-selftests-seccomp-use-LDLIBS-to-link-against-libpthread.patch \
file://0001-selftests-gpio-use-pkg-config.patch \
file://0001-selftests-net-use-LDLIBS-to-link-against-libnuma.patch \
file://0001-selftests-breakpoints-allow-to-cross-compile-for-aar.patch;apply=no \
file://0001-selftests-add-ptp-to-TARGETS.patch \
"
SRC_URI[md5sum] = "b5e7f6b9b2fe1b6cc7bc56a3a0bfc090"
SRC_URI[sha256sum] = "3c95d9f049bd085e5c346d2c77f063b8425f191460fcd3ae9fe7e94e0477dc4b"
S = "${WORKDIR}/linux-${PV}"
PACKAGE_ARCH = "${MACHINE_ARCH}"
DEPENDS = "libcap libcap-ng popt rsync-native util-linux pkgconfig-native \
"
inherit kernel-arch
EXTRA_OEMAKE += "V=1 -C ${S}/tools/testing/selftests INSTALL_PATH=${D}${bindir}/kselftests CC="${CC}" LD="${LD}""
do_compile () {
# Make sure to install the user space API used by some tests
# but not properly declared as a build dependency
${MAKE} -C ${S} headers_install
oe_runmake
}
do_install () {
oe_runmake install
chown -R root:root ${D}
# fixup run_kselftest.sh due to spurious lines starting by "make[1]:"
sed -i '/^make/d' ${D}${bindir}/kselftests/run_kselftest.sh
}
PACKAGE_BEFORE_PN = " \
${PN}-bpf \
${PN}-breakpoints \
${PN}-capabilities \
${PN}-cpu-hotplug \
${PN}-efivarfs \
${PN}-exec \
${PN}-firmware \
${PN}-ftrace \
${PN}-futex \
${PN}-gpio \
${PN}-ipc \
${PN}-kcmp \
${PN}-lib \
${PN}-membarrier \
${PN}-memfd \
${PN}-memory-hotplug \
${PN}-mount \
${PN}-mqueue \
${PN}-net \
${PN}-nsfs \
${PN}-powerpc \
${PN}-pstore \
${PN}-ptp \
${PN}-ptrace \
${PN}-seccomp \
${PN}-sigaltstack \
${PN}-size \
${PN}-static-keys \
${PN}-sync \
${PN}-sysctl \
${PN}-timers \
${PN}-user \
${PN}-vm \
${PN}-x86 \
${PN}-zram \
"
FILES_${PN}-bpf = "${bindir}/kselftests/bpf"
FILES_${PN}-breakpoints = "${bindir}/kselftests/breakpoints"
FILES_${PN}-capabilities = "${bindir}/kselftests/capabilities"
FILES_${PN}-cpu-hotplug = "${bindir}/kselftests/cpu-hotplug"
FILES_${PN}-efivarfs = "${bindir}/kselftests/efivarfs"
FILES_${PN}-exec = "${bindir}/kselftests/exec"
FILES_${PN}-firmware = "${bindir}/kselftests/firmware"
FILES_${PN}-ftrace = "${bindir}/kselftests/ftrace"
FILES_${PN}-futex = "${bindir}/kselftests/futex"
FILES_${PN}-gpio = "${bindir}/kselftests/gpio"
FILES_${PN}-ipc = "${bindir}/kselftests/ipc"
FILES_${PN}-kcmp = "${bindir}/kselftests/kcmp"
FILES_${PN}-lib = "${bindir}/kselftests/lib"
FILES_${PN}-membarrier = "${bindir}/kselftests/membarrier"
FILES_${PN}-memfd = "${bindir}/kselftests/memfd"
FILES_${PN}-memory-hotplug = "${bindir}/kselftests/memory-hotplug"
FILES_${PN}-mount = "${bindir}/kselftests/mount"
FILES_${PN}-mqueue = "${bindir}/kselftests/mqueue"
FILES_${PN}-net = "${bindir}/kselftests/net"
FILES_${PN}-nsfs = "${bindir}/kselftests/nsfs"
FILES_${PN}-powerpc = "${bindir}/kselftests/powerpc"
FILES_${PN}-pstore = "${bindir}/kselftests/pstore"
FILES_${PN}-ptp = "${bindir}/kselftests/ptp"
FILES_${PN}-ptrace = "${bindir}/kselftests/ptrace"
FILES_${PN}-seccomp = "${bindir}/kselftests/seccomp"
FILES_${PN}-sigaltstack = "${bindir}/kselftests/sigaltstack"
FILES_${PN}-size = "${bindir}/kselftests/size"
FILES_${PN}-static-keys = "${bindir}/kselftests/static_keys"
FILES_${PN}-sync = "${bindir}/kselftests/sync"
FILES_${PN}-sysctl = "${bindir}/kselftests/sysctl"
FILES_${PN}-timers = "${bindir}/kselftests/timers"
FILES_${PN}-user = "${bindir}/kselftests/user"
FILES_${PN}-vm = "${bindir}/kselftests/vm"
FILES_${PN}-x86 = "${bindir}/kselftests/x86"
FILES_${PN}-zram = "${bindir}/kselftests/zram"
FILES_${PN}-dbg += "${bindir}/kselftests/*/.debug"
# FIXME bpf target is failing to build and need to be fixed:
# In file included from test_verifier.c:23:0:
# ../../../../usr/include/linux/bpf_perf_event.h:14:17: error: field 'regs' has incomplete type
# struct pt_regs regs;
# ^~~~
# make[1]: *** [test_verifier] Error 1
ALLOW_EMPTY_${PN}-bpf = "1"
# gcc 7.x fails to build seccomp
ALLOW_EMPTY_${PN}-seccomp = "1"
# FIXME net target builds most of the binaries, but reuseport_bpf_numa depends on libnuma,
# which is not availbale on ARM, failing entire test case
ALLOW_EMPTY_${PN}-net = "1"
RDEPENDS_${PN}-cpu-hotplug += "bash"
RDEPENDS_${PN}-efivarfs += "bash"
RDEPENDS_${PN}-futex += "bash ncurses"
RDEPENDS_${PN}-gpio += "bash"
RDEPENDS_${PN}-memory-hotplug += "bash"
RDEPENDS_${PN}-net += "bash"
RDEPENDS_${PN}-vm += "bash sudo"
RDEPENDS_${PN}-zram += "bash bc"
RDEPENDS_${PN} += "bash \
${PN}-bpf \
${PN}-capabilities \
${PN}-cpu-hotplug \
${PN}-efivarfs \
${PN}-exec \
${PN}-firmware \
${PN}-ftrace \
${PN}-futex \
${PN}-gpio \
${PN}-kcmp \
${PN}-lib \
${PN}-membarrier \
${PN}-memfd \
${PN}-memory-hotplug \
${PN}-mount \
${PN}-mqueue \
${PN}-net \
${PN}-nsfs \
${PN}-pstore \
${PN}-ptrace \
${PN}-seccomp \
${PN}-sigaltstack \
${PN}-size \
${PN}-static-keys \
${PN}-sync \
${PN}-sysctl \
${PN}-timers \
${PN}-user \
${PN}-vm \
${PN}-zram \
"
RDEPENDS_${PN}_append_aarch64 = " ${PN}-breakpoints ${PN}-ipc"
RDEPENDS_${PN}_append_x86 = " ${PN}-breakpoints ${PN}-ipc ${PN}-x86"
RDEPENDS_${PN}_append_x86-64 = " ${PN}-breakpoints ${PN}-ipc ${PN}-x86"
RDEPENDS_${PN}_append_powerpc = " ${PN}-powerpc"
RDEPENDS_${PN}_append_powerpc64 = " ${PN}-powerpc"
INSANE_SKIP_${PN} = "already-stripped"
INSANE_SKIP_${PN}-exec = "ldflags"
INSANE_SKIP_${PN}-ipc = "ldflags"
INSANE_SKIP_${PN}-mount = "ldflags"
INSANE_SKIP_${PN}-vm = "ldflags"