diff options
| author | Mingde (Matthew) Zeng <matthew.zeng@windriver.com> | 2020-01-22 15:20:03 -0500 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-01-27 16:48:08 +0000 |
| commit | 1e709614b5d2d0b27b981dc622cb949ef43b241f (patch) | |
| tree | b840b9aaa508714c268a0a0469f3da2864c482aa | |
| parent | a708aa347dbd36a7090d4ab14cf000ae8289f11e (diff) | |
| download | poky-1e709614b5d2d0b27b981dc622cb949ef43b241f.tar.gz | |
kbd: make libkbdfile-test08 ptest work for multilib
This patch fixes kbd ptest libkbdfile-test08 failure in 64-bit images.
```sh
root@intel-x86-64:/usr/lib64/kbd/ptest# ./run-ptest
make: Entering directory '/usr/lib64/kbd/ptest/tests'
make[1]: Entering directory '/usr/lib64/kbd/ptest/tests'
PASS: libkbdfile-test01
PASS: libkbdfile-test02
PASS: libkbdfile-test03
PASS: libkbdfile-test04
PASS: libkbdfile-test05
PASS: libkbdfile-test06
PASS: libkbdfile-test07
FAIL: libkbdfile-test08
PASS: libkbdfile-test09
...
```
`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/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.
(From OE-Core rev: bdcda2c4ff3c96f686b8bd30cd17361ff3722a0f)
Signed-off-by: Matthew Zeng<Matthew.Zeng@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | meta/recipes-core/kbd/kbd/0001-Use-DATADIR-and-append-i386-to-fix-libkbdfile-test08.patch | 45 | ||||
| -rw-r--r-- | meta/recipes-core/kbd/kbd_2.2.0.bb | 1 |
2 files changed, 46 insertions, 0 deletions
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..dc5236063b --- /dev/null +++ b/meta/recipes-core/kbd/kbd/0001-Use-DATADIR-and-append-i386-to-fix-libkbdfile-test08.patch | |||
| @@ -0,0 +1,45 @@ | |||
| 1 | From 4c12f76f4177cfd560cf708a16774ebfadbd41a5 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: "Mingde (Matthew) Zeng" <matthew.zeng@windriver.com> | ||
| 3 | Date: Wed, 22 Jan 2020 11:02:17 -0500 | ||
| 4 | Subject: [PATCH] Use DATADIR and append i386 to fix libkbdfile-test08 ptest | ||
| 5 | failure | ||
| 6 | |||
| 7 | Replace ABS_DATADIR with DATADIR and append i386 to dirpath. | ||
| 8 | |||
| 9 | Upstream-Status: Inappropriate [OE specific] | ||
| 10 | |||
| 11 | This OE specific patch applies to kbd v2.2.0 for now, the upstream | ||
| 12 | made drastic changes since v2.2.0, in fact they got rid of ABS_DATADIR | ||
| 13 | in commit 5b6df5c along with a series of other commits which may or | ||
| 14 | may not fix this issue. We will find out in future releases. | ||
| 15 | |||
| 16 | Signed-off-by: Matthew Zeng<Matthew.Zeng@windriver.com> | ||
| 17 | --- | ||
| 18 | tests/libkbdfile-test08.c | 6 +++--- | ||
| 19 | 1 file changed, 3 insertions(+), 3 deletions(-) | ||
| 20 | |||
| 21 | diff --git a/tests/libkbdfile-test08.c b/tests/libkbdfile-test08.c | ||
| 22 | index bf41707..5e287f1 100644 | ||
| 23 | --- a/tests/libkbdfile-test08.c | ||
| 24 | +++ b/tests/libkbdfile-test08.c | ||
| 25 | @@ -14,14 +14,14 @@ main(int __attribute__((unused)) argc, char **argv) | ||
| 26 | if (!fp) | ||
| 27 | kbd_error(EXIT_FAILURE, 0, "unable to create kbdfile"); | ||
| 28 | |||
| 29 | - const char *const dirpath[] = { "", DATADIR "/findfile/test_0/keymaps/**", 0 }; | ||
| 30 | + const char *const dirpath[] = { "", DATADIR "/findfile/test_0/keymaps/i386/**", 0 }; | ||
| 31 | const char *const suffixes[] = { "", ".map", ".kmap", 0 }; | ||
| 32 | |||
| 33 | - const char *expect = ABS_DATADIR "/findfile/test_0/keymaps/i386/qwerty/test0.map"; | ||
| 34 | + const char *expect = DATADIR "/findfile/test_0/keymaps/i386/qwerty/test0.map"; | ||
| 35 | |||
| 36 | int rc = 0; | ||
| 37 | |||
| 38 | - rc = kbdfile_find((char *)(ABS_DATADIR "/findfile/test_0/keymaps/i386/qwerty/test0"), (char **) dirpath, (char **) suffixes, fp); | ||
| 39 | + rc = kbdfile_find((char *)"test0", (char **) dirpath, (char **) suffixes, fp); | ||
| 40 | |||
| 41 | if (rc != 0) | ||
| 42 | kbd_error(EXIT_FAILURE, 0, "unable to find file"); | ||
| 43 | -- | ||
| 44 | 2.24.1 | ||
| 45 | |||
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 \ | |||
| 16 | file://run-ptest \ | 16 | file://run-ptest \ |
| 17 | ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'file://set-proper-path-of-resources.patch', '', d)} \ | 17 | ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'file://set-proper-path-of-resources.patch', '', d)} \ |
| 18 | file://0001-analyze.l-add-missing-string-format.patch \ | 18 | file://0001-analyze.l-add-missing-string-format.patch \ |
| 19 | file://0001-Use-DATADIR-and-append-i386-to-fix-libkbdfile-test08.patch \ | ||
| 19 | " | 20 | " |
| 20 | 21 | ||
| 21 | SRC_URI[md5sum] = "d1d7ae0b5fb875dc082731e09cd0c8bc" | 22 | SRC_URI[md5sum] = "d1d7ae0b5fb875dc082731e09cd0c8bc" |
