1*4882a593Smuzhiyun#!/bin/sh 2*4882a593Smuzhiyun# Copyright (C) 2016 O.S. Systems Software LTDA. 3*4882a593Smuzhiyun# Copyright (C) 2016 Freescale Semiconductor 4*4882a593Smuzhiyun 5*4882a593Smuzhiyunexport PATH="/sbin:/usr/sbin:/bin:/usr/bin" 6*4882a593Smuzhiyun 7*4882a593Smuzhiyunusage() { 8*4882a593Smuzhiyun cat <<EOF 9*4882a593Smuzhiyun $0 [<weston options>] 10*4882a593SmuzhiyunEOF 11*4882a593Smuzhiyun} 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun## Module support 14*4882a593Smuzhiyunmodules_dir=@DATADIR@/weston-start 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun# Add weston extra argument 17*4882a593Smuzhiyunadd_weston_argument() { 18*4882a593Smuzhiyun weston_args="$weston_args $1" 19*4882a593Smuzhiyun} 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun## Add module to --modules argument 22*4882a593Smuzhiyunadd_weston_module() { 23*4882a593Smuzhiyun if [[ "x${weston_modules}" == "x" ]]; then 24*4882a593Smuzhiyun weston_modules="--modules " 25*4882a593Smuzhiyun fi; 26*4882a593Smuzhiyun weston_modules+="${1}," 27*4882a593Smuzhiyun} 28*4882a593Smuzhiyun 29*4882a593Smuzhiyunif [ -n "$WAYLAND_DISPLAY" ]; then 30*4882a593Smuzhiyun echo "ERROR: A Wayland compositor is already running, nested Weston instance is not supported yet." 31*4882a593Smuzhiyun exit 1 32*4882a593Smuzhiyunfi 33*4882a593Smuzhiyun 34*4882a593Smuzhiyunif [ -n "$WESTON_USER" ]; then 35*4882a593Smuzhiyun if [ -z "$WESTON_GROUP" ]; then 36*4882a593Smuzhiyun # no explicit WESTON_GROUP given, therefore use WESTON_USER 37*4882a593Smuzhiyun export WESTON_GROUP="${WESTON_USER}" 38*4882a593Smuzhiyun fi 39*4882a593Smuzhiyunfi 40*4882a593Smuzhiyun 41*4882a593Smuzhiyunweston_args=$* 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun# Load and run modules 44*4882a593Smuzhiyunif [ -d "$modules_dir" ]; then 45*4882a593Smuzhiyun for m in "$modules_dir"/*; do 46*4882a593Smuzhiyun # Skip backup files 47*4882a593Smuzhiyun if [ "`echo $m | sed -e 's/\~$//'`" != "$m" ]; then 48*4882a593Smuzhiyun continue 49*4882a593Smuzhiyun fi 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun # process module 52*4882a593Smuzhiyun . $m 53*4882a593Smuzhiyun if [[ x"{$weston_modules}" != "x" ]]; then 54*4882a593Smuzhiyun add_weston_argument "${weston_modules}" 55*4882a593Smuzhiyun fi; 56*4882a593Smuzhiyun done 57*4882a593Smuzhiyunfi 58*4882a593Smuzhiyun 59*4882a593Smuzhiyunif test -z "$XDG_RUNTIME_DIR"; then 60*4882a593Smuzhiyun export XDG_RUNTIME_DIR=/run/user/`id -u ${WESTON_USER}` 61*4882a593Smuzhiyun if ! test -d "$XDG_RUNTIME_DIR"; then 62*4882a593Smuzhiyun mkdir --parents $XDG_RUNTIME_DIR 63*4882a593Smuzhiyun chmod 0700 $XDG_RUNTIME_DIR 64*4882a593Smuzhiyun fi 65*4882a593Smuzhiyun if [ -n "$WESTON_USER" ] 66*4882a593Smuzhiyun then 67*4882a593Smuzhiyun chown $WESTON_USER:$WESTON_GROUP $XDG_RUNTIME_DIR 68*4882a593Smuzhiyun fi 69*4882a593Smuzhiyunfi 70*4882a593Smuzhiyun 71*4882a593Smuzhiyunsu -c "XDG_RUNTIME_DIR=/run/user/`id -u ${WESTON_USER}` weston $weston_args --log=/tmp/weston.log" $WESTON_USER 72