To make weston-start more flexible we now support module loading. For
such modules, following functions can be used:

 - add_weston_argument
 - add_openvt_argument

Signed-off-by: Otavio Salvador <ota...@ossystems.com.br>
---

Changes in v8:
- Use ${datadir} for module path (Ross)

Changes in v7: None
Changes in v6: None
Changes in v5: None
Changes in v4: None
Changes in v3: None
Changes in v2:
- Drop weston-lunch use as it requires PAM

 meta/recipes-graphics/wayland/weston-init.bb       |  3 +++
 .../wayland/weston-init/weston-start               | 26 ++++++++++++++++++++++
 2 files changed, 29 insertions(+)

diff --git a/meta/recipes-graphics/wayland/weston-init.bb 
b/meta/recipes-graphics/wayland/weston-init.bb
index 3a2251e..e4e2701 100644
--- a/meta/recipes-graphics/wayland/weston-init.bb
+++ b/meta/recipes-graphics/wayland/weston-init.bb
@@ -11,7 +11,10 @@ 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 weston-start script
        install -Dm755 ${WORKDIR}/weston-start ${D}${bindir}/weston-start
+       sed -i 's,@DATADIR@,${datadir},g' ${D}${bindir}/weston-start
 }
 
 inherit allarch update-rc.d distro_features_check systemd
diff --git a/meta/recipes-graphics/wayland/weston-init/weston-start 
b/meta/recipes-graphics/wayland/weston-init/weston-start
index dc2b1ef..4aa7c66 100755
--- a/meta/recipes-graphics/wayland/weston-init/weston-start
+++ b/meta/recipes-graphics/wayland/weston-init/weston-start
@@ -9,6 +9,19 @@ usage() {
 EOF
 }
 
+## Module support
+modules_dir=@DATADIR@/weston-start
+
+# Add weston extra argument
+add_weston_argument() {
+       weston_args="$weston_args $1"
+}
+
+# Add openvt extra argument
+add_openvt_argument() {
+       openvt_args="$openvt_args $1"
+}
+
 if test $# -lt 2; then
        usage
        exit 1
@@ -32,6 +45,19 @@ done
 
 weston_args=$*
 
+# Load and run modules
+if [ -d "$modules_dir" ]; then
+       for m in "$modules_dir"/*; do
+               # Skip backup files
+               if [ "`echo $m | sed -e 's/\~$//'`" != "$m" ]; then
+                       continue
+               fi
+
+               # process module
+               . $m
+       done
+fi
+
 if test -z "$XDG_RUNTIME_DIR"; then
     export XDG_RUNTIME_DIR=/run/user/`id -u`
     mkdir --parents $XDG_RUNTIME_DIR
-- 
2.8.2

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to