diff options
author | ToshikazuOhiwa <toshikazu_ohiwa@mail.toyota.co.jp> | 2020-03-30 09:24:26 +0900 |
---|---|---|
committer | ToshikazuOhiwa <toshikazu_ohiwa@mail.toyota.co.jp> | 2020-03-30 09:24:26 +0900 |
commit | 5b80bfd7bffd4c20d80b7c70a7130529e9a755dd (patch) | |
tree | b4bb18dcd1487dbf1ea8127e5671b7bb2eded033 /bsp/meta-synopsys/recipes-graphics/wayland/weston/1005-protocol-add-weston-debug.xml.patch | |
parent | 706ad73eb02caf8532deaf5d38995bd258725cb8 (diff) |
agl-basesystem
Diffstat (limited to 'bsp/meta-synopsys/recipes-graphics/wayland/weston/1005-protocol-add-weston-debug.xml.patch')
-rw-r--r-- | bsp/meta-synopsys/recipes-graphics/wayland/weston/1005-protocol-add-weston-debug.xml.patch | 242 |
1 files changed, 242 insertions, 0 deletions
diff --git a/bsp/meta-synopsys/recipes-graphics/wayland/weston/1005-protocol-add-weston-debug.xml.patch b/bsp/meta-synopsys/recipes-graphics/wayland/weston/1005-protocol-add-weston-debug.xml.patch new file mode 100644 index 00000000..4ca79b72 --- /dev/null +++ b/bsp/meta-synopsys/recipes-graphics/wayland/weston/1005-protocol-add-weston-debug.xml.patch @@ -0,0 +1,242 @@ +From 4fc1ee8d5b5c2a66fcc1a5bafad3eb95c3759bac Mon Sep 17 00:00:00 2001 +From: Pekka Paalanen <pq@iki.fi> +Date: Thu, 12 Oct 2017 13:13:41 +0200 +Subject: [PATCH 05/46] protocol: add weston-debug.xml + +This is a new debugging extension for non-production environments. The +aim is to replace all build-time choosable debug prints in the +compositor with runtime subscribable debug streams. + +Signed-off-by: Pekka Paalanen <pq@iki.fi> + +Added new libweston-$MAJOR-protocols.pc file and install that +for external projects to find the XML files installed by libweston. + +Signed-off-by: Maniraj Devadoss <Maniraj.Devadoss@in.bosch.com> + +Use noarch_pkgconfig_DATA instead, add ${pc_sysrootdir}, drop +unnecessary EXTRA_DIST of weston-debug.xml. + +Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> + +Add explicit advertisement of available debug interfaces. + +Signed-off-by: Daniel Stone <daniels@collabora.com> +Reviewed-by: Emre Ucan <eucan@de.adit-jv.com> +--- + Makefile.am | 10 +++ + configure.ac | 1 + + libweston/libweston-protocols.pc.in | 7 ++ + protocol/weston-debug.xml | 139 ++++++++++++++++++++++++++++++++++++ + 4 files changed, 157 insertions(+) + create mode 100644 libweston/libweston-protocols.pc.in + create mode 100644 protocol/weston-debug.xml + +diff --git a/Makefile.am b/Makefile.am +index 83546b7c..e38ac009 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -104,6 +104,10 @@ libweston_@LIBWESTON_MAJOR@_la_SOURCES = \ + shared/platform.h \ + shared/weston-egl-ext.h + ++libweston_@LIBWESTON_MAJOR@_datadir = $(datadir)/weston/protocols ++dist_libweston_@LIBWESTON_MAJOR@_data_DATA = \ ++ protocol/weston-debug.xml ++ + lib_LTLIBRARIES += libweston-desktop-@LIBWESTON_MAJOR@.la + libweston_desktop_@LIBWESTON_MAJOR@_la_CPPFLAGS = $(AM_CPPFLAGS) -DIN_WESTON + libweston_desktop_@LIBWESTON_MAJOR@_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS) +@@ -150,6 +154,8 @@ endif + nodist_libweston_@LIBWESTON_MAJOR@_la_SOURCES = \ + protocol/weston-screenshooter-protocol.c \ + protocol/weston-screenshooter-server-protocol.h \ ++ protocol/weston-debug-protocol.c \ ++ protocol/weston-debug-server-protocol.h \ + protocol/text-cursor-position-protocol.c \ + protocol/text-cursor-position-server-protocol.h \ + protocol/text-input-unstable-v1-protocol.c \ +@@ -274,6 +280,10 @@ pkgconfig_DATA = \ + libweston-desktop/libweston-desktop-${LIBWESTON_MAJOR}.pc \ + compositor/weston.pc + ++noarch_pkgconfigdir = $(datadir)/pkgconfig ++noarch_pkgconfig_DATA = \ ++ libweston/libweston-${LIBWESTON_MAJOR}-protocols.pc ++ + wayland_sessiondir = $(datadir)/wayland-sessions + dist_wayland_session_DATA = compositor/weston.desktop + +diff --git a/configure.ac b/configure.ac +index ab9ff7c7..cb62a386 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -695,6 +695,7 @@ AC_CONFIG_FILES([Makefile libweston/version.h compositor/weston.pc]) + # libweston_abi_version here, and outside [] because of m4 quoting rules + AC_CONFIG_FILES([libweston/libweston-]libweston_major_version[.pc:libweston/libweston.pc.in]) + AC_CONFIG_FILES([libweston/libweston-]libweston_major_version[-uninstalled.pc:libweston/libweston-uninstalled.pc.in]) ++AC_CONFIG_FILES([libweston/libweston-]libweston_major_version[-protocols.pc:libweston/libweston-protocols.pc.in]) + AC_CONFIG_FILES([libweston-desktop/libweston-desktop-]libweston_major_version[.pc:libweston-desktop/libweston-desktop.pc.in]) + AC_CONFIG_FILES([libweston-desktop/libweston-desktop-]libweston_major_version[-uninstalled.pc:libweston-desktop/libweston-desktop-uninstalled.pc.in]) + +diff --git a/libweston/libweston-protocols.pc.in b/libweston/libweston-protocols.pc.in +new file mode 100644 +index 00000000..6547a0d5 +--- /dev/null ++++ b/libweston/libweston-protocols.pc.in +@@ -0,0 +1,7 @@ ++prefix=@prefix@ ++datarootdir=@datarootdir@ ++pkgdatadir=${pc_sysrootdir}@datadir@/@PACKAGE@/protocols ++ ++Name: libWeston Protocols ++Description: libWeston protocol files ++Version: @WESTON_VERSION@ +diff --git a/protocol/weston-debug.xml b/protocol/weston-debug.xml +new file mode 100644 +index 00000000..effa1a19 +--- /dev/null ++++ b/protocol/weston-debug.xml +@@ -0,0 +1,139 @@ ++<?xml version="1.0" encoding="UTF-8"?> ++<protocol name="weston_debug"> ++ ++ <copyright> ++ Copyright © 2017 Pekka Paalanen pq@iki.fi ++ Copyright © 2018 Zodiac Inflight Innovations ++ ++ Permission is hereby granted, free of charge, to any person obtaining a ++ copy of this software and associated documentation files (the "Software"), ++ to deal in the Software without restriction, including without limitation ++ the rights to use, copy, modify, merge, publish, distribute, sublicense, ++ and/or sell copies of the Software, and to permit persons to whom the ++ Software is furnished to do so, subject to the following conditions: ++ ++ The above copyright notice and this permission notice (including the next ++ paragraph) shall be included in all copies or substantial portions of the ++ Software. ++ ++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++ THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ++ DEALINGS IN THE SOFTWARE. ++ </copyright> ++ ++ <interface name="weston_debug_v1" version="1"> ++ <description summary="weston internal debugging"> ++ This is a generic debugging interface for Weston internals, the global ++ object advertized through wl_registry. ++ ++ WARNING: This interface by design allows a denial-of-service attack. It ++ should not be offered in production, or proper authorization mechnisms ++ must be enforced. ++ ++ The idea is for a client to provide a file descriptor that the server ++ uses for printing debug information. The server uses the file ++ descriptor in blocking writes mode, which exposes the denial-of-service ++ risk. The blocking mode is necessary to ensure all debug messages can ++ be easily printed in place. It also ensures message ordering if a ++ client subcribes to more than one debug stream. ++ ++ The available debugging features depend on the server. ++ ++ A debug stream can be one-shot where the server prints the requested ++ information and then closes it, or continuous where server keeps on ++ printing until the client stops it. Or anything in between. ++ </description> ++ ++ <request name="destroy" type="destructor"> ++ <description summary="destroy factory object"> ++ Destroys the factory object, but does not affect any other objects. ++ </description> ++ </request> ++ ++ <event name="available"> ++ <description summary="advertise available debug scope"> ++ Advertises an available debug scope which the client may be able to ++ bind to. No information is provided by the server about the content ++ contained within the debug streams provided by the scope, once a ++ client has subscribed. ++ </description> ++ ++ <arg name="name" type="string" allow-null="false" ++ summary="debug stream name"/> ++ <arg name="description" type="string" allow-null="true" ++ summary="human-readable description of the debug scope"/> ++ </event> ++ ++ <request name="subscribe"> ++ <description summary="subscribe to a debug stream"> ++ Subscribe to a named debug stream. The server will start printing ++ to the given file descriptor. ++ ++ If the named debug stream is a one-shot dump, the server will send ++ weston_debug_stream_v1.complete event once all requested data has ++ been printed. Otherwise, the server will continue streaming debug ++ prints until the subscription object is destroyed. ++ ++ If the debug stream name is unknown to the server, the server will ++ immediately respond with weston_debug_stream_v1.failure event. ++ </description> ++ ++ <arg name="name" type="string" allow-null="false" ++ summary="debug stream name"/> ++ <arg name="streamfd" type="fd" summary="write stream file descriptor"/> ++ <arg name="stream" type="new_id" interface="weston_debug_stream_v1" ++ summary="created debug stream object"/> ++ </request> ++ </interface> ++ ++ <interface name="weston_debug_stream_v1" version="1"> ++ <description summary="A subscribed debug stream"> ++ Represents one subscribed debug stream, created with ++ weston_debug_v1.subscribe. When the object is created, it is associated ++ with a given file descriptor. The server will continue writing to the ++ file descriptor until the object is destroyed or the server sends an ++ event through the object. ++ </description> ++ ++ <request name="destroy" type="destructor"> ++ <description summary="close a debug stream"> ++ Destroys the object, which causes the server to stop writing into ++ and closes the associated file descriptor if it was not closed ++ already. ++ ++ Use a wl_display.sync if the clients needs to guarantee the file ++ descriptor is closed before continuing. ++ </description> ++ </request> ++ ++ <event name="complete"> ++ <description summary="server completed the debug stream"> ++ The server has successfully finished writing to and has closed the ++ associated file descriptor. ++ ++ This event is delivered only for one-shot debug streams where the ++ server dumps some data and stop. This is never delivered for ++ continuous debbug streams because they by definition never complete. ++ </description> ++ </event> ++ ++ <event name="failure"> ++ <description summary="server cannot continue the debug stream"> ++ The server has stopped writing to and has closed the ++ associated file descriptor. The data already written to the file ++ descriptor is correct, but it may be truncated. ++ ++ This event may be delivered at any time and for any kind of debug ++ stream. It may be due to a failure in or shutdown of the server. ++ The message argument may provide a hint of the reason. ++ </description> ++ ++ <arg name="message" type="string" allow-null="true" ++ summary="human readable reason"/> ++ </event> ++ </interface> ++</protocol> +-- +2.16.2 + |