diff options
Diffstat (limited to 'meta/recipes-graphics/wayland/weston-init.bb')
-rw-r--r-- | meta/recipes-graphics/wayland/weston-init.bb | 83 |
1 files changed, 49 insertions, 34 deletions
diff --git a/meta/recipes-graphics/wayland/weston-init.bb b/meta/recipes-graphics/wayland/weston-init.bb index 65d7b81dc5..024e400665 100644 --- a/meta/recipes-graphics/wayland/weston-init.bb +++ b/meta/recipes-graphics/wayland/weston-init.bb | |||
@@ -9,73 +9,88 @@ SRC_URI = "file://init \ | |||
9 | file://weston.ini \ | 9 | file://weston.ini \ |
10 | file://weston.service \ | 10 | file://weston.service \ |
11 | file://weston.socket \ | 11 | file://weston.socket \ |
12 | file://weston-socket.sh \ | ||
12 | file://weston-autologin \ | 13 | file://weston-autologin \ |
13 | file://weston-start" | 14 | file://weston-start" |
14 | 15 | ||
15 | S = "${WORKDIR}" | 16 | S = "${WORKDIR}" |
16 | 17 | ||
17 | PACKAGECONFIG ??= "" | 18 | PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xwayland', '', d)}" |
19 | PACKAGECONFIG:append:qemuriscv64 = " use-pixman" | ||
20 | PACKAGECONFIG:append:qemuppc64 = " use-pixman" | ||
18 | 21 | ||
22 | PACKAGECONFIG[xwayland] = ",," | ||
19 | PACKAGECONFIG[no-idle-timeout] = ",," | 23 | PACKAGECONFIG[no-idle-timeout] = ",," |
24 | PACKAGECONFIG[use-pixman] = ",," | ||
20 | 25 | ||
21 | DEFAULTBACKEND ??= "" | 26 | DEFAULTBACKEND ??= "" |
22 | DEFAULTBACKEND_qemuall ?= "fbdev" | 27 | DEFAULTBACKEND:qemuall ?= "drm" |
23 | DEFAULTBACKEND_qemuarm64 = "drm" | ||
24 | DEFAULTBACKEND_qemux86 = "drm" | ||
25 | DEFAULTBACKEND_qemux86-64 = "drm" | ||
26 | # gallium swrast was found to crash weston on startup in x32 qemu | ||
27 | DEFAULTBACKEND_qemux86-64_x86-x32 = "fbdev" | ||
28 | DEFAULTBACKEND_x86-x32 = "fbdev" | ||
29 | 28 | ||
30 | do_install() { | 29 | do_install() { |
31 | if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then | 30 | # Install weston-start script |
31 | if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then | ||
32 | install -Dm755 ${WORKDIR}/weston-start ${D}${bindir}/weston-start | ||
33 | sed -i 's,@DATADIR@,${datadir},g' ${D}${bindir}/weston-start | ||
34 | sed -i 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${bindir}/weston-start | ||
32 | install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/weston | 35 | install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/weston |
33 | fi | 36 | sed -i 's#ROOTHOME#${ROOT_HOME}#' ${D}/${sysconfdir}/init.d/weston |
37 | fi | ||
38 | |||
39 | # Install Weston systemd service | ||
40 | if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then | ||
41 | install -D -p -m0644 ${WORKDIR}/weston.service ${D}${systemd_system_unitdir}/weston.service | ||
42 | install -D -p -m0644 ${WORKDIR}/weston.socket ${D}${systemd_system_unitdir}/weston.socket | ||
43 | install -D -p -m0644 ${WORKDIR}/weston-socket.sh ${D}${sysconfdir}/profile.d/weston-socket.sh | ||
44 | sed -i -e s:/etc:${sysconfdir}:g \ | ||
45 | -e s:/usr/bin:${bindir}:g \ | ||
46 | -e s:/var:${localstatedir}:g \ | ||
47 | ${D}${systemd_system_unitdir}/weston.service | ||
48 | fi | ||
49 | |||
50 | if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then | ||
51 | install -D -p -m0644 ${WORKDIR}/weston-autologin ${D}${sysconfdir}/pam.d/weston-autologin | ||
52 | fi | ||
53 | |||
34 | install -D -p -m0644 ${WORKDIR}/weston.ini ${D}${sysconfdir}/xdg/weston/weston.ini | 54 | install -D -p -m0644 ${WORKDIR}/weston.ini ${D}${sysconfdir}/xdg/weston/weston.ini |
35 | install -Dm644 ${WORKDIR}/weston.env ${D}${sysconfdir}/default/weston | 55 | install -Dm644 ${WORKDIR}/weston.env ${D}${sysconfdir}/default/weston |
36 | 56 | ||
37 | # Install Weston systemd service and accompanying udev rule | 57 | if [ -n "${DEFAULTBACKEND}" ]; then |
38 | install -D -p -m0644 ${WORKDIR}/weston.service ${D}${systemd_system_unitdir}/weston.service | ||
39 | install -D -p -m0644 ${WORKDIR}/weston.socket ${D}${systemd_system_unitdir}/weston.socket | ||
40 | if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then | ||
41 | install -D -p -m0644 ${WORKDIR}/weston-autologin ${D}${sysconfdir}/pam.d/weston-autologin | ||
42 | fi | ||
43 | sed -i -e s:/etc:${sysconfdir}:g \ | ||
44 | -e s:/usr/bin:${bindir}:g \ | ||
45 | -e s:/var:${localstatedir}:g \ | ||
46 | ${D}${systemd_unitdir}/system/weston.service | ||
47 | # Install weston-start script | ||
48 | install -Dm755 ${WORKDIR}/weston-start ${D}${bindir}/weston-start | ||
49 | sed -i 's,@DATADIR@,${datadir},g' ${D}${bindir}/weston-start | ||
50 | sed -i 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${bindir}/weston-start | ||
51 | if [ -n "${DEFAULTBACKEND}" ]; then | ||
52 | sed -i -e "/^\[core\]/a backend=${DEFAULTBACKEND}-backend.so" ${D}${sysconfdir}/xdg/weston/weston.ini | 58 | sed -i -e "/^\[core\]/a backend=${DEFAULTBACKEND}-backend.so" ${D}${sysconfdir}/xdg/weston/weston.ini |
53 | fi | 59 | fi |
54 | 60 | ||
61 | if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then | ||
62 | sed -i -e "/^\[core\]/a xwayland=true" ${D}${sysconfdir}/xdg/weston/weston.ini | ||
63 | fi | ||
64 | |||
55 | if [ "${@bb.utils.contains('PACKAGECONFIG', 'no-idle-timeout', 'yes', 'no', d)}" = "yes" ]; then | 65 | if [ "${@bb.utils.contains('PACKAGECONFIG', 'no-idle-timeout', 'yes', 'no', d)}" = "yes" ]; then |
56 | sed -i -e "/^\[core\]/a idle-time=0" ${D}${sysconfdir}/xdg/weston/weston.ini | 66 | sed -i -e "/^\[core\]/a idle-time=0" ${D}${sysconfdir}/xdg/weston/weston.ini |
57 | fi | 67 | fi |
58 | 68 | ||
69 | if [ "${@bb.utils.contains('PACKAGECONFIG', 'use-pixman', 'yes', 'no', d)}" = "yes" ]; then | ||
70 | sed -i -e "/^\[core\]/a use-pixman=true" ${D}${sysconfdir}/xdg/weston/weston.ini | ||
71 | fi | ||
72 | |||
59 | install -dm 755 -o weston -g weston ${D}/home/weston | 73 | install -dm 755 -o weston -g weston ${D}/home/weston |
60 | } | 74 | } |
61 | 75 | ||
62 | INHIBIT_UPDATERCD_BBCLASS = "${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', '1', '', d)}" | 76 | INHIBIT_UPDATERCD_BBCLASS = "${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', '1', '', d)}" |
63 | 77 | ||
64 | inherit update-rc.d features_check systemd useradd | 78 | inherit update-rc.d systemd useradd |
65 | 79 | ||
66 | USERADD_PACKAGES = "${PN}" | 80 | USERADD_PACKAGES = "${PN}" |
67 | 81 | ||
68 | # rdepends on weston which depends on virtual/egl | 82 | # rdepends on weston which depends on virtual/egl |
69 | # requires pam enabled if started via systemd | 83 | # |
70 | REQUIRED_DISTRO_FEATURES = "opengl ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam', '', d)}" | 84 | require ${THISDIR}/required-distro-features.inc |
71 | 85 | ||
72 | RDEPENDS_${PN} = "weston kbd" | 86 | RDEPENDS:${PN} = "weston kbd" |
73 | 87 | ||
74 | INITSCRIPT_NAME = "weston" | 88 | INITSCRIPT_NAME = "weston" |
75 | INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ." | 89 | INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ." |
76 | 90 | ||
77 | FILES_${PN} += "\ | 91 | FILES:${PN} += "\ |
78 | ${sysconfdir}/xdg/weston/weston.ini \ | 92 | ${sysconfdir}/xdg/weston/weston.ini \ |
93 | ${sysconfdir}/profile.d/weston-socket.sh \ | ||
79 | ${systemd_system_unitdir}/weston.service \ | 94 | ${systemd_system_unitdir}/weston.service \ |
80 | ${systemd_system_unitdir}/weston.socket \ | 95 | ${systemd_system_unitdir}/weston.socket \ |
81 | ${sysconfdir}/default/weston \ | 96 | ${sysconfdir}/default/weston \ |
@@ -83,9 +98,9 @@ FILES_${PN} += "\ | |||
83 | /home/weston \ | 98 | /home/weston \ |
84 | " | 99 | " |
85 | 100 | ||
86 | CONFFILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini ${sysconfdir}/default/weston" | 101 | CONFFILES:${PN} += "${sysconfdir}/xdg/weston/weston.ini ${sysconfdir}/default/weston" |
87 | 102 | ||
88 | SYSTEMD_SERVICE_${PN} = "weston.service weston.socket" | 103 | SYSTEMD_SERVICE:${PN} = "weston.service weston.socket" |
89 | USERADD_PARAM_${PN} = "--home /home/weston --shell /bin/sh --user-group -G video,input weston" | 104 | USERADD_PARAM:${PN} = "--home /home/weston --shell /bin/sh --user-group -G video,input,render,wayland weston" |
90 | GROUPADD_PARAM_${PN} = "-r wayland" | 105 | GROUPADD_PARAM:${PN} = "-r wayland; -r render" |
91 | 106 | ||