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 <[email protected]>
> ---
> 
> 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
> 
-- 
_______________________________________________
meta-ti mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/meta-ti

Reply via email to