Signed-off-by: Guillermo Rodriguez <[email protected]>
---
v2: Proper handling of init script and link

 projectroot/etc/init.d/weston-init | 29 +++++++++++++++++++++++++++++
 rules/weston-bbinit.in             |  8 ++++++++
 rules/weston.in                    |  5 +++++
 rules/weston.make                  | 11 +++++++++++
 4 files changed, 53 insertions(+)
 create mode 100644 projectroot/etc/init.d/weston-init
 create mode 100644 rules/weston-bbinit.in

diff --git a/projectroot/etc/init.d/weston-init 
b/projectroot/etc/init.d/weston-init
new file mode 100644
index 000000000..fa6b96b07
--- /dev/null
+++ b/projectroot/etc/init.d/weston-init
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+start() {
+       OPENVT_ARGS="-c 1 -s"
+       WESTON_ARGS="--log=/var/log/weston.log"
+
+       test -f /etc/default/weston-init && . /etc/default/weston-init
+
+       if [ -z "$XDG_RUNTIME_DIR" ]; then
+               export XDG_RUNTIME_DIR=/run/xdg
+               mkdir -p "$XDG_RUNTIME_DIR"
+               chmod 0700 "$XDG_RUNTIME_DIR"
+       fi
+
+       echo "Starting Weston"
+       exec openvt $OPENVT_ARGS -- weston $WESTON_ARGS
+}
+
+stop() {
+       echo "Stopping Weston"
+       killall -q weston
+}
+
+case $1 in
+       start|stop) $1 ;;
+       restart) stop ; sleep 1 ; start ;;
+
+       *) echo "Usage: $0 {start|stop|restart}"; exit 1 ;;
+esac
diff --git a/rules/weston-bbinit.in b/rules/weston-bbinit.in
new file mode 100644
index 000000000..f0994d27e
--- /dev/null
+++ b/rules/weston-bbinit.in
@@ -0,0 +1,8 @@
+## SECTION=initmethod_bbinit
+
+config WESTON_BBINIT_LINK
+       string
+       depends on WESTON_STARTSCRIPT
+       prompt "weston-init"
+       default "S92weston-init"
+
diff --git a/rules/weston.in b/rules/weston.in
index d2ef2119b..75945d7e6 100644
--- a/rules/weston.in
+++ b/rules/weston.in
@@ -75,6 +75,11 @@ config WESTON_LAUNCH
          weston-launch is a setuid-root program which does privileged
          operations on Weston's behalf
 
+config WESTON_STARTSCRIPT
+       bool
+       default INITMETHOD_BBINIT
+       prompt "install /etc/init.d/weston-init"
+
 config WESTON_SYSTEMD
        bool
        default INITMETHOD_SYSTEMD
diff --git a/rules/weston.make b/rules/weston.make
index 4c38fd2d1..eaabebe61 100644
--- a/rules/weston.make
+++ b/rules/weston.make
@@ -171,6 +171,17 @@ ifdef PTXCONF_WESTON_SYSTEMD
        @$(call install_lib, weston, 0, 0, 0644, weston/systemd-notify)
 endif
 
+ifdef PTXCONF_INITMETHOD_BBINIT
+ifdef PTXCONF_WESTON_STARTSCRIPT
+       @$(call install_alternative, weston, 0, 0, 0755, 
/etc/init.d/weston-init)
+ifneq ($(call remove_quotes,$(PTXCONF_WESTON_BBINIT_LINK)),)
+       @$(call install_link, weston, \
+               ../init.d/weston-init, \
+               /etc/rc.d/$(PTXCONF_WESTON_BBINIT_LINK))
+endif
+endif
+endif
+
        @$(call install_copy, weston, 0, 0, 0755, -, 
/usr/libexec/weston-simple-im)
        @$(call install_copy, weston, 0, 0, 0755, -, 
/usr/libexec/weston-desktop-shell)
        @$(call install_copy, weston, 0, 0, 0755, -, 
/usr/libexec/weston-keyboard)
-- 
2.21.0


_______________________________________________
ptxdist mailing list
[email protected]

Reply via email to