[oe] [meta-oe][Patch] libwacom: add recipe

Kang Kai Kai.Kang at windriver.com
Thu Sep 12 03:16:58 UTC 2019


On 2019/9/6 上午9:10, Khem Raj wrote:
> On 9/4/19 6:51 PM, Kang Kai wrote:
>> On 2019/8/29 下午4:29, kai.kang at windriver.com wrote:
>>> From: Kai Kang <kai.kang at windriver.com>
>>>
>>> Package libinput has a package config 'libwacom'. When it is set,
>>> package libwacom is required. So add the recipe of libwacom.
>>>
>>> Add a patch to generate udev rules file on target that it is not
>>> suitable for cross compile.
>
> fails to build
>
> https://errors.yoctoproject.org/Errors/Details/268566/
>
> https://errors.yoctoproject.org/Errors/Details/268387/

HI Khem,

I still can't reproduce the failures. And I can't find the config of the 
failed builds. Would you like to tell me where can I find the build 
config? Thanks.

Regards,
Kai


>
>
>> Ping.
>>
>>
>>> Signed-off-by: Kai Kang <kai.kang at windriver.com>
>>> ---
>>>    .../generate-udev-rules-on-target.patch       | 59 +++++++++++++++++++
>>>    .../recipes-extended/libwacom/libwacom_1.0.bb | 17 ++++++
>>>    2 files changed, 76 insertions(+)
>>>    create mode 100644
>>> meta-oe/recipes-extended/libwacom/libwacom/generate-udev-rules-on-target.patch
>>>    create mode 100644 meta-oe/recipes-extended/libwacom/libwacom_1.0.bb
>>>
>>> diff --git
>>> a/meta-oe/recipes-extended/libwacom/libwacom/generate-udev-rules-on-target.patch
>>> b/meta-oe/recipes-extended/libwacom/libwacom/generate-udev-rules-on-target.patch
>>>
>>> new file mode 100644
>>> index 000000000..27e037c98
>>> --- /dev/null
>>> +++
>>> b/meta-oe/recipes-extended/libwacom/libwacom/generate-udev-rules-on-target.patch
>>> @@ -0,0 +1,59 @@
>>> +libwacom create a native executable file to generate udev rules
>>> file. But it is
>>> +not suitable for cross compile. And it is complicate to create
>>> libwacom-native
>>> +that libgudev-native and udev-native are required.
>>> +
>>> +So do not generate udev rules file during compilation. Install the
>>> executable
>>> +file to generate udev rules on target. It should put the generated
>>> rules file
>>> +at /lib/udev/rules.d/65-libwacom.rules.
>>> +
>>> +Upstream-Status: Inappropriate [cross-compile specific]
>>> +
>>> +Signed-off-by: Kai Kang <kai.kang at windriver.com>
>>> +---
>>> +diff --git a/meson.build b/meson.build
>>> +index 6584c86..4009f5f 100644
>>> +--- a/meson.build
>>> ++++ b/meson.build
>>> +@@ -407,20 +407,20 @@ executable('libwacom-list-local-devices',
>>> +        include_directories: [includes_src],
>>> +        install: true)
>>> +
>>> +-tools_cflags = ['-DTOPSRCDIR="@0@"'.format(meson.source_root())]
>>> ++tools_cflags = ['-DTOPSRCDIR="@0@"'.format(meson.source_root()),
>>> '-DLIBWACOM_DATA_DIR="@0@"'.format(dir_data)]
>>> +
>>> +-gen_udev_rules = executable('generate-udev-rules',
>>> ++gen_udev_rules = executable('libwacom-generate-udev-rules',
>>> +                 'tools/generate-udev-rules.c',
>>> +                 dependencies: [dep_libwacom, dep_glib],
>>> +                 include_directories: [includes_src],
>>> +                 c_args: tools_cflags,
>>> +-                install: false)
>>> +-custom_target('udev-rules',
>>> +-          command: gen_udev_rules,
>>> +-          capture: true,
>>> +-          output: '65-libwacom.rules',
>>> +-          install: true,
>>> +-          install_dir: join_paths(dir_udev, 'rules.d'))
>>> ++                install: true)
>>> ++#custom_target('udev-rules',
>>> ++#          command: gen_udev_rules,
>>> ++#          capture: true,
>>> ++#          output: '65-libwacom.rules',
>>> ++#          install: true,
>>> ++#          install_dir: join_paths(dir_udev, 'rules.d'))
>>> +
>>> + executable('list-devices',
>>> +        'tools/list-devices.c',
>>> +diff --git a/tools/generate-udev-rules.c b/tools/generate-udev-rules.c
>>> +index bb00e7b..fbf49f0 100644
>>> +--- a/tools/generate-udev-rules.c
>>> ++++ b/tools/generate-udev-rules.c
>>> +@@ -229,7 +229,7 @@ int main(int argc, char **argv)
>>> +     }
>>> +
>>> +
>>> +-    db = libwacom_database_new_for_path(TOPSRCDIR"/data");
>>> ++    db = libwacom_database_new_for_path(LIBWACOM_DATA_DIR);
>>> +
>>> +     list = libwacom_list_devices_from_database(db, NULL);
>>> +     if (!list) {
>>> diff --git a/meta-oe/recipes-extended/libwacom/libwacom_1.0.bb
>>> b/meta-oe/recipes-extended/libwacom/libwacom_1.0.bb
>>> new file mode 100644
>>> index 000000000..0787ad246
>>> --- /dev/null
>>> +++ b/meta-oe/recipes-extended/libwacom/libwacom_1.0.bb
>>> @@ -0,0 +1,17 @@
>>> +DESCRIPTION = "libwacom is a library to identify wacom tablets and
>>> their model-specific features."
>>> +HOMEPAGE = "https://github.com/linuxwacom/libwacom/wiki"
>>> +SECTION = "libs"
>>> +
>>> +LICENSE = "MIT"
>>> +LIC_FILES_CHKSUM =
>>> "file://COPYING;md5=40a21fffb367c82f39fd91a3b137c36e"
>>> +
>>> +DEPENDS = "libgudev libxml2"
>>> +
>>> +SRC_URI = "git://github.com/linuxwacom/libwacom.git;protocol=https \
>>> +           file://generate-udev-rules-on-target.patch \
>>> +           "
>>> +SRCREV = "ae6c9cf78802844349986ac2a708d87e891a3e6e"
>>> +
>>> +S = "${WORKDIR}/git"
>>> +
>>> +inherit meson pkgconfig
>>

-- 
Kai Kang



More information about the Openembedded-devel mailing list