Advertisement
Guest User

Untitled

a guest
Jan 13th, 2022
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.45 KB | None | 0 0
  1. SUMMARY = "Startup script and systemd unit file for the Weston Wayland compositor"
  2. LICENSE = "MIT"
  3. LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
  4.  
  5. PACKAGE_ARCH = "${MACHINE_ARCH}"
  6.  
  7. SRC_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.  
  15. S = "${WORKDIR}"
  16.  
  17. PACKAGECONFIG ??= ""
  18.  
  19. PACKAGECONFIG[no-idle-timeout] = ",,"
  20.  
  21. DEFAULTBACKEND ??= ""
  22. DEFAULTBACKEND:qemuall ?= "fbdev"
  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.  
  30. do_install() {
  31. if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then
  32. install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/weston
  33. sed -i 's#ROOTHOME#${ROOT_HOME}#' ${D}/${sysconfdir}/init.d/weston
  34. fi
  35. install -D -p -m0644 ${WORKDIR}/weston.ini ${D}${sysconfdir}/xdg/weston/weston.ini
  36. install -Dm644 ${WORKDIR}/weston.env ${D}${sysconfdir}/default/weston
  37.  
  38. # Install Weston systemd service and accompanying udev rule
  39. install -D -p -m0644 ${WORKDIR}/weston.service ${D}${systemd_system_unitdir}/weston.service
  40. install -D -p -m0644 ${WORKDIR}/weston.socket ${D}${systemd_system_unitdir}/weston.socket
  41. if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
  42. install -D -p -m0644 ${WORKDIR}/weston-autologin ${D}${sysconfdir}/pam.d/weston-autologin
  43. fi
  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. # Install weston-start script
  49. install -Dm755 ${WORKDIR}/weston-start ${D}${bindir}/weston-start
  50. sed -i 's,@DATADIR@,${datadir},g' ${D}${bindir}/weston-start
  51. sed -i 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${bindir}/weston-start
  52. if [ -n "${DEFAULTBACKEND}" ]; then
  53. sed -i -e "/^\[core\]/a backend=${DEFAULTBACKEND}-backend.so" ${D}${sysconfdir}/xdg/weston/weston.ini
  54. fi
  55.  
  56. if [ "${@bb.utils.contains('PACKAGECONFIG', 'no-idle-timeout', 'yes', 'no', d)}" = "yes" ]; then
  57. sed -i -e "/^\[core\]/a idle-time=0" ${D}${sysconfdir}/xdg/weston/weston.ini
  58. fi
  59.  
  60. install -dm 755 -o weston -g weston ${D}/home/weston
  61. }
  62.  
  63. INHIBIT_UPDATERCD_BBCLASS = "${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', '1', '', d)}"
  64.  
  65. inherit update-rc.d features_check systemd useradd
  66.  
  67. USERADD_PACKAGES = "${PN}"
  68.  
  69. # rdepends on weston which depends on virtual/egl
  70. # requires pam enabled if started via systemd
  71. REQUIRED_DISTRO_FEATURES = "opengl ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam', '', d)}"
  72.  
  73. RDEPENDS:${PN} = "weston kbd"
  74.  
  75. INITSCRIPT_NAME = "weston"
  76. INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ."
  77.  
  78. FILES:${PN} += "\
  79. ${sysconfdir}/xdg/weston/weston.ini \
  80. ${systemd_system_unitdir}/weston.service \
  81. ${systemd_system_unitdir}/weston.socket \
  82. ${sysconfdir}/default/weston \
  83. ${sysconfdir}/pam.d/ \
  84. /home/weston \
  85. "
  86.  
  87. CONFFILES:${PN} += "${sysconfdir}/xdg/weston/weston.ini ${sysconfdir}/default/weston"
  88.  
  89. SYSTEMD_SERVICE:${PN} = "weston.service weston.socket"
  90. USERADD_PARAM:${PN} = "--home /home/weston --shell /bin/sh --user-group -G video,input weston"
  91. GROUPADD_PARAM:${PN} = "-r wayland"
  92.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement