xserver-nodm-init_3.0.bb 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. SUMMARY = "Simple Xserver Init Script (no dm)"
  2. LICENSE = "GPL-2.0-only"
  3. LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
  4. SECTION = "x11"
  5. SRC_URI = "file://xserver-nodm \
  6. file://Xserver \
  7. file://X11 \
  8. file://gplv2-license.patch \
  9. file://xserver-nodm.service.in \
  10. file://xserver-nodm.conf.in \
  11. file://capability.conf \
  12. "
  13. S = "${WORKDIR}"
  14. # Since we refer to ROOTLESS_X which is normally enabled per-machine
  15. PACKAGE_ARCH = "${MACHINE_ARCH}"
  16. inherit update-rc.d systemd features_check
  17. REQUIRED_DISTRO_FEATURES = "x11 ${@oe.utils.conditional('ROOTLESS_X', '1', 'pam', '', d)}"
  18. PACKAGECONFIG ??= "blank"
  19. # dpms and screen saver will be on only if 'blank' is in PACKAGECONFIG
  20. PACKAGECONFIG[blank] = ""
  21. PACKAGECONFIG[nocursor] = ""
  22. do_install() {
  23. install -d ${D}${sysconfdir}/default
  24. install xserver-nodm.conf.in ${D}${sysconfdir}/default/xserver-nodm
  25. install -d ${D}${sysconfdir}/xserver-nodm
  26. install Xserver ${D}${sysconfdir}/xserver-nodm/Xserver
  27. install -d ${D}${sysconfdir}/X11/Xsession.d
  28. install X11/Xsession.d/* ${D}${sysconfdir}/X11/Xsession.d/
  29. install X11/Xsession ${D}${sysconfdir}/X11/
  30. BLANK_ARGS="${@bb.utils.contains('PACKAGECONFIG', 'blank', '', '-s 0 -dpms', d)}"
  31. NO_CURSOR_ARG="${@bb.utils.contains('PACKAGECONFIG', 'nocursor', '-nocursor', '', d)}"
  32. if [ "${ROOTLESS_X}" = "1" ] ; then
  33. XUSER_HOME="/home/xuser"
  34. XUSER="xuser"
  35. install -D capability.conf ${D}${sysconfdir}/security/capability.conf
  36. sed -i "s:@USER@:${XUSER}:" ${D}${sysconfdir}/security/capability.conf
  37. else
  38. XUSER_HOME=${ROOT_HOME}
  39. XUSER="root"
  40. fi
  41. sed -i "s:@HOME@:${XUSER_HOME}:; s:@USER@:${XUSER}:; s:@BLANK_ARGS@:${BLANK_ARGS}:" \
  42. ${D}${sysconfdir}/default/xserver-nodm
  43. sed -i "s:@NO_CURSOR_ARG@:${NO_CURSOR_ARG}:" ${D}${sysconfdir}/default/xserver-nodm
  44. if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
  45. install -d ${D}${systemd_system_unitdir}
  46. install -m 0644 ${WORKDIR}/xserver-nodm.service.in ${D}${systemd_system_unitdir}/xserver-nodm.service
  47. sed -i "s:@USER@:${XUSER}:" ${D}${systemd_system_unitdir}/xserver-nodm.service
  48. fi
  49. if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then
  50. install -d ${D}${sysconfdir}/init.d
  51. install xserver-nodm ${D}${sysconfdir}/init.d
  52. fi
  53. }
  54. RDEPENDS:${PN} = "xinit ${@oe.utils.conditional('ROOTLESS_X', '1', 'xuser-account libcap libcap-bin', '', d)}"
  55. INITSCRIPT_NAME = "xserver-nodm"
  56. INITSCRIPT_PARAMS = "start 9 5 . stop 20 0 1 2 3 6 ."
  57. SYSTEMD_SERVICE:${PN} = "xserver-nodm.service"
  58. RCONFLICTS:${PN} = "xserver-common (< 1.34-r9) x11-common"