]> code.ossystems Code Review - openembedded-core.git/commitdiff
weston-init: Rework init sequence to avoid code duplication
authorOtavio Salvador <otavio@ossystems.com.br>
Wed, 18 May 2016 16:40:43 +0000 (13:40 -0300)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 21 May 2016 21:21:30 +0000 (22:21 +0100)
The new 'weston-start' script redcues the code duplication for SysV
and SystemD based images.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/recipes-graphics/wayland/weston-init.bb
meta/recipes-graphics/wayland/weston-init/init
meta/recipes-graphics/wayland/weston-init/weston-start [new file with mode: 0755]
meta/recipes-graphics/wayland/weston-init/weston.service

index 4ad62cff2d9429ab41021372a32aaeb829009f77..3a2251e69a0c7a0b5f4724998e28f23f60f04582 100644 (file)
@@ -3,13 +3,15 @@ LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
 
 SRC_URI = "file://init \
-           file://weston.service"
+           file://weston.service \
+           file://weston-start"
 
 S = "${WORKDIR}"
 
 do_install() {
        install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/weston
        install -Dm0644 ${WORKDIR}/weston.service ${D}${systemd_system_unitdir}/weston.service
+       install -Dm755 ${WORKDIR}/weston-start ${D}${bindir}/weston-start
 }
 
 inherit allarch update-rc.d distro_features_check systemd
index 2e938f430719ea1b9924fdbfeb281e1f66474009..5c925f45413f6d478414204ef2830aa2ae1cbebc 100644 (file)
@@ -31,14 +31,7 @@ case "$1" in
   start)
         . /etc/profile
 
-        # This is all a nasty hack
-        if test -z "$XDG_RUNTIME_DIR"; then
-                export XDG_RUNTIME_DIR=/run/user/root
-                mkdir --parents $XDG_RUNTIME_DIR
-                chmod 0700 $XDG_RUNTIME_DIR
-        fi
-
-        openvt -s weston -- $OPTARGS
+        weston-start -s -- $OPTARGS
   ;;
 
   stop)
diff --git a/meta/recipes-graphics/wayland/weston-init/weston-start b/meta/recipes-graphics/wayland/weston-init/weston-start
new file mode 100755 (executable)
index 0000000..b791fd5
--- /dev/null
@@ -0,0 +1,36 @@
+#!/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
+}
+
+if test $# -lt 2; then
+       usage
+       exit 1
+fi
+
+openvt_args=""
+while [ -n "$1" ]; do
+       openvt_args="$openvt_args $1"
+       shift
+
+       if [ "$1" = "--" ]; then
+               shift
+               break
+       fi
+done
+
+weston_args=$*
+
+if test -z "$XDG_RUNTIME_DIR"; then
+    export XDG_RUNTIME_DIR=/run/user/`id -u`
+    mkdir --parents $XDG_RUNTIME_DIR
+    chmod 0700 $XDG_RUNTIME_DIR
+fi
+
+exec openvt $openvt_args -- weston $weston_args --log=/var/log/weston.log
index 12aedb7935e5dcf09a66612ff237f0a9017f43b7..689ce41064953863035210b0ec847b7d549e3e70 100644 (file)
@@ -5,10 +5,7 @@ RequiresMountsFor=/run
 [Service]
 User=root
 EnvironmentFile=-/etc/default/weston
-Environment="XDG_RUNTIME_DIR=/run/user/root"
-ExecStartPre=/bin/mkdir -p /run/user/root
-ExecStartPre=/bin/chmod 0700 /run/user/root
-ExecStart=/usr/bin/openvt -v -e /usr/bin/weston -- $OPTARGS
+ExecStart=/usr/bin/weston-start -v -e -- $OPTARGS
 
 [Install]
 WantedBy=multi-user.target