update wayland-ivi-extension to 1.11.0 55/8755/13
authorRonan Le Martret <ronan.lemartret@iot.bzh>
Wed, 1 Mar 2017 14:07:32 +0000 (15:07 +0100)
committerronan Le Martret <ronan@iot.bzh>
Sun, 19 Mar 2017 19:55:33 +0000 (19:55 +0000)
 * remove patch already present in wayland-ivi-extension upstream
 * remove unused recipes wayland-ivi-extension 1.5.0
 * wayland-ivi-extension_1.11.0.bb is a port of the recipes
   wayland-ivi-extension_1.10.90.bb from layer meta-ivi.
 * the wayland-ivi-extension_%.bbappend is the AGL part of the
   wayland-ivi-extension.

 patch -> commit id from upstream
 0001-ivi-input-support-touch-and-pointer-on-subsurface.patch 183810b051a7a194bb260ff7db6c8a59ef44d18d

Bug-AGL: SPEC-411

Change-Id: I0f27d00803cb5c06b9f2621918118c985a8dd9d6
Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension/0001-Fix-ivi-application-lib-install.patch [new file with mode: 0644]
meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension/0001-Send-process-ID-that-created-surface-to-client.patch [deleted file]
meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension/0001-ivi-input-support-touch-and-pointer-on-subsurface.patch [deleted file]
meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension_1.11.0.bb [moved from meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension_1.5.0.bb with 51% similarity]
meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension_1.11.0.bbappend [new file with mode: 0755]
meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension_1.5.0.bbappend [deleted file]
meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension_1.9.1.bb [deleted file]
meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension_1.9.1.bbappend [deleted file]

diff --git a/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension/0001-Fix-ivi-application-lib-install.patch b/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension/0001-Fix-ivi-application-lib-install.patch
new file mode 100644 (file)
index 0000000..4140ce5
--- /dev/null
@@ -0,0 +1,30 @@
+From 1e13c6d494a8b542c2a7f8251afc7aec401e3ad8 Mon Sep 17 00:00:00 2001
+From: Ronan Le Martret <ronan.lemartret@iot.bzh>
+Date: Tue, 7 Feb 2017 17:13:47 +0100
+Subject: [PATCH] Fix ivi-application lib install
+
+ * libivi-application.so must be a link to
+    libivi-application.so.X.X.XX
+ * fix yocto package QA
+
+Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
+---
+ protocol/CMakeLists.txt | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/protocol/CMakeLists.txt b/protocol/CMakeLists.txt
+index 613a1a6..09d5126 100644
+--- a/protocol/CMakeLists.txt
++++ b/protocol/CMakeLists.txt
+@@ -170,6 +170,8 @@ install(
+     DESTINATION include/ilm
+ )
++SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${ILM_API_VERSION} SOVERSION ${ILM_API_VERSION})
++
+ #=============================================================================================
+ # generate documentation for ivi-application API
+ #=============================================================================================
+-- 
+2.6.6
+
diff --git a/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension/0001-Send-process-ID-that-created-surface-to-client.patch b/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension/0001-Send-process-ID-that-created-surface-to-client.patch
deleted file mode 100644 (file)
index 5c29d90..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-From f4adf64d979944aa80f1ba5dba4ed991b6620162 Mon Sep 17 00:00:00 2001
-From: Wataru Natsume <wnatsume@jp.adit-jv.com>
-Date: Tue, 23 Feb 2016 11:14:53 +0900
-Subject: [PATCH] ivi-controller: Send process ID that created surface to
- client.
-
-createPid should be a pid of process that creates surface.
-
-Signed-off-by: Wataru Natsume <wnatsume@jp.adit-jv.com>
----
- weston-ivi-shell/src/ivi-controller-impl.c | 13 ++++++++++++-
- 1 file changed, 12 insertions(+), 1 deletion(-)
-
-diff --git a/weston-ivi-shell/src/ivi-controller-impl.c b/weston-ivi-shell/src/ivi-controller-impl.c
-index f4e29ce..57bf5cc 100644
---- a/weston-ivi-shell/src/ivi-controller-impl.c
-+++ b/weston-ivi-shell/src/ivi-controller-impl.c
-@@ -603,10 +603,21 @@ controller_surface_send_stats(struct wl_client *client,
-                               struct wl_resource *resource)
- {
-     struct ivisurface *ivisurf = wl_resource_get_user_data(resource);
-+    struct weston_surface *surface;
-+    struct wl_client* target_client;
-     pid_t pid;
-     uid_t uid;
-     gid_t gid;
--    wl_client_get_credentials(client, &pid, &uid, &gid);
-+
-+    /* Get pid that created surface */
-+    surface = ivi_extension_surface_get_weston_surface(ivisurf->shell,
-+                                                       ivisurf->layout_surface);
-+    if (!surface)
-+        return;
-+
-+    target_client = wl_resource_get_client(surface->resource);
-+
-+    wl_client_get_credentials(target_client, &pid, &uid, &gid);
-     ivi_controller_surface_send_stats(resource, 0, 0,
-                                       ivisurf->update_count, pid, "");
--- 
-1.8.3.1
-
diff --git a/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension/0001-ivi-input-support-touch-and-pointer-on-subsurface.patch b/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension/0001-ivi-input-support-touch-and-pointer-on-subsurface.patch
deleted file mode 100755 (executable)
index e1adf74..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-From e1823ef6721dec9db2343c7f92703d03a435e2bf Mon Sep 17 00:00:00 2001
-From: Ryo Kagaya <rkagaya@jp.adit-jv.com>
-Date: Fri, 4 Nov 2016 18:30:06 +0900
-Subject: [PATCH] ivi-input: support touch and pointer on subsurface
-
-When sends event to client, find a focused surface from subsurface list.
-
-support following events
- -touch_down
- -touch_up
- -touch_motion
- -pointer_button
----
- .../src/ivi-input-controller.c                     | 78 ++++++++++++++++++----
- 1 file changed, 64 insertions(+), 14 deletions(-)
-
-diff --git a/ivi-input-modules/ivi-input-controller/src/ivi-input-controller.c b/ivi-input-modules/ivi-input-controller/src/ivi-input-controller.c
-index 9ed85d2..b1f9d6d 100644
---- a/ivi-input-modules/ivi-input-controller/src/ivi-input-controller.c
-+++ b/ivi-input-modules/ivi-input-controller/src/ivi-input-controller.c
-@@ -372,7 +372,8 @@ pointer_grab_button(struct weston_pointer_grab *grab, uint32_t time,
-     struct surface_ctx *surf_ctx;
-     wl_fixed_t sx, sy;
-     struct weston_view *picked_view, *w_view, *old_focus;
--    struct weston_surface *w_surf;
-+    struct weston_surface *w_surf, *send_surf;
-+    struct weston_subsurface *sub;
-     struct wl_resource *resource;
-     struct wl_client *surface_client;
-     uint32_t serial;
-@@ -391,12 +392,24 @@ pointer_grab_button(struct weston_pointer_grab *grab, uint32_t time,
-         /* search for the picked view in layout surfaces */
-         wl_list_for_each(surf_ctx, &seat->input_ctx->surface_list, link) {
-             w_surf = interface->surface_get_weston_surface(surf_ctx->layout_surface);
--            w_view = wl_container_of(w_surf->views.next, w_view, surface_link);
-+
-+            /* Find a focused surface from subsurface list */
-+            send_surf = w_surf;
-+            if (!wl_list_empty(&w_surf->subsurface_list)) {
-+                wl_list_for_each(sub, &w_surf->subsurface_list, parent_link) {
-+                    if (sub->surface == picked_view->surface) {
-+                        send_surf = sub->surface;
-+                        break;
-+                    }
-+                }
-+            }
-+
-+            w_view = wl_container_of(send_surf->views.next, w_view, surface_link);
-             if (get_accepted_seat(surf_ctx, grab->pointer->seat->seat_name) < 0)
-                 continue;
--            if (picked_view->surface == w_surf) {
-+            if (picked_view->surface == send_surf) {
-                 /* Correct layout surface is found*/
-                 surf_ctx->focus |= ILM_INPUT_DEVICE_POINTER;
-                 send_input_focus(seat->input_ctx,
-@@ -458,7 +471,8 @@ touch_grab_down(struct weston_touch_grab *grab, uint32_t time, int touch_id,
-     /* For each surface_ctx, check for focus and send */
-     wl_list_for_each(surf_ctx, &seat->input_ctx->surface_list, link) {
--        struct weston_surface *surf;
-+        struct weston_surface *surf, *send_surf;
-+        struct weston_subsurface *sub;
-         struct weston_view *view;
-         struct wl_resource *resource;
-         struct wl_client *surface_client;
-@@ -469,9 +483,20 @@ touch_grab_down(struct weston_touch_grab *grab, uint32_t time, int touch_id,
-         if (get_accepted_seat(surf_ctx, grab->touch->seat->seat_name) < 0)
-             continue;
-+        /* Find a focused surface from subsurface list */
-+        send_surf = surf;
-+        if (!wl_list_empty(&surf->subsurface_list)) {
-+            wl_list_for_each(sub, &surf->subsurface_list, parent_link) {
-+                if (sub->surface == grab->touch->focus->surface) {
-+                    send_surf = sub->surface;
-+                    break;
-+                }
-+            }
-+        }
-+
-         /* Touches set touch focus */
-         if (grab->touch->num_tp == 1) {
--            if (surf == grab->touch->focus->surface) {
-+            if (send_surf == grab->touch->focus->surface) {
-                 surf_ctx->focus |= ILM_INPUT_DEVICE_TOUCH;
-                 send_input_focus(seat->input_ctx,
-                                  interface->get_id_of_surface(surf_ctx->layout_surface),
-@@ -490,23 +515,23 @@ touch_grab_down(struct weston_touch_grab *grab, uint32_t time, int touch_id,
-             continue;
-         /* Assume one view per surface */
--        view = wl_container_of(surf->views.next, view, surface_link);
-+        view = wl_container_of(send_surf->views.next, view, surface_link);
-         weston_view_from_global_fixed(view, x, y, &sx, &sy);
--        surface_client = wl_resource_get_client(surf->resource);
-+        surface_client = wl_resource_get_client(send_surf->resource);
-         serial = wl_display_next_serial(display);
-         wl_resource_for_each(resource, &grab->touch->resource_list) {
-             if (wl_resource_get_client(resource) != surface_client)
-                 continue;
--            wl_touch_send_down(resource, serial, time, surf->resource,
-+            wl_touch_send_down(resource, serial, time, send_surf->resource,
-                                touch_id, sx, sy);
-         }
-         wl_resource_for_each(resource, &grab->touch->focus_resource_list) {
-             if (wl_resource_get_client(resource) != surface_client)
-                 continue;
--            wl_touch_send_down(resource, serial, time, surf->resource,
-+            wl_touch_send_down(resource, serial, time, send_surf->resource,
-                                touch_id, sx, sy);
-         }
-     }
-@@ -525,7 +550,8 @@ touch_grab_up(struct weston_touch_grab *grab, uint32_t time, int touch_id)
-     /* For each surface_ctx, check for focus and send */
-     wl_list_for_each(surf_ctx, &seat->input_ctx->surface_list, link) {
--        struct weston_surface *surf;
-+        struct weston_surface *surf, *send_surf;
-+        struct weston_subsurface *sub;
-         struct wl_resource *resource;
-         struct wl_client *surface_client;
-         uint32_t serial;
-@@ -537,8 +563,20 @@ touch_grab_up(struct weston_touch_grab *grab, uint32_t time, int touch_id)
-             continue;
-         surf = interface->surface_get_weston_surface(surf_ctx->layout_surface);
--        surface_client = wl_resource_get_client(surf->resource);
-         serial = wl_display_next_serial(display);
-+
-+        /* Find a focused surface from subsurface list */
-+        send_surf = surf;
-+        if (!wl_list_empty(&surf->subsurface_list)) {
-+            wl_list_for_each(sub, &surf->subsurface_list, parent_link) {
-+                if (sub->surface == grab->touch->focus->surface) {
-+                    send_surf = sub->surface;
-+                    break;
-+                }
-+            }
-+        }
-+        surface_client = wl_resource_get_client(send_surf->resource);
-+
-         wl_resource_for_each(resource, &grab->touch->resource_list) {
-             if (wl_resource_get_client(resource) != surface_client)
-                 continue;
-@@ -555,7 +593,7 @@ touch_grab_up(struct weston_touch_grab *grab, uint32_t time, int touch_id)
-         /* Touches unset touch focus */
-         if (grab->touch->num_tp == 0) {
--            if (surf == grab->touch->focus->surface)
-+            if (send_surf == grab->touch->focus->surface)
-                 surf_ctx->focus &= ~ILM_INPUT_DEVICE_TOUCH;
-                 send_input_focus(seat->input_ctx,
-                                  interface->get_id_of_surface(surf_ctx->layout_surface),
-@@ -576,7 +614,8 @@ touch_grab_motion(struct weston_touch_grab *grab, uint32_t time, int touch_id,
-     /* For each surface_ctx, check for focus and send */
-     wl_list_for_each(surf_ctx, &seat->input_ctx->surface_list, link) {
--        struct weston_surface *surf;
-+        struct weston_surface *surf, *send_surf;
-+        struct weston_subsurface *sub;
-         struct weston_view *view;
-         struct wl_resource *resource;
-         struct wl_client *surface_client;
-@@ -592,7 +631,18 @@ touch_grab_motion(struct weston_touch_grab *grab, uint32_t time, int touch_id,
-         view = wl_container_of(surf->views.next, view, surface_link);
-         weston_view_from_global_fixed(view, x, y, &sx, &sy);
--        surface_client = wl_resource_get_client(surf->resource);
-+        /* Find a focused surface from subsurface list */
-+        send_surf = surf;
-+        if (!wl_list_empty(&surf->subsurface_list)) {
-+            wl_list_for_each(sub, &surf->subsurface_list, parent_link) {
-+                if (sub->surface == grab->touch->focus->surface) {
-+                    send_surf = sub->surface;
-+                    break;
-+                }
-+            }
-+        }
-+        surface_client = wl_resource_get_client(send_surf->resource);
-+
-         wl_resource_for_each(resource, &grab->touch->resource_list) {
-             if (wl_resource_get_client(resource) != surface_client)
-                 continue;
--- 
-1.9.1
-
@@ -3,19 +3,20 @@ DESCRIPTION = "GENIVI Layer Management API based on Wayland IVI Extension"
 HOMEPAGE = "http://projects.genivi.org/wayland-ivi-extension"
 BUGTRACKER = "http://bugs.genivi.org/enter_bug.cgi?product=Wayland%20IVI%20Extension"
 LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=176cedb32f48dd58f07e0c1c717b3ea4"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1f1a56bb2dadf5f2be8eb342acf4ed79"
 
-DEPENDS = "weston"
-
-SRC_URI = "git://git.projects.genivi.org/${PN}.git \
-          "
-SRC_URI_append_wandboard = "file://wandboard_fix_build.patch"
+SRCREV = "c9001582b10ce209c37b42dd560947c5aa8928b3"
+SRC_URI = "git://github.com/GENIVI/${BPN}.git;protocol=http \
+    "
+S = "${WORKDIR}/git"
 
-SRCREV = "8f0874b606b8e2a9385af947728905735bad3939"
+DEPENDS = "weston virtual/libgles2 pixman"
 
-S = "${WORKDIR}/git"
+inherit cmake
 
-inherit cmake autotools
+EXTRA_OECMAKE := "-DWITH_ILM_INPUT=1"
 
 FILES_${PN} += "${libdir}/weston/*"
 FILES_${PN}-dbg += "${libdir}/weston/.debug/*"
+
+EXTRA_OECMAKE += "-DLIB_SUFFIX=${@d.getVar('baselib', True).replace('lib', '')}"
diff --git a/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension_1.11.0.bbappend b/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension_1.11.0.bbappend
new file mode 100755 (executable)
index 0000000..d1a6bb1
--- /dev/null
@@ -0,0 +1,8 @@
+FILESEXTRAPATHS_prepend := ":${THISDIR}/wayland-ivi-extension:"
+
+
+SRC_URI_append = " \
+                  file://0001-Fix-ivi-application-lib-install.patch \
+                 "
+
+SRC_URI_append_wandboard = "file://wandboard_fix_build.patch"
diff --git a/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension_1.5.0.bbappend b/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension_1.5.0.bbappend
deleted file mode 100644 (file)
index f68ba71..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-FILESEXTRAPATHS_prepend := ":${THISDIR}/wayland-ivi-extension:"
-
-
-SRC_URI_append = " \
-                  file://0001-Send-process-ID-that-created-surface-to-client.patch \
-                 "
-
diff --git a/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension_1.9.1.bb b/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension_1.9.1.bb
deleted file mode 100644 (file)
index 9ea7d24..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "Wayland IVI Extension"
-DESCRIPTION = "GENIVI Layer Management API based on Wayland IVI Extension"
-HOMEPAGE = "http://projects.genivi.org/wayland-ivi-extension"
-BUGTRACKER = "http://bugs.genivi.org/enter_bug.cgi?product=Wayland%20IVI%20Extension"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=176cedb32f48dd58f07e0c1c717b3ea4"
-
-DEPENDS = "weston"
-
-SRC_URI = "git://github.com/GENIVI/${PN}.git;protocol=https \
-          "
-SRC_URI_append_wandboard = "file://wandboard_fix_build.patch"
-
-SRCREV = "44598504503eea5ac7f94c88477a5a78bda01f30"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-#jsmoeller: rm autotools from inherit ... there can only be one
-
-PACKAGECONFIG ??= "ilm_input"
-PACKAGECONFIG[ivi-share] = "-DIVI_SHARE=ON,-DIVI_SHARE=OFF,libgbm libdrm"
-PACKAGECONFIG[ilm_input] = "-DWITH_ILM_INPUT=1,-DWITH_ILM_INPUT=0"
-
-FILES_${PN} += "${libdir}/weston/*"
-FILES_${PN}-dbg += "${libdir}/weston/.debug/*"
diff --git a/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension_1.9.1.bbappend b/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension_1.9.1.bbappend
deleted file mode 100755 (executable)
index 63f3472..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-FILESEXTRAPATHS_prepend := ":${THISDIR}/wayland-ivi-extension:"
-
-
-SRC_URI_append = " \
-                  file://0001-ivi-input-support-touch-and-pointer-on-subsurface.patch \
-                 "
-