From 60873f9da578054e029208ad64da14d2ceeccbbc Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Fri, 7 Dec 2018 11:43:59 -0500 Subject: weston: add weston-ready Weston seems to take variable amounts of time to initialize on startup depending on configuration (e.g. gst-record feature being enabled for cluster support). To avoid windowmanager and its dependencies failing, patch LayerManagerControl so that errors can be detected; then use it in a new script, weston-ready, to detect if Weston is functional. A corresponding systemd service unit is also added so that things can use it in their dependencies. Change-Id: I5711e7f9d9a891e1c7a160b5d65711bd6e7fee03 Signed-off-by: Scott Murray --- .../wayland/weston-ready/weston-ready | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston-ready/weston-ready (limited to 'meta-agl-profile-graphical/recipes-graphics/wayland/weston-ready/weston-ready') diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston-ready/weston-ready b/meta-agl-profile-graphical/recipes-graphics/wayland/weston-ready/weston-ready new file mode 100644 index 000000000..5a3ff5500 --- /dev/null +++ b/meta-agl-profile-graphical/recipes-graphics/wayland/weston-ready/weston-ready @@ -0,0 +1,49 @@ +#!/bin/bash +# +# Copyright (c) 2018, Konsulko Group +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# +# Simple script to check if Weston+IVI shell is ready by calling +# LayerManagerControl, optionally waiting for a specified timeout. +# + +usage="Usage: weston-ready [-t timeout]" +timeout=0 + +if [ $# -eq 2 ]; then + if [ $1 = "-t" ]; then + timeout=$(($2 * 10)) + else + echo $usage + exit 1 + fi +fi + +time=0 +rc=1 +while true; do + if [ $time -gt $timeout ]; then + break + elif LayerManagerControl get screens >/dev/null 2>&1; then + rc=0 + break + fi + if [ $timeout -gt 0 ]; then + usleep 500000 + fi + time=$(($time + 5)) +done +exit $rc -- cgit 1.2.3-korg