Re: [OE-core] [PATCH V2] weston-init: Add possibility to run weston as non-root user

2019-09-10 Thread Otavio Salvador
On Tue, Sep 10, 2019 at 7:57 PM Khem Raj  wrote:
...
> @@ -28,4 +38,10 @@ RDEPENDS_${PN} = "weston kbd"
>  INITSCRIPT_NAME = "weston"
>  INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ."
>
> -SYSTEMD_SERVICE_${PN} = "weston.service"
> +FILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini 
> ${systemd_unitdir}/system/weston@.service"

${systemd_system_unitdir}

Except for this minor change, it is good to go :-)

-- 
Otavio Salvador O.S. Systems
http://www.ossystems.com.brhttp://code.ossystems.com.br
Mobile: +55 (53) 9 9981-7854  Mobile: +1 (347) 903-9750
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH V2] weston-init: Add possibility to run weston as non-root user

2019-09-10 Thread Khem Raj
These changes are from meta-96boards primarily
Launch the session via a udev rule based on what kind of display device
is available

Signed-off-by: Khem Raj 
Cc: Otavio Salvador 
---
v2: Drop duplicate isntall rule and use systemd_system_unitdir

 meta/recipes-graphics/wayland/weston-init.bb  | 24 +-
 .../wayland/weston-init/71-weston-drm.rules   |  2 +
 .../wayland/weston-init/weston.ini| 74 +++
 .../wayland/weston-init/weston.service| 13 
 .../wayland/weston-init/weston@.service   | 37 ++
 5 files changed, 133 insertions(+), 17 deletions(-)
 create mode 100644 
meta/recipes-graphics/wayland/weston-init/71-weston-drm.rules
 create mode 100644 meta/recipes-graphics/wayland/weston-init/weston.ini
 delete mode 100644 meta/recipes-graphics/wayland/weston-init/weston.service
 create mode 100644 meta/recipes-graphics/wayland/weston-init/weston@.service

diff --git a/meta/recipes-graphics/wayland/weston-init.bb 
b/meta/recipes-graphics/wayland/weston-init.bb
index 22ba5f3fb3..08ebbe08f2 100644
--- a/meta/recipes-graphics/wayland/weston-init.bb
+++ b/meta/recipes-graphics/wayland/weston-init.bb
@@ -3,15 +3,25 @@ LICENSE = "MIT"
 LIC_FILES_CHKSUM = 
"file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 
 SRC_URI = "file://init \
-   file://weston.service \
+   file://weston.ini \
+   file://weston@.service \
+   file://71-weston-drm.rules \
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 -D -p -m0644 ${WORKDIR}/weston.ini 
${D}${sysconfdir}/xdg/weston/weston.ini
+
+   # Install Weston systemd service and accompanying udev rule
+   install -D -p -m0644 ${WORKDIR}/weston@.service 
${D}${systemd_system_unitdir}/weston@.service
+   sed -i -e s:/etc:${sysconfdir}:g \
+   -e s:/usr/bin:${bindir}:g \
+   -e s:/var:${localstatedir}:g \
+   ${D}${systemd_unitdir}/system/weston@.service
+   install -D -p -m0644 ${WORKDIR}/71-weston-drm.rules \
+   ${D}${sysconfdir}/udev/rules.d/71-weston-drm.rules
# Install weston-start script
install -Dm755 ${WORKDIR}/weston-start ${D}${bindir}/weston-start
sed -i 's,@DATADIR@,${datadir},g' ${D}${bindir}/weston-start
@@ -28,4 +38,10 @@ RDEPENDS_${PN} = "weston kbd"
 INITSCRIPT_NAME = "weston"
 INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ."
 
-SYSTEMD_SERVICE_${PN} = "weston.service"
+FILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini 
${systemd_unitdir}/system/weston@.service"
+
+CONFFILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini"
+
+SYSTEMD_SERVICE_${PN} = "weston@%i.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
diff --git a/meta/recipes-graphics/wayland/weston-init/71-weston-drm.rules 
b/meta/recipes-graphics/wayland/weston-init/71-weston-drm.rules
new file mode 100644
index 00..1a1b8bbda4
--- /dev/null
+++ b/meta/recipes-graphics/wayland/weston-init/71-weston-drm.rules
@@ -0,0 +1,2 @@
+ACTION=="add", SUBSYSTEM=="graphics", KERNEL=="fb0", TAG+="systemd", 
ENV{SYSTEMD_WANTS}+="weston@root.service"
+ACTION=="add", SUBSYSTEM=="drm", KERNEL=="card0", TAG+="systemd", 
ENV{SYSTEMD_WANTS}+="weston@root.service"
diff --git a/meta/recipes-graphics/wayland/weston-init/weston.ini 
b/meta/recipes-graphics/wayland/weston-init/weston.ini
new file mode 100644
index 00..1eecf48bc1
--- /dev/null
+++ b/meta/recipes-graphics/wayland/weston-init/weston.ini
@@ -0,0 +1,74 @@
+# configuration file for Weston
+
+#[core]
+#modules=xwayland.so,cms-colord.so
+#shell=desktop-shell.so
+#gbm-format=xrgb2101010
+
+#[shell]
+#background-image=/usr/share/backgrounds/gnome/Aqua.jpg
+#background-color=0xff002244
+#background-type=tile
+#clock-format=minutes
+#panel-color=0x90ff
+#locking=true
+#animation=zoom
+#startup-animation=fade
+#binding-modifier=ctrl
+#num-workspaces=6
+#cursor-theme=whiteglass
+#cursor-size=24
+
+#lockscreen-icon=/usr/share/icons/gnome/256x256/actions/lock.png
+#lockscreen=/usr/share/backgrounds/gnome/Garden.jpg
+#homescreen=/usr/share/backgrounds/gnome/Blinds.jpg
+#animation=fade
+
+#[launcher]
+#icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png
+#path=/usr/bin/gnome-terminal
+
+#[launcher]
+#icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png
+#path=/usr/bin/weston-terminal
+
+#[launcher]
+#icon=/usr/share/icons/hicolor/24x24/apps/google-chrome.png
+#path=/usr/bin/google-chrome
+
+#[launcher]
+#icon=/usr/share/icons/gnome/24x24/apps/arts.png
+#path=/build/weston-0lEgCh/weston-1.11.0/weston-flower
+
+#[input-method]
+#path=/usr/lib/weston/weston-keyboard
+
+#[output]
+#name=LVDS1
+#mode=1680x1050
+#transform=90
+#icc_profile=/usr/share/color/icc/colord/Bluish.icc
+
+#[output]
+#name=VGA1
+#mode=173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsy