udev_165.bb 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. DESCRIPTION = "udev is a daemon which dynamically creates and removes device nodes from \
  2. /dev/, handles hotplug events and loads drivers at boot time. It replaces \
  3. the hotplug package and requires a kernel not older than 2.6.12."
  4. LICENSE = "GPLv2+ & LGPLv2.1+"
  5. LICENSE_${PN} = "GPLv2+"
  6. LICENSE_libudev = "LGPLv2.1+"
  7. LICENSE_libgudev = "LGPLv2.1+"
  8. LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
  9. file://libudev/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
  10. file://extras/gudev/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
  11. PR = "r2"
  12. # Untested
  13. DEFAULT_PREFERENCE = "-1"
  14. # Needed for udev-extras
  15. DEPENDS = "gperf-native usbutils acl glib-2.0"
  16. RDEPENDS_${PN} += "module-init-tools-depmod udev-utils"
  17. SRC_URI = "http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \
  18. file://mount.blacklist \
  19. file://run.rules \
  20. "
  21. SRC_URI[md5sum] = "b8cf77be693fd09ccfcf26d3e4e23e97"
  22. SRC_URI[sha256sum] = "5c271f43d8a28176050abbc6b4e4354203b6a7d810c72c18afefd1ee100485c3"
  23. SRC_URI += " \
  24. file://udev.rules \
  25. file://devfs-udev.rules \
  26. file://links.conf \
  27. file://permissions.rules \
  28. file://mount.sh \
  29. file://network.sh \
  30. file://local.rules \
  31. file://default \
  32. file://init \
  33. file://cache \
  34. file://udev-compat-wrapper-patch \
  35. "
  36. SRC_URI_append_h2200 = " file://50-hostap_cs.rules "
  37. PACKAGE_ARCH_h2200 = "h2200"
  38. #buglabs's bug device
  39. SRC_URI_append_bug = " \
  40. file://30-BUG.rules \
  41. file://10-mx31.rules \
  42. file://bmi_eventpipe.sh "
  43. SRC_URI_append_nokia900 = " \
  44. file://10-cmt_speech.rules \
  45. file://70-persistent-net.rules \
  46. file://udev-rules-nokia-n900-hacks.rules \
  47. file://udev-rules-nokia-n900-snd.rules \
  48. file://nokia-n900-mac-hack.sh \
  49. "
  50. PACKAGE_ARCH_bug = "bug"
  51. inherit update-rc.d autotools
  52. EXTRA_OECONF += " --with-udev-prefix= \
  53. --with-libdir-name=${base_libdir} \
  54. --with-pci-ids-path=/usr/share/misc \
  55. --disable-introspection \
  56. ac_cv_file__usr_share_pci_ids=no \
  57. ac_cv_file__usr_share_hwdata_pci_ids=no \
  58. ac_cv_file__usr_share_misc_pci_ids=yes \
  59. --sbindir=${base_sbindir} \
  60. --libexecdir=${base_libdir}/udev \
  61. --with-rootlibdir=${base_libdir} \
  62. "
  63. INITSCRIPT_NAME = "udev"
  64. INITSCRIPT_PARAMS = "start 03 S ."
  65. PACKAGES =+ "libudev libgudev udev-utils"
  66. FILES_libudev = "${base_libdir}/libudev.so.*"
  67. FILES_libgudev = "${base_libdir}/libgudev*.so.*"
  68. FILES_udev-utils = "${bindir}/udevinfo ${bindir}/udevtest ${base_sbindir}/udevadm"
  69. RPROVIDES_${PN} = "hotplug"
  70. FILES_${PN} += "${usrbindir}/* ${usrsbindir}/udevd"
  71. FILES_${PN}-dbg += "${usrbindir}/.debug ${usrsbindir}/.debug"
  72. # udev installs binaries under $(udev_prefix)/lib/udev, even if ${libdir}
  73. # is ${prefix}/lib64
  74. FILES_${PN} += "/lib/udev* ${libdir}/ConsoleKit"
  75. FILES_${PN}-dbg += "/lib/udev/.debug"
  76. RPROVIDES_udev_append = " udev-compat-wrapper"
  77. RDEPENDS_udev_append_spitz = " udev-compat"
  78. do_unpack_append_spitz() {
  79. bb.build.exec_func('do_apply_compat_wrapper', d)
  80. }
  81. RDEPENDS_udev_append_akita = " udev-compat"
  82. do_unpack_append_akita() {
  83. bb.build.exec_func('do_apply_compat_wrapper', d)
  84. }
  85. RDEPENDS_udev_append_c7x0 = " udev-compat"
  86. do_unpack_append_c7x0() {
  87. bb.build.exec_func('do_apply_compat_wrapper', d)
  88. }
  89. RDEPENDS_udev_append_poodle = " udev-compat"
  90. do_unpack_append_poodle() {
  91. bb.build.exec_func('do_apply_compat_wrapper', d)
  92. }
  93. # Modify init script on platforms that need to boot old kernels:
  94. do_apply_compat_wrapper() {
  95. cd ${WORKDIR}
  96. sed -i "s:/sbin/udevd:\$UDEVD:g;s:/sbin/udevadm:\$UDEVADM:g" init
  97. patch <udev-compat-wrapper-patch
  98. cd -
  99. }
  100. do_install () {
  101. install -d ${D}${usrsbindir} \
  102. ${D}${sbindir}
  103. oe_runmake 'DESTDIR=${D}' INSTALL=install install
  104. install -d ${D}${sysconfdir}/init.d
  105. install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev
  106. install -m 0755 ${WORKDIR}/cache ${D}${sysconfdir}/init.d/udev-cache
  107. install -d ${D}${sysconfdir}/default
  108. install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/udev
  109. cp ${S}/rules/rules.d/* ${D}${sysconfdir}/udev/rules.d/
  110. install -m 0644 ${WORKDIR}/mount.blacklist ${D}${sysconfdir}/udev/
  111. install -m 0644 ${WORKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/local.rules
  112. install -m 0644 ${WORKDIR}/permissions.rules ${D}${sysconfdir}/udev/rules.d/permissions.rules
  113. install -m 0644 ${WORKDIR}/run.rules ${D}${sysconfdir}/udev/rules.d/run.rules
  114. install -m 0644 ${WORKDIR}/udev.rules ${D}${sysconfdir}/udev/rules.d/udev.rules
  115. install -m 0644 ${WORKDIR}/links.conf ${D}${sysconfdir}/udev/links.conf
  116. if [ "${UDEV_DEVFS_RULES}" = "1" ]; then
  117. install -m 0644 ${WORKDIR}/devfs-udev.rules ${D}${sysconfdir}/udev/rules.d/devfs-udev.rules
  118. fi
  119. touch ${D}${sysconfdir}/udev/saved.uname
  120. touch ${D}${sysconfdir}/udev/saved.cmdline
  121. touch ${D}${sysconfdir}/udev/saved.atags
  122. install -d ${D}${sysconfdir}/udev/scripts/
  123. install -m 0755 ${WORKDIR}/mount.sh ${D}${sysconfdir}/udev/scripts/mount.sh
  124. install -m 0755 ${WORKDIR}/network.sh ${D}${sysconfdir}/udev/scripts
  125. }
  126. do_install_append_h2200() {
  127. install -m 0644 ${WORKDIR}/50-hostap_cs.rules ${D}${sysconfdir}/udev/rules.d/50-hostap_cs.rules
  128. }
  129. do_install_append_bug() {
  130. install -m 0644 ${WORKDIR}/30-BUG.rules ${D}${sysconfdir}/udev/rules.d/30-BUG.rules
  131. install -m 0644 ${WORKDIR}/10-mx31.rules ${D}${sysconfdir}/udev/rules.d/10-mx31.rules
  132. install -m 0644 ${WORKDIR}/bmi_eventpipe.sh ${D}${sysconfdir}/udev/scripts/bmi_eventpipe.sh
  133. }
  134. do_install_append_nokia900() {
  135. install -m 0644 ${WORKDIR}/10-cmt_speech.rules ${D}${sysconfdir}/udev/rules.d/10-cmt_speech.rules
  136. install -m 0644 ${WORKDIR}/70-persistent-net.rules ${D}${sysconfdir}/udev/rules.d/70-persistent-net.rules
  137. install -m 0644 ${WORKDIR}/udev-rules-nokia-n900-hacks.rules ${D}${sysconfdir}/udev/rules.d/udev-rules-nokia-n900-hacks.rules
  138. install -m 0644 ${WORKDIR}/udev-rules-nokia-n900-snd.rules ${D}${sysconfdir}/udev/rules.d/udev-rules-nokia-n900-snd.rules
  139. install -m 0755 ${WORKDIR}/nokia-n900-mac-hack.sh ${D}${sysconfdir}/udev/scripts/nokia-n900-mac-hack.sh
  140. }
  141. # Create the cache after checkroot has run
  142. pkg_postinst_udev_append() {
  143. if test "x$D" != "x"; then
  144. OPT="-r $D"
  145. else
  146. OPT="-s"
  147. fi
  148. update-rc.d $OPT udev-cache start 12 S .
  149. }