Fix weston failed 11/10111/3
authorRonan Le Martret <ronan.lemartret@iot.bzh>
Fri, 7 Jul 2017 16:32:53 +0000 (18:32 +0200)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Mon, 17 Jul 2017 13:13:22 +0000 (13:13 +0000)
 * We need to add systemd udev device unit dependency to weston,
   If the system is slow udev rules is up when weston want to start,
   if the system is fast, udev rules may be down  when weston want to start.
 * TAG+="systemd" create a systemd device unit
 * ENV{SYSTEMD_WANTS}="weston.service" add dependency (Like BindsTo).

Bug-AGL: SPEC-603

Change-Id: I45d6513ea64cd071a60b53afd98d782e9300cefa
Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/10111
Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org>
ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org>
Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Reviewed-by: Stéphane Desneux <stephane.desneux@iot.bzh>
meta-agl/recipes-graphics/wayland/weston-init.bbappend

index 552cd84..01984a1 100644 (file)
@@ -28,23 +28,23 @@ do_install_append() {
     install -d ${D}${sysconfdir}/init.d
     install -d ${D}${sysconfdir}/udev/rules.d
     cat >${D}${sysconfdir}/udev/rules.d/zz-dri.rules <<'EOF'
-SUBSYSTEM=="drm", MODE="0660", GROUP="${WESTONGROUP}", SECLABEL{smack}="*"
+SUBSYSTEM=="drm", MODE="0660", GROUP="${WESTONGROUP}", SECLABEL{smack}="*", TAG+="systemd", ENV{SYSTEMD_WANTS}="weston.service"
 EOF
 
     # user 'display' must own /dev/tty${WESTONTTY} for weston to start correctly
     cat >${D}${sysconfdir}/udev/rules.d/zz-tty.rules <<'EOF'
-SUBSYSTEM=="tty", KERNEL=="tty${WESTONTTY}", OWNER="${WESTONUSER}", SECLABEL{smack}="^"
+SUBSYSTEM=="tty", KERNEL=="tty${WESTONTTY}", OWNER="${WESTONUSER}", SECLABEL{smack}="^", TAG+="systemd", ENV{SYSTEMD_WANTS}="weston.service"
 EOF
 
     # user 'display' must also be able to access /dev/input/*
     cat >${D}${sysconfdir}/udev/rules.d/zz-input.rules <<'EOF'
-SUBSYSTEM=="input", MODE="0660", GROUP="input", SECLABEL{smack}="^"
+SUBSYSTEM=="input", MODE="0660", GROUP="input", SECLABEL{smack}="^", TAG+="systemd", ENV{SYSTEMD_WANTS}="weston.service"
 EOF
 
     # user 'display' must also be able to access /dev/media*, etc.
     cat >${D}${sysconfdir}/udev/rules.d/zz-remote-display.rules <<'EOF'
-SUBSYSTEM=="media", MODE="0660", GROUP="display", SECLABEL{smack}="*"
-SUBSYSTEM=="video4linux", MODE="0660", GROUP="display", SECLABEL{smack}="*"
+SUBSYSTEM=="media", MODE="0660", GROUP="display", SECLABEL{smack}="*", TAG+="systemd", ENV{SYSTEMD_WANTS}="weston.service"
+SUBSYSTEM=="video4linux", MODE="0660", GROUP="display", SECLABEL{smack}="*", TAG+="systemd", ENV{SYSTEMD_WANTS}="weston.service"
 KERNEL=="uvcs", SUBSYSTEM=="misc", MODE="0660", GROUP="display", SECLABEL{smack}="*"
 KERNEL=="rgnmm", SUBSYSTEM=="misc", MODE="0660", GROUP="display", SECLABEL{smack}="*"
 EOF