All of lore.kernel.org
 help / color / mirror / Atom feed
From: Denys Dmytriyenko <denys@ti.com>
To: Fathi Boudra <fathi.boudra@linaro.org>
Cc: meta-ti@yoctoproject.org
Subject: Re: [PATCH v2] kselftests: update to 4.10
Date: Tue, 28 Mar 2017 18:51:42 -0400	[thread overview]
Message-ID: <20170328225142.GQ29187@edge> (raw)
In-Reply-To: <20170328092842.7327-1-fathi.boudra@linaro.org>

Fathi,

Did you forget to include the individual Makefile patches here?


On Tue, Mar 28, 2017 at 12:28:42PM +0300, Fathi Boudra wrote:
> * Adjust md5sum/sha256sum for the updated tarball
> * Add new dependencies:
>   - numactl, used by net tests (for libnuma)
>   - util-linux, used by gpio tests (for libmount)
> * Get rid of the TARGETS list, manually maintained. Rely on the top-level
>   Makefile to call all the TARGETS. As a result, TARGETS isn't passed to
>   EXTRA_OEMAKE anymore.
> * Update EXTRA-OEMAKE:
>   - pass V=1 to be more verbose in the logs
>   - pass LD to fix gpio tests and avoid to use native linker causing a
>     build failure in cross-compilation environment.
> * Call headers_install in do_compile() to make sure to install the user
>   space API used by some tests but not properly declared as a build
>   dependency.
> * Add new packages: bpf, gpio and sync tests.
> * Allow empty package for bpf. It fails to build and need to be fixed.
> * Add breakpoints package on Aarch64. An arch specific test has been
>   added, though it is currently broken due to missing TRAP_BRANCH and
>   TRAP_HWBKPT definitions in glibc siginfo.
> * Get rid of do_configure() and convert the Makefiles fixes to patches,
>   easier to upstream.
> * Add patches to fix gpio and net tests. Also add a partial patch for
>   breakpoints on Aarch64, not applied for now because we need the glibc
>   fixes counterpart (see explanation above).
> 
> Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
> ---
> 
> Changes in v2:
>  * Remove the workaround for broken gpio packaging and gpio-mockup-chardev
>    binary installation. Fixed in 0001-selftests-gpio-use-pkg-config.patch
>  * Reported by Denys Dmytriyenko, fix numctl DEPENDS as ARM doesn't support
>    NUMA (not in COMPATIBLE_HOST).
> 
>  .../{kselftests_4.9.bb => kselftests_4.10.bb}      | 90 +++++++++-------------
>  1 file changed, 37 insertions(+), 53 deletions(-)
>  rename recipes-kernel/kselftests/{kselftests_4.9.bb => kselftests_4.10.bb} (66%)
> 
> diff --git a/recipes-kernel/kselftests/kselftests_4.9.bb b/recipes-kernel/kselftests/kselftests_4.10.bb
> similarity index 66%
> rename from recipes-kernel/kselftests/kselftests_4.9.bb
> rename to recipes-kernel/kselftests/kselftests_4.10.bb
> index 9d3f1d73..4ff9e5b9 100644
> --- a/recipes-kernel/kselftests/kselftests_4.9.bb
> +++ b/recipes-kernel/kselftests/kselftests_4.10.bb
> @@ -2,70 +2,36 @@ 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"
> +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 \
> +"
>  
> -SRC_URI[md5sum] = "0a68ef3615c64bd5ee54a3320e46667d"
> -SRC_URI[sha256sum] = "029098dcffab74875e086ae970e3828456838da6e0ba22ce3f64ef764f3d7f1a"
> +SRC_URI[md5sum] = "b5e7f6b9b2fe1b6cc7bc56a3a0bfc090"
> +SRC_URI[sha256sum] = "3c95d9f049bd085e5c346d2c77f063b8425f191460fcd3ae9fe7e94e0477dc4b"
>  
>  S = "${WORKDIR}/linux-${PV}"
>  
>  PACKAGE_ARCH = "${MACHINE_ARCH}"
>  
> -DEPENDS = "libcap libcap-ng popt rsync-native"
> -
> -inherit kernel-arch
> -
> -# Filter out arch specific tests
> -TARGETS = " \
> -	${@bb.utils.contains_any("TARGET_ARCH", [ "x86", "x86-64" ], "breakpoints", "", d)} \
> -	capabilities \
> -	cpu-hotplug \
> -	efivarfs \
> -	exec \
> -	firmware \
> -	ftrace \
> -	futex \
> -	${@bb.utils.contains_any("TARGET_ARCH", [ "x86", "x86-64" ], "ipc", "", d)} \
> -	kcmp \
> -	lib \
> -	membarrier \
> -	memfd \
> -	memory-hotplug \
> -	mount \
> -	mqueue \
> -	net \
> -	nsfs \
> -	${@bb.utils.contains_any("TARGET_ARCH", [ "powerpc", "powerpc64" ], "powerpc", "", d)} \
> -	pstore \
> -	ptrace \
> -	seccomp \
> -	sigaltstack \
> -	size \
> -	static_keys \
> -	sysctl \
> -	timers \
> -	user \
> -	vm \
> -	${@bb.utils.contains_any("TARGET_ARCH", [ "x86", "x86-64" ], "x86", "", d)} \
> -	zram \
> +DEPENDS = "libcap libcap-ng popt rsync-native util-linux \
> +    ${@bb.utils.contains("TARGET_ARCH", "arm", "", "numactl", d)} \
>  "
>  
> -EXTRA_OEMAKE += "-C tools/testing/selftests TARGETS="${TARGETS}" INSTALL_PATH=${D}${bindir}/kselftests CC="${CC}""
> +inherit kernel-arch
>  
> -# Their Makefiles are so sloppy, let's clean up a bit
> -do_configure () {
> -	sed "s|^CC := .*||g" -i ${S}/tools/testing/selftests/lib.mk
> -	sed "s|^CC = .*||g" -i ${S}/tools/testing/selftests/timers/Makefile
> -	sed "s|^CC = .*||g" -i ${S}/tools/testing/selftests/memfd/Makefile
> -	sed "s|^CC := .*||g" -i ${S}/tools/testing/selftests/powerpc/switch_endian/Makefile
> -	sed "s|gcc|\$(CC)|g" -i ${S}/tools/testing/selftests/breakpoints/Makefile
> -	sed "s|TARGETS|F_TARGETS|g" -i ${S}/tools/testing/selftests/futex/functional/Makefile
> -	sed "s|^LDFLAGS += -lpthread|LDLIBS += -lpthread|g" -i ${S}/tools/testing/selftests/seccomp/Makefile
> -	sed "s|^LDFLAGS += -lrt -lpthread|LDLIBS += -lrt -lpthread|g" -i ${S}/tools/testing/selftests/timers/Makefile
> -	sed "s|BINARIES|TEST_PROGS|g" -i ${S}/tools/testing/selftests/sigaltstack/Makefile
> -}
> +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
>  }
>  
> @@ -77,6 +43,7 @@ do_install () {
>  }
>  
>  PACKAGE_BEFORE_PN = " \
> +	${PN}-bpf \
>  	${PN}-breakpoints \
>  	${PN}-capabilities \
>  	${PN}-cpu-hotplug \
> @@ -85,6 +52,7 @@ PACKAGE_BEFORE_PN = " \
>  	${PN}-firmware \
>  	${PN}-ftrace \
>  	${PN}-futex \
> +	${PN}-gpio \
>  	${PN}-ipc \
>  	${PN}-kcmp \
>  	${PN}-lib \
> @@ -102,6 +70,7 @@ PACKAGE_BEFORE_PN = " \
>  	${PN}-sigaltstack \
>  	${PN}-size \
>  	${PN}-static-keys \
> +	${PN}-sync \
>  	${PN}-sysctl \
>  	${PN}-timers \
>  	${PN}-user \
> @@ -110,6 +79,7 @@ PACKAGE_BEFORE_PN = " \
>  	${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"
> @@ -118,6 +88,7 @@ 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"
> @@ -135,6 +106,7 @@ 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"
> @@ -143,6 +115,14 @@ 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"
> +
>  RDEPENDS_${PN}-cpu-hotplug += "bash"
>  RDEPENDS_${PN}-efivarfs += "bash"
>  RDEPENDS_${PN}-futex += "bash ncurses"
> @@ -151,6 +131,7 @@ RDEPENDS_${PN}-net += "bash"
>  RDEPENDS_${PN}-vm += "bash"
>  RDEPENDS_${PN}-zram += "bash"
>  RDEPENDS_${PN} += "bash \
> +	${PN}-bpf \
>  	${PN}-capabilities \
>  	${PN}-cpu-hotplug \
>  	${PN}-efivarfs \
> @@ -158,6 +139,7 @@ RDEPENDS_${PN} += "bash \
>  	${PN}-firmware \
>  	${PN}-ftrace \
>  	${PN}-futex \
> +	${PN}-gpio \
>  	${PN}-kcmp \
>  	${PN}-lib \
>  	${PN}-membarrier \
> @@ -173,6 +155,7 @@ RDEPENDS_${PN} += "bash \
>  	${PN}-sigaltstack \
>  	${PN}-size \
>  	${PN}-static-keys \
> +	${PN}-sync \
>  	${PN}-sysctl \
>  	${PN}-timers \
>  	${PN}-user \
> @@ -180,6 +163,7 @@ RDEPENDS_${PN} += "bash \
>  	${PN}-zram \
>  "
>  
> +RDEPENDS_${PN}_append_aarch64 = " ${PN}-breakpoints"
>  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"
> -- 
> 2.11.0
> 


  reply	other threads:[~2017-03-28 22:52 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-28  9:28 [PATCH v2] kselftests: update to 4.10 Fathi Boudra
2017-03-28 22:51 ` Denys Dmytriyenko [this message]
2017-03-29  6:08   ` Fathi Boudra

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170328225142.GQ29187@edge \
    --to=denys@ti.com \
    --cc=fathi.boudra@linaro.org \
    --cc=meta-ti@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.