[OE-core] [PATCH] kmod: ptest fixes

Saul Wold sgw at linux.intel.com
Mon Sep 30 17:39:39 UTC 2013


On 09/29/2013 02:31 PM, Tudor Florea wrote:
>   Make kmod-ptest able to compile with separated source and
>   build dir. Add exception to insane.bbclass allowing any
>   type of binaries in ptest packages. Since kmod test files
>   contain kernel modules for many different architectures,
>   strip gets confused and throws an error.
>
> Signed-off-by: Tudor Florea <tudor.florea at enea.com>
> Signed-off-by: Björn Stenberg <bjst at enea.com>
> Signed-off-by: Maxin B. John <maxin.john at enea.com>
> ---
>   meta/classes/insane.bbclass               |    4 ++++
>   meta/recipes-kernel/kmod/kmod/ptest.patch |    8 ++++----
>   meta/recipes-kernel/kmod/kmod/run-ptest   |    4 +---
>   meta/recipes-kernel/kmod/kmod_git.bb      |    5 +++--
>   4 files changed, 12 insertions(+), 9 deletions(-)
>
> diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
> index a784aff..898d2ca 100644
> --- a/meta/classes/insane.bbclass
> +++ b/meta/classes/insane.bbclass
> @@ -434,6 +434,10 @@ def package_qa_check_arch(path,name,d, elf, messages):
>       if os.path.islink(path):
>           return
>
> +    # ptest packages can contain any file types whatsoever
> +    if name.endswith("-ptest"):
> +        return
> +
I think that this is too board an approach, if kmod provides binaries 
for multiple architectures, then that particular package should be 
skipped using the INSANE_SKIP_kmod-ptest = "arch" setting in 
kmod_git.bb.  How many other ptest packages have this issue?

Sau!


>       #if this will throw an exception, then fix the dict above
>       (machine, osabi, abiversion, littleendian, bits) \
>           = package_qa_get_machine_dict()[target_os][target_arch]
> diff --git a/meta/recipes-kernel/kmod/kmod/ptest.patch b/meta/recipes-kernel/kmod/kmod/ptest.patch
> index c6479b2..831dbcb 100644
> --- a/meta/recipes-kernel/kmod/kmod/ptest.patch
> +++ b/meta/recipes-kernel/kmod/kmod/ptest.patch
> @@ -15,10 +15,10 @@ diff -ruN a/Makefile.am b/Makefile.am
>   +	@for file in $(TESTSUITE); do \
>   +		install $$file $(DESTDIR)/testsuite; \
>   +	done;
> -+	@cp Makefile $(DESTDIR)
> -+	@sed -i 's/^Makefile/_Makefile/'  ${DESTDIR}/Makefile
> -+	@tar -czf $(DESTDIR)/tools.tgz $(noinst_SCRIPTS) $(noinst_PROGRAMS)
> -+	@tar -C testsuite -czf $(DESTDIR)/testsuite.tgz rootfs-pristine .libs
> ++	@sed -e 's/^Makefile/_Makefile/' < Makefile > $(DESTDIR)/Makefile
> ++	@$(MKDIR_P) $(DESTDIR)/tools
> ++	@cp $(noinst_SCRIPTS) $(noinst_PROGRAMS) $(DESTDIR)/tools
> ++	@cp -r testsuite/rootfs testsuite/.libs $(DESTDIR)/testsuite
>   +
>    # ------------------------------------------------------------------------------
>    # custom release helpers
> diff --git a/meta/recipes-kernel/kmod/kmod/run-ptest b/meta/recipes-kernel/kmod/kmod/run-ptest
> index fac24fd..37adec3 100755
> --- a/meta/recipes-kernel/kmod/kmod/run-ptest
> +++ b/meta/recipes-kernel/kmod/kmod/run-ptest
> @@ -1,5 +1,3 @@
>   #!/bin/sh
> -tar -xzf tools.tgz
> -tar -C testsuite -xzf testsuite.tgz
> -make rootfs
> +touch testsuite/stamp-rootfs
>   make -k runtest-TESTS 2>/dev/null| grep -e ^PASS -e ^FAIL
> diff --git a/meta/recipes-kernel/kmod/kmod_git.bb b/meta/recipes-kernel/kmod/kmod_git.bb
> index b07c06e..0a8af7b 100644
> --- a/meta/recipes-kernel/kmod/kmod_git.bb
> +++ b/meta/recipes-kernel/kmod/kmod_git.bb
> @@ -41,10 +41,11 @@ do_compile_prepend() {
>   }
>
>   do_compile_ptest () {
> -        oe_runmake buildtest-TESTS
> -        oe_runmake rootfs
> +        oe_runmake buildtest-TESTS rootfs
>   }
>
> +INHIBIT_PACKAGE_STRIP = "${@base_contains("DISTRO_FEATURES", "ptest", "1", "0", d)}"
> +
>   inherit update-alternatives
>
>   ALTERNATIVE_PRIORITY = "60"
>



More information about the Openembedded-core mailing list