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

Kang Kai Kai.Kang at windriver.com
Thu Sep 12 03:20:25 UTC 2019


On 2019/9/12 上午11:21, Khem Raj wrote:
>
>
> On Wed, Sep 11, 2019 at 8:18 PM Kang Kai <Kai.Kang at windriver.com 
> <mailto:Kai.Kang at windriver.com>> wrote:
>
>     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
>     <mailto:kai.kang at windriver.com> wrote:
>     >>> From: Kai Kang <kai.kang at windriver.com
>     <mailto: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.
>
>
> This is using gold linker I think that’s what you might be missing

Thanks. I'll try it.


>
>     Regards,
>     Kai
>
>
>     >
>     >
>     >> Ping.
>     >>
>     >>
>     >>> Signed-off-by: Kai Kang <kai.kang at windriver.com
>     <mailto:kai.kang at windriver.com>>
>     >>> ---
>     >>> .../generate-udev-rules-on-target.patch       | 59
>     +++++++++++++++++++
>     >>>    .../recipes-extended/libwacom/libwacom_1.0.bb
>     <http://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
>     <http://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
>     <mailto: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
>     <http://libwacom_1.0.bb>
>     >>> b/meta-oe/recipes-extended/libwacom/libwacom_1.0.bb
>     <http://libwacom_1.0.bb>
>     >>> new file mode 100644
>     >>> index 000000000..0787ad246
>     >>> --- /dev/null
>     >>> +++ b/meta-oe/recipes-extended/libwacom/libwacom_1.0.bb
>     <http://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
>     <http://github.com/linuxwacom/libwacom.git;protocol=https> \
>     >>> + file://generate-udev-rules-on-target.patch \
>     >>> +           "
>     >>> +SRCREV = "ae6c9cf78802844349986ac2a708d87e891a3e6e"
>     >>> +
>     >>> +S = "${WORKDIR}/git"
>     >>> +
>     >>> +inherit meson pkgconfig
>     >>
>
>     -- 
>     Kai Kang
>

-- 
Kai Kang



More information about the Openembedded-devel mailing list