aboutsummaryrefslogtreecommitdiffstats
path: root/meta-ivi/recipes-graphics/wayland/weston-init
diff options
context:
space:
mode:
Diffstat (limited to 'meta-ivi/recipes-graphics/wayland/weston-init')
-rw-r--r--meta-ivi/recipes-graphics/wayland/weston-init/init53
-rwxr-xr-xmeta-ivi/recipes-graphics/wayland/weston-init/weston-start74
-rw-r--r--meta-ivi/recipes-graphics/wayland/weston-init/weston.service12
3 files changed, 139 insertions, 0 deletions
diff --git a/meta-ivi/recipes-graphics/wayland/weston-init/init b/meta-ivi/recipes-graphics/wayland/weston-init/init
new file mode 100644
index 0000000..5c925f4
--- /dev/null
+++ b/meta-ivi/recipes-graphics/wayland/weston-init/init
@@ -0,0 +1,53 @@
+#!/bin/sh
+#
+### BEGIN INIT INFO
+# Provides: weston
+# Required-Start: $local_fs $remote_fs
+# Required-Stop: $local_fs $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+### END INIT INFO
+
+if test -e /etc/default/weston ; then
+ . /etc/default/weston
+fi
+
+killproc() {
+ pid=`/bin/pidof $1`
+ [ "$pid" != "" ] && kill $pid
+}
+
+read CMDLINE < /proc/cmdline
+for x in $CMDLINE; do
+ case $x in
+ weston=false)
+ echo "Weston disabled"
+ exit 0;
+ ;;
+ esac
+done
+
+case "$1" in
+ start)
+ . /etc/profile
+
+ weston-start -s -- $OPTARGS
+ ;;
+
+ stop)
+ echo "Stopping Weston"
+ killproc weston
+ ;;
+
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+
+ *)
+ echo "usage: $0 { start | stop | restart }"
+ ;;
+esac
+
+exit 0
diff --git a/meta-ivi/recipes-graphics/wayland/weston-init/weston-start b/meta-ivi/recipes-graphics/wayland/weston-init/weston-start
new file mode 100755
index 0000000..5b7604f
--- /dev/null
+++ b/meta-ivi/recipes-graphics/wayland/weston-init/weston-start
@@ -0,0 +1,74 @@
+#!/bin/sh
+# Copyright (C) 2016 O.S. Systems Software LTDA.
+
+export PATH="/sbin:/usr/sbin:/bin:/usr/bin"
+
+usage() {
+ cat <<EOF
+ $0 <openvt arguments> -- <weston options>
+EOF
+}
+
+## Module support
+modules_dir=@DATADIR@/weston-start
+
+# Add weston extra argument
+add_weston_argument() {
+ weston_args="$weston_args $1"
+}
+
+# Add openvt extra argument
+add_openvt_argument() {
+ openvt_args="$openvt_args $1"
+}
+
+if test $# -lt 2; then
+ usage
+ exit 1
+fi
+
+if [ -n "$WAYLAND_DISPLAY" ]; then
+ echo "ERROR: A Wayland compositor is already running, nested Weston instance is not supported yet."
+ exit 1
+fi
+if [ -n "$DISPLAY" ]; then
+ launcher="weston"
+else
+ launcher="weston-launch --"
+fi
+
+openvt_args=""
+while [ -n "$1" ]; do
+ openvt_args="$openvt_args $1"
+ shift
+
+ if [ "$1" = "--" ]; then
+ shift
+ break
+ fi
+done
+
+weston_args=$*
+
+# Load and run modules
+if [ -d "$modules_dir" ]; then
+ for m in "$modules_dir"/*; do
+ # Skip backup files
+ if [ "`echo $m | sed -e 's/\~$//'`" != "$m" ]; then
+ continue
+ fi
+
+ # process module
+ . $m
+ done
+fi
+
+if test -z "$XDG_RUNTIME_DIR"; then
+ export XDG_RUNTIME_DIR=/run/user/`id -u`
+ if ! test -d "$XDG_RUNTIME_DIR"; then
+ mkdir --parents $XDG_RUNTIME_DIR
+ chmod 0700 $XDG_RUNTIME_DIR
+ fi
+fi
+
+exec openvt $openvt_args -- $launcher $weston_args --log=@LOCALSTATEDIR@/log/weston.log
diff --git a/meta-ivi/recipes-graphics/wayland/weston-init/weston.service b/meta-ivi/recipes-graphics/wayland/weston-init/weston.service
new file mode 100644
index 0000000..689ce41
--- /dev/null
+++ b/meta-ivi/recipes-graphics/wayland/weston-init/weston.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Weston Wayland Compositor
+RequiresMountsFor=/run
+
+[Service]
+User=root
+EnvironmentFile=-/etc/default/weston
+ExecStart=/usr/bin/weston-start -v -e -- $OPTARGS
+
+[Install]
+WantedBy=multi-user.target
+