`DATADIR` and `ABS_DATADIR` are compile flags defined in ./kbd/tests/Makefile.am. `DATADIR` is the relative directory of kbd, i.e `./kbd/ptest/tests` whereas `ABS_DATADIR` is the full directory path, i.e `/usr/lib/kbd/ptest/tests`. The latter has a problem when building ptests for a 64-bit image, because the tests folder is located at `/usr/lib64/kbd/ptest/tests` instead.
Therefore `ABS_DATADIR` is changed to `DATADIR`, also consistent with what *every other* kbd test is doing. The test searches DATADIR recursively for a file named `test0.map`, but it finds the wrong file at `/findfile/test_0/keymaps/i386/qwerty/test0.map`, while it actually needs `/findfile/test_0/keymaps/i386/qwerty/test0.map`. Thus appending `/i386` to `dirpath` so that `libkbdfile-test08.c` finds the right test file. Signed-off-by: Matthew Zeng<matthew.z...@windriver.com> --- ...append-i386-to-fix-libkbdfile-test08.patch | 44 +++++++++++++++++++ meta/recipes-core/kbd/kbd_2.2.0.bb | 1 + 2 files changed, 45 insertions(+) create mode 100644 meta/recipes-core/kbd/kbd/0001-Use-DATADIR-and-append-i386-to-fix-libkbdfile-test08.patch diff --git a/meta/recipes-core/kbd/kbd/0001-Use-DATADIR-and-append-i386-to-fix-libkbdfile-test08.patch b/meta/recipes-core/kbd/kbd/0001-Use-DATADIR-and-append-i386-to-fix-libkbdfile-test08.patch new file mode 100644 index 0000000000..ec40764c1d --- /dev/null +++ b/meta/recipes-core/kbd/kbd/0001-Use-DATADIR-and-append-i386-to-fix-libkbdfile-test08.patch @@ -0,0 +1,44 @@ +From 92c0fb720cf7b9966494e5eaa1f7a4ea8e0a34d2 Mon Sep 17 00:00:00 2001 +From: "Mingde (Matthew) Zeng" <matthew.z...@windriver.com> +Date: Wed, 22 Jan 2020 11:02:17 -0500 +Subject: [PATCH] Use DATADIR and append i386 to fix libkbdfile-test08 ptest + failure + +Replace ABS_DATADIR with DATADIR and append i386 to dirpath. + +Upstream-Status: Inappropriate [OE specific] + +This OE specific patch applies to kbd v2.2.0 for now, the upstream + made drastic changes since v2.2.0 which may or may not fix this + issue, we will find out in future releases. + +Signed-off-by: Matthew Zeng<matthew.z...@windriver.com> +--- + tests/libkbdfile-test08.c | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +diff --git a/tests/libkbdfile-test08.c b/tests/libkbdfile-test08.c +index bf41707..993fedc 100644 +--- a/tests/libkbdfile-test08.c ++++ b/tests/libkbdfile-test08.c +@@ -14,14 +14,12 @@ main(int __attribute__((unused)) argc, char **argv) + if (!fp) + kbd_error(EXIT_FAILURE, 0, "unable to create kbdfile"); + +- const char *const dirpath[] = { "", DATADIR "/findfile/test_0/keymaps/**", 0 }; ++ const char *const dirpath[] = { "", DATADIR "/findfile/test_0/keymaps/i386/**", 0 }; + const char *const suffixes[] = { "", ".map", ".kmap", 0 }; + +- const char *expect = ABS_DATADIR "/findfile/test_0/keymaps/i386/qwerty/test0.map"; ++ const char *expect = DATADIR "/findfile/test_0/keymaps/i386/qwerty/test0.map"; + +- int rc = 0; +- +- rc = kbdfile_find((char *)(ABS_DATADIR "/findfile/test_0/keymaps/i386/qwerty/test0"), (char **) dirpath, (char **) suffixes, fp); ++ int rc = kbdfile_find((char *)"test0", (char **) dirpath, (char **) suffixes, fp); + + if (rc != 0) + kbd_error(EXIT_FAILURE, 0, "unable to find file"); +-- +2.24.1 + diff --git a/meta/recipes-core/kbd/kbd_2.2.0.bb b/meta/recipes-core/kbd/kbd_2.2.0.bb index df9b0bb90b..e13cea7634 100644 --- a/meta/recipes-core/kbd/kbd_2.2.0.bb +++ b/meta/recipes-core/kbd/kbd_2.2.0.bb @@ -16,6 +16,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/${BP}.tar.xz \ file://run-ptest \ ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'file://set-proper-path-of-resources.patch', '', d)} \ file://0001-analyze.l-add-missing-string-format.patch \ + file://0001-Use-DATADIR-and-append-i386-to-fix-libkbdfile-test08.patch \ " SRC_URI[md5sum] = "d1d7ae0b5fb875dc082731e09cd0c8bc" -- 2.24.0 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core