1 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
5 WESTONSTART ??= "/usr/bin/weston ${WESTONARGS}"
6 WESTONSTART_append = " ${@bb.utils.contains("IMAGE_FEATURES", "debug-tweaks", " --log=${DISPLAY_XDG_RUNTIME_DIR}/weston.log", "",d)}"
9 file://weston_tmpfiles.conf \
10 file://weston.service.add \
14 sed -i "/\[Unit\]/aConflicts=getty@tty${WESTONTTY}.service" \
15 ${D}${systemd_system_unitdir}/weston.service
17 sed -i "/\[Service\]/r ${S}/weston.service.add" \
18 ${D}${systemd_system_unitdir}/weston.service
20 sed -e 's,User=root,User=${WESTONUSER},g' \
21 -e 's,ExecStart=.*,ExecStart=${WESTONSTART},g' \
22 -e 's,@WESTONTTY@,${WESTONTTY},g' \
23 -e 's,@XDG_RUNTIME_DIR@,${DISPLAY_XDG_RUNTIME_DIR},g' \
24 -i ${D}${systemd_system_unitdir}/weston.service
26 # Add a rule to ensure the 'display' user has permissions to
27 # open the graphics device
28 install -d ${D}${sysconfdir}/init.d
29 install -d ${D}${sysconfdir}/udev/rules.d
30 cat >${D}${sysconfdir}/udev/rules.d/zz-dri.rules <<'EOF'
31 SUBSYSTEM=="drm", MODE="0660", GROUP="${WESTONGROUP}", SECLABEL{smack}="*", TAG+="systemd", ENV{SYSTEMD_WANTS}="weston.service"
34 # user 'display' must own /dev/tty${WESTONTTY} for weston to start correctly
35 cat >${D}${sysconfdir}/udev/rules.d/zz-tty.rules <<'EOF'
36 SUBSYSTEM=="tty", KERNEL=="tty${WESTONTTY}", OWNER="${WESTONUSER}", SECLABEL{smack}="^", TAG+="systemd", ENV{SYSTEMD_WANTS}="weston.service"
39 # user 'display' must also be able to access /dev/input/*
40 cat >${D}${sysconfdir}/udev/rules.d/zz-input.rules <<'EOF'
41 SUBSYSTEM=="input", MODE="0660", GROUP="input", SECLABEL{smack}="^", TAG+="systemd", ENV{SYSTEMD_WANTS}="weston.service"
44 # user 'display' must also be able to access /dev/media*, etc.
45 cat >${D}${sysconfdir}/udev/rules.d/zz-remote-display.rules <<'EOF'
46 SUBSYSTEM=="media", MODE="0660", GROUP="display", SECLABEL{smack}="*", TAG+="systemd", ENV{SYSTEMD_WANTS}="weston.service"
47 SUBSYSTEM=="video4linux", MODE="0660", GROUP="display", SECLABEL{smack}="*", TAG+="systemd", ENV{SYSTEMD_WANTS}="weston.service"
48 KERNEL=="uvcs", SUBSYSTEM=="misc", MODE="0660", GROUP="display", SECLABEL{smack}="*"
49 KERNEL=="rgnmm", SUBSYSTEM=="misc", MODE="0660", GROUP="display", SECLABEL{smack}="*"
52 install -d ${D}${sysconfdir}/tmpfiles.d
53 install -Dm755 ${WORKDIR}/weston_tmpfiles.conf ${D}/${libdir}/tmpfiles.d/weston.conf
55 sed -e 's,@WESTONUSER@,${WESTONUSER},g' \
56 -e 's,@WESTONGROUP@,${WESTONGROUP},g' \
57 -i ${D}/${libdir}/tmpfiles.d/weston.conf
60 do_install_append_imx() {
62 install -d ${D}${sysconfdir}/udev/rules.d
63 cat >>${D}${sysconfdir}/udev/rules.d/zz-dri.rules <<'EOF'
64 SUBSYSTEM=="gpu_class", MODE="0660", GROUP="${WESTONGROUP}", SECLABEL{smack}="*"
69 FILES_${PN} += "${libdir}/tmpfiles.d/*.conf"