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

Khem Raj raj.khem at gmail.com
Fri Sep 6 01:10:03 UTC 2019


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/


>
> 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
>
>


More information about the Openembedded-devel mailing list