1SUMMARY = "Startup script and systemd unit file for the Weston Wayland compositor" 2LICENSE = "MIT" 3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 4 5PACKAGE_ARCH = "${MACHINE_ARCH}" 6 7SRC_URI = "file://init \ 8 file://weston.env \ 9 file://weston.ini \ 10 file://weston.service \ 11 file://weston.socket \ 12 file://weston-autologin \ 13 file://weston-start" 14 15S = "${WORKDIR}" 16 17PACKAGECONFIG ??= "" 18PACKAGECONFIG:append:qemuriscv64 = " use-pixman" 19PACKAGECONFIG:append:qemuppc64 = " use-pixman" 20 21PACKAGECONFIG[no-idle-timeout] = ",," 22PACKAGECONFIG[use-pixman] = ",," 23 24DEFAULTBACKEND ??= "" 25DEFAULTBACKEND:qemuall ?= "drm" 26 27do_install() { 28 if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then 29 install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/weston 30 sed -i 's#ROOTHOME#${ROOT_HOME}#' ${D}/${sysconfdir}/init.d/weston 31 fi 32 install -D -p -m0644 ${WORKDIR}/weston.ini ${D}${sysconfdir}/xdg/weston/weston.ini 33 install -Dm644 ${WORKDIR}/weston.env ${D}${sysconfdir}/default/weston 34 35 # Install Weston systemd service and accompanying udev rule 36 install -D -p -m0644 ${WORKDIR}/weston.service ${D}${systemd_system_unitdir}/weston.service 37 install -D -p -m0644 ${WORKDIR}/weston.socket ${D}${systemd_system_unitdir}/weston.socket 38 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then 39 install -D -p -m0644 ${WORKDIR}/weston-autologin ${D}${sysconfdir}/pam.d/weston-autologin 40 fi 41 sed -i -e s:/etc:${sysconfdir}:g \ 42 -e s:/usr/bin:${bindir}:g \ 43 -e s:/var:${localstatedir}:g \ 44 ${D}${systemd_system_unitdir}/weston.service 45 # Install weston-start script 46 install -Dm755 ${WORKDIR}/weston-start ${D}${bindir}/weston-start 47 sed -i 's,@DATADIR@,${datadir},g' ${D}${bindir}/weston-start 48 sed -i 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${bindir}/weston-start 49 if [ -n "${DEFAULTBACKEND}" ]; then 50 sed -i -e "/^\[core\]/a backend=${DEFAULTBACKEND}-backend.so" ${D}${sysconfdir}/xdg/weston/weston.ini 51 fi 52 53 if [ "${@bb.utils.contains('PACKAGECONFIG', 'no-idle-timeout', 'yes', 'no', d)}" = "yes" ]; then 54 sed -i -e "/^\[core\]/a idle-time=0" ${D}${sysconfdir}/xdg/weston/weston.ini 55 fi 56 57 if [ "${@bb.utils.contains('PACKAGECONFIG', 'use-pixman', 'yes', 'no', d)}" = "yes" ]; then 58 sed -i -e "/^\[core\]/a use-pixman=true" ${D}${sysconfdir}/xdg/weston/weston.ini 59 fi 60 61 install -dm 755 -o weston -g weston ${D}/home/weston 62} 63 64INHIBIT_UPDATERCD_BBCLASS = "${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', '1', '', d)}" 65 66inherit update-rc.d systemd useradd 67 68USERADD_PACKAGES = "${PN}" 69 70# rdepends on weston which depends on virtual/egl 71# 72require ${THISDIR}/required-distro-features.inc 73 74RDEPENDS:${PN} = "weston kbd" 75 76INITSCRIPT_NAME = "weston" 77INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ." 78 79FILES:${PN} += "\ 80 ${sysconfdir}/xdg/weston/weston.ini \ 81 ${systemd_system_unitdir}/weston.service \ 82 ${systemd_system_unitdir}/weston.socket \ 83 ${sysconfdir}/default/weston \ 84 ${sysconfdir}/pam.d/ \ 85 /home/weston \ 86 " 87 88CONFFILES:${PN} += "${sysconfdir}/xdg/weston/weston.ini ${sysconfdir}/default/weston" 89 90SYSTEMD_SERVICE:${PN} = "weston.service weston.socket" 91USERADD_PARAM:${PN} = "--home /home/weston --shell /bin/sh --user-group -G video,input weston" 92GROUPADD_PARAM:${PN} = "-r wayland" 93 94