1. DESCRIPTION = ""
  2. LICENSE = "CLOSED"
  3. HOMEPAGE = "http://www.example.com"
  4. PR = "r7"
  5. PE = "1"
  6. DEPENDS += "glog libeigen qt4-x11-free icu curlpp sqlite3 libusb libxml++ libarchive opkg wireless-tools libevdev"
  7. RDEPENDS_${PN} += "libicui18n xorg-launch-helper five"
  8. SRC_URI="git://bitbucket.org:22/company/a-repo.git;protocol=ssh;user=git;branch=master \
  9. file://main-ui.service;md5=80450c2ee3a3f80c7ca5033e9d0d6336 \
  10. file://80-input.rules;md5=a5b2ef34a79fdbef158918a02b60e601 \
  11. file://80-four.rules;md5=545913e42d349e15848ab7a0e235099d \
  12. file://80-five.rules;md5=0b41c7d65175e516550ab5021ad6fd89 \
  13. file://80-shell.rules;md5=89c5711d63b58cccb28871f441ac8b9a"
  14. SRCREV = ""
  15. S = "${WORKDIR}/git"
  16. inherit useradd cmake cmake_qt_workaround
  17. USERADD_PACKAGES = "${PN}"
  18. GROUPADD_PARAM_${PN} = "shell"
  19. USERADD_PARAM_${PN} = "-m -d /home/shell -r -s /bin/sh -g shell -G input shell"
  20. PACKAGES =+ "main-ui-one main-ui-two main-ui-three "
  21. PACKAGES_DYNAMIC = "main-ui-plugin-.*"
  22. FILES_${PN} += " \
  23. ${libdir}/systemd/system/main-ui.service \
  24. ${sysconfdir}/systemd/system/default.target \
  25. ${libdir}/main-ui \
  26. ${datadir}/main-ui \
  27. ${bindir}/main-ui \
  28. /etc/udev/rules.d/80-input.rules \
  29. /etc/udev/rules.d/80-four.rules \
  30. /etc/udev/rules.d/80-five.rules \
  31. /etc/polkit-1/rules.d/80-shell.rules \
  32. /usr/local/etc/xml \
  33. /var/lib/main-ui \
  34. ${datadir}/dbus-1/system-services/*.service \
  35. ${sysconfdir}/dbus-1/system.d/*.conf"
  36. FILES_${PN}-dbg += "${libdir}/main-ui/plugins/*/*/.debug"
  37. FILES_${PN}-one = "\
  38. ${bindir}/one \
  39. ${libdir}/systemd/system/dbus-com.company.one.service \
  40. ${datadir}/dbus-1/systemd/com.company.one.service \
  41. ${sysconfdir}/dbus-1/system.d/com.company.one.conf"
  42. FILES_${PN}-two = "\
  43. ${bindir}/two \
  44. ${libdir}/systemd/system/dbus-com.company.two.service \
  45. ${datadir}/dbus-1/systemd/com.company.two.service \
  46. ${sysconfdir}/dbus-1/system.d/com.company.two.conf"
  47. FILES_${PN}-three = "\
  48. ${bindir}/three \
  49. ${libdir}/systemd/system/dbus-com.company.ultrasonicmodem.service \
  50. ${datadir}/dbus-1/systemd/com.company.ultrasonicmodem.service \
  51. ${sysconfdir}/dbus-1/system.d/com.company.three.conf"
  52. do_install_append() {
  53. # Install system configuration files
  54. install -d "${D}${libdir}/systemd/system"
  55. install -m 444 "${WORKDIR}/main-ui.service" "${D}${libdir}/systemd/system"
  56. install -d "${D}${sysconfdir}/udev/rules.d"
  57. install -m 600 "${WORKDIR}/80-input.rules" "${D}${sysconfdir}/udev/rules.d"
  58. install -m 600 "${WORKDIR}/80-four.rules" "${D}${sysconfdir}/udev/rules.d"
  59. install -m 600 "${WORKDIR}/80-five.rules" "${D}${sysconfdir}/udev/rules.d"
  60. install -d "${D}${sysconfdir}/polkit-1/rules.d"
  61. install -m 644 "${WORKDIR}/80-shell.rules" "${D}${sysconfdir}/polkit-1/rules.d"
  62. # Add suid for wireless and store.
  63. chown root:shell "${D}/${libdir}/main-ui/plugins/applications/app1/app1"
  64. chmod 4770 "${D}/${libdir}/main-ui/plugins/applications/app1/app1"
  65. chown root:shell "${D}/${libdir}/main-ui/plugins/applications/app2/app2"
  66. chmod 4770 "${D}/${libdir}/main-ui/plugins/applications/app2/app2"
  67. # Add wpa_supplicant conf.
  68. install -m 770 "${WORKDIR}/git/wpa_supplicant-wifi0.conf" "${D}/etc/wpa_supplicant-wifi0.conf"
  69. }
  70. pkg_postinst_main-ui () {
  71. #!/bin/sh -e
  72. # Don't run this script on the device
  73. if [ x"$D" = "x" ]; then
  74. return 0
  75. fi
  76. # Enable the services
  77. install -d "$D/etc/systemd/system/graphical.target.wants"
  78. ln -s "/usr/lib/systemd/system/main-ui.service" "$D/etc/systemd/system/graphical.target.wants"
  79. }
  80. pkg_postinst_main-ui-one () {
  81. #!/bin/sh -e
  82. # Don't run this script on the device
  83. if [ x"$D" = "x" ]; then
  84. return 0
  85. fi
  86. # Enable the services
  87. install -d "$D/etc/systemd/system/graphical.target.wants"
  88. ln -s "/usr/lib/systemd/system/dbus-com.company.one.service" "$D/etc/systemd/system/graphical.target.wants/dbus-com.company.one.service"
  89. }
  90. pkg_postinst_main-ui-two () {
  91. #!/bin/sh -e
  92. # Don't run this script on the device
  93. if [ x"$D" = "x" ]; then
  94. return 0
  95. fi
  96. # Enable the services
  97. install -d "$D/etc/systemd/system/graphical.target.wants"
  98. ln -s "/usr/lib/systemd/system/dbus-com.company.two.service" "$D/etc/systemd/system/graphical.target.wants/dbus-com.company.two.service"
  99. }
  100. pkg_postinst_main-ui-three () {
  101. #!/bin/sh -e
  102. # Don't run this script on the device
  103. if [ x"$D" = "x" ]; then
  104. return 0
  105. fi
  106. # Enable the services
  107. ln -s "/usr/lib/systemd/system/dbus-com.company.three.service" "$D/etc/systemd/system/graphical.target.wants/dbus-com.company.three.service"
  108. install -d "$D/etc/systemd/system/graphical.target.wants"
  109. }
  110. python populate_packages_prepend() {
  111. #do_split_packages(d, root='/usr/lib/main-ui/plugins/applications/', file_regex='(.*)', output_pattern='main-ui-plugin-%s', description='%s app', recursive=True, extra_depends='main-ui')
  112. app_dir = d.expand("${D}") + "/" + d.expand("${libdir}") + "/main-ui/plugins/applications"
  113. print "app_dir = ", app_dir
  114. for dir in os.listdir(app_dir):
  115. print "dir = ", dir
  116. do_split_packages(d, root='/usr/lib/main-ui/plugins/applications/' + dir, file_regex='(.*)', output_pattern='main-ui-plugin-%s', description='%s app', recursive=False, extra_depends='main-ui')
  117. pkgs = d.getVar("PACKAGES", True)
  118. files = d.getVar("FILES_main-ui-plugin-wireless", True)
  119. print "pkgs = ", pkgs
  120. print "files = ", files
  121. }