From 1963dfb002b9e0b4bff02dbf783909102ca59719 Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Wed, 18 May 2016 13:40:43 -0300 Subject: 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 Signed-off-by: Ross Burton --- meta/recipes-graphics/wayland/weston-init.bb | 4 ++- meta/recipes-graphics/wayland/weston-init/init | 9 +----- .../wayland/weston-init/weston-start | 36 ++++++++++++++++++++++ .../wayland/weston-init/weston.service | 5 +-- 4 files changed, 41 insertions(+), 13 deletions(-) create mode 100755 meta/recipes-graphics/wayland/weston-init/weston-start 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 +} + +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 -- cgit 1.2.3-korg