waltham_%.bbappend: Added bbappend recipe for waltham 52/25452/3
authorMarius Vlad <marius.vlad@collabora.com>
Mon, 19 Oct 2020 13:53:57 +0000 (16:53 +0300)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Wed, 11 Nov 2020 14:52:24 +0000 (14:52 +0000)
Waltham no longer compiles and it is required for
waltham-transmitter-plugin to function. A follow-up task has been added
at SPEC-3647 to further determine what we should do about it. For now,
this adds a bbappend recipe and with it 2 patches that fixes trivial
compilation errors. The third patch is for 'enhancing' the waltham
protocol to pass from the transmitter plug-in to the receiver side
the app_id.

Bug-AGL: SPEC-3601, SPEC-3647

Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ie01e4ad1db0a64d9d911308250ea63a79f78c6fa
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25452
Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
meta-agl-profile-graphical/recipes-graphics/wayland/waltham/0001-Use-python3-instead-of-2.patch [new file with mode: 0644]
meta-agl-profile-graphical/recipes-graphics/wayland/waltham/0001-waltham-Fix-compile-build-error.patch [new file with mode: 0644]
meta-agl-profile-graphical/recipes-graphics/wayland/waltham/0002-commandxml-Add-support-wthp_app_id-interface.patch [new file with mode: 0644]
meta-agl-profile-graphical/recipes-graphics/wayland/waltham_%.bbappend [new file with mode: 0644]

diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/waltham/0001-Use-python3-instead-of-2.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/waltham/0001-Use-python3-instead-of-2.patch
new file mode 100644 (file)
index 0000000..32c2df3
--- /dev/null
@@ -0,0 +1,51 @@
+From 6ecdf10a10929164f3cbdb754ae91d27576e5036 Mon Sep 17 00:00:00 2001
+From: Marius Vlad <marius.vlad@collabora.com>
+Date: Fri, 16 Oct 2020 18:57:38 +0300
+Subject: [PATCH] Use python3 instead of 2
+
+Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
+---
+ configure.ac | 2 +-
+ tools/gen.py | 6 +++---
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 5f65a6b..94b8644 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -32,7 +32,7 @@ AC_SUBST(VERSION_INFO)
+ # Check for programs
+ AC_PROG_CC
+ AC_PROG_CC_STDC
+-AC_CHECK_PROGS([PYTHON2], [python2 python])
++AC_CHECK_PROGS([PYTHON3], [python3 python])
+ PKG_PROG_PKG_CONFIG()
+ AC_ARG_ENABLE(gprof,
+diff --git a/tools/gen.py b/tools/gen.py
+index 19e8baa..64c5870 100755
+--- a/tools/gen.py
++++ b/tools/gen.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python2
++#!/usr/bin/env python3
+ # -*- coding: utf-8 -*-
+ # Copyright © 2013-2014 Collabora, Ltd.
+@@ -562,11 +562,11 @@ try:
+     opts, args = getopt.getopt(sys.argv[1:], "hp:i:o:t:m:",
+                                ["preamble=", "input=", "output=", "type=", "mode="])
+ except getopt.GetoptError:
+-    print 'gen.py -p <preamblefile> -i <inputfile> -o <outputfile> -t <type> -m <mode>'
++    print('gen.py -p <preamblefile> -i <inputfile> -o <outputfile> -t <type> -m <mode>')
+     sys.exit(2)
+ for opt, arg in opts:
+     if opt == '-h':
+-        print 'gen.py -p <preamblefile> -i <inputfile> -o <outputfile> -t <type> -m <mode>'
++        print('gen.py -p <preamblefile> -i <inputfile> -o <outputfile> -t <type> -m <mode>')
+         sys.exit()
+     elif opt in ("-p", "--preamble"):
+         preamble_files.append(arg)
+-- 
+2.28.0
+
diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/waltham/0001-waltham-Fix-compile-build-error.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/waltham/0001-waltham-Fix-compile-build-error.patch
new file mode 100644 (file)
index 0000000..354bcbc
--- /dev/null
@@ -0,0 +1,55 @@
+From cc87dddc2cdc0c20b053e3da1197efd671b4f50c Mon Sep 17 00:00:00 2001
+From: Marius Vlad <marius.vlad@collabora.com>
+Date: Wed, 23 Sep 2020 22:33:50 +0300
+Subject: [PATCH 1/2] waltham: Fix compile build error
+
+Newer compilers will complain about the fact debug_message is declared
+multiple times:
+
+multiple definition of `debug_message';
+.libs/marshaller.o:/home/mvlad/src/native-agl-weston8/waltham/waltham/src/waltham/marshaller_log.h:35:
+first defined here multiple definition of `debug_message';
+.libs/marshaller.o:/home/mvlad/src/native-agl-weston8/waltham/waltham/src/waltham/marshaller_log.h:35:
+first defined here /usr/bin/ld:
+.libs/client-serialice.o:/home/mvlad/src/native-agl-weston8/waltham/waltham/src/waltham/marshaller_log.h:35:
+multiple definition of `debug_message';
+.libs/marshaller.o:/home/mvlad/src/native-agl-weston8/waltham/waltham/src/waltham/marshaller_log.h:35:
+first defined here
+
+Bug-AGL: SPEC-3649
+
+Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
+---
+ src/waltham/marshaller_log.h | 2 +-
+ src/waltham/waltham-util.c   | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/waltham/marshaller_log.h b/src/waltham/marshaller_log.h
+index 8254914..ffa87c1 100644
+--- a/src/waltham/marshaller_log.h
++++ b/src/waltham/marshaller_log.h
+@@ -32,7 +32,7 @@
+ /* Comment/uncomment to disable/enable debugging log */
+ #define DEBUG
+ //#define PROFILE
+-int debug_message;
++extern int debug_message;
+ #ifdef DEBUG
+ static inline void DEBUG_STAMP (void) {
+diff --git a/src/waltham/waltham-util.c b/src/waltham/waltham-util.c
+index 410b114..8f898f8 100644
+--- a/src/waltham/waltham-util.c
++++ b/src/waltham/waltham-util.c
+@@ -34,7 +34,7 @@
+ #include "waltham-connection.h"
+ #include "waltham-private.h"
+-int debug_message;
++extern int debug_message;
+ static void
+ wth_pfx_print(const char *pfx, const char *fmt, va_list argp)
+-- 
+2.28.0
+
diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/waltham/0002-commandxml-Add-support-wthp_app_id-interface.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/waltham/0002-commandxml-Add-support-wthp_app_id-interface.patch
new file mode 100644 (file)
index 0000000..5aefb92
--- /dev/null
@@ -0,0 +1,70 @@
+From d30005429fe92daa14151c2a6175d5cf19506cac Mon Sep 17 00:00:00 2001
+From: Marius Vlad <marius.vlad@collabora.com>
+Date: Wed, 7 Oct 2020 16:36:38 +0300
+Subject: [PATCH 2/2] commandxml: Add support wthp_app_id interface
+
+With it, we hang off the app_id which we can use to pass it to the
+receiver side.
+
+Bug-AGL: SPEC-3601
+
+Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
+---
+ data/command.xml                | 29 +++++++++++++++++++++++++++++
+ src/waltham/header-preamble.txt |  1 +
+ 2 files changed, 30 insertions(+)
+
+diff --git a/data/command.xml b/data/command.xml
+index a03082b..cb53f75 100644
+--- a/data/command.xml
++++ b/data/command.xml
+@@ -1814,6 +1814,35 @@
+   </interface>
++  <interface name="wthp_ivi_app_id" version="1">
++    <description summary="create ivi-style surfaces">
++      This interface is exposed as a global singleton.
++      This interface is implemented by servers that provide IVI-style user interfaces.
++      It allows clients to associate an ivi_surface with wthp_surface.
++    </description>
++
++    <enum name="error">
++      <entry name="role" value="0" summary="given wthp_surface has another role"/>
++    </enum>
++
++    <request name="surface_create">
++      <description summary="create ivi_surface with app_id in ivi compositor">
++        This request gives the wthp_surface the role of an IVI Surface. Creating more than
++        one ivi_surface for a wthp_surface is not allowed. Note, that this still allows the
++        following example:
++
++         1. create a wthp_surface
++         2. create ivi_surface for the wthp_surface
++         3. destroy the ivi_surface
++
++      </description>
++      <arg name="app_id" type="string"/>
++      <arg name="surface" type="object" interface="wthp_surface"/>
++      <arg name="id" type="new_id" interface="wthp_ivi_surface"/>
++    </request>
++
++  </interface>
++
+   <interface name="dummy" version="1">
+     <request name="dummy_request">
+     </request>
+diff --git a/src/waltham/header-preamble.txt b/src/waltham/header-preamble.txt
+index df765cc..2409859 100644
+--- a/src/waltham/header-preamble.txt
++++ b/src/waltham/header-preamble.txt
+@@ -50,5 +50,6 @@ struct wthp_touch;
+ struct wthp_ivi_surface;
+ struct wthp_ivi_application;
++struct wthp_ivi_app_id;
+ struct dummy;
+-- 
+2.28.0
+
diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/waltham_%.bbappend b/meta-agl-profile-graphical/recipes-graphics/wayland/waltham_%.bbappend
new file mode 100644 (file)
index 0000000..8d0436a
--- /dev/null
@@ -0,0 +1,7 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+SRC_URI_append = "\
+       file://0001-waltham-Fix-compile-build-error.patch \
+       file://0002-commandxml-Add-support-wthp_app_id-interface.patch \
+       file://0001-Use-python3-instead-of-2.patch \
+       "