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

Kang Kai Kai.Kang at windriver.com
Thu Sep 5 01:51:29 UTC 2019


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.

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