diff options
author | Otavio Salvador <otavio@ossystems.com.br> | 2016-05-18 13:40:43 -0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-05-21 22:21:30 +0100 |
commit | 1963dfb002b9e0b4bff02dbf783909102ca59719 (patch) | |
tree | 847173727e398786c5944111bb1bf422cef9690a | |
parent | 9d745d7c958402fa1d59c9d0267b58a05d7ee4b3 (diff) | |
download | openembedded-core-1963dfb002b9e0b4bff02dbf783909102ca59719.tar.gz openembedded-core-1963dfb002b9e0b4bff02dbf783909102ca59719.tar.bz2 openembedded-core-1963dfb002b9e0b4bff02dbf783909102ca59719.zip |
weston-init: Rework init sequence to avoid code duplication
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>
4 files changed, 41 insertions, 13 deletions
diff --git a/meta/recipes-graphics/wayland/weston-init.bb b/meta/recipes-graphics/wayland/weston-init.bb index 4ad62cff2d..3a2251e69a 100644 --- a/meta/recipes-graphics/wayland/weston-init.bb +++ b/meta/recipes-graphics/wayland/weston-init.bb @@ -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 diff --git a/meta/recipes-graphics/wayland/weston-init/init b/meta/recipes-graphics/wayland/weston-init/init index 2e938f4307..5c925f4541 100644 --- a/meta/recipes-graphics/wayland/weston-init/init +++ b/meta/recipes-graphics/wayland/weston-init/init @@ -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 index 0000000000..b791fd5a9b --- /dev/null +++ b/meta/recipes-graphics/wayland/weston-init/weston-start @@ -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 diff --git a/meta/recipes-graphics/wayland/weston-init/weston.service b/meta/recipes-graphics/wayland/weston-init/weston.service index 12aedb7935..689ce41064 100644 --- a/meta/recipes-graphics/wayland/weston-init/weston.service +++ b/meta/recipes-graphics/wayland/weston-init/weston.service @@ -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 |