blob: a00dad5db22f88338157bf91a8551dd11e383370 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001SUMMARY = "/dev/ and hotplug management daemon"
2DESCRIPTION = "udev is a daemon which dynamically creates and removes device nodes from \
3/dev/, handles hotplug events and loads drivers at boot time."
4HOMEPAGE = "http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev/udev.html"
5LICENSE = "GPLv2.0+ & LGPLv2.1+"
6LICENSE_${PN} = "GPLv2.0+"
7LICENSE_libudev = "LGPLv2.1+"
8LICENSE_libgudev = "LGPLv2.1+"
9LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
10 file://src/COPYING;md5=17c4e5fb495e6707ac92a3864926f979 \
11 file://src/gudev/COPYING;md5=fb494485a7d0505308cb68e4997cc266"
12
13LDFLAGS += "-lrt"
14
15DEPENDS = "glib-2.0 libusb usbutils pciutils glib-2.0-native gperf-native libxslt-native util-linux"
16RPROVIDES_${PN} = "hotplug"
17
18SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \
19 file://0001-Fixing-keyboard_force_release.sh-shell-script-path.patch \
20 file://avoid-mouse-autosuspend.patch \
21 file://run.rules \
22 file://udev.rules \
23 file://devfs-udev.rules \
24 file://links.conf \
25 file://permissions.rules \
26 file://local.rules \
27 file://udev-cache \
28 file://udev-cache.default \
29 file://add-install-ptest.patch \
30 file://fix_rule-syntax-regex-ptest.patch \
31 file://run-ptest \
32 file://init"
33
34inherit autotools pkgconfig update-rc.d ptest
35RDEPENDS_${PN}-ptest += "make perl python"
36
37libexecdir = "${base_libdir}"
38EXTRA_OECONF = "--disable-introspection \
39 --with-rootlibdir=${base_libdir} \
40 --with-pci-ids-path=${datadir}/pci.ids \
41 ac_cv_file__usr_share_pci_ids=no \
42 ac_cv_file__usr_share_hwdata_pci_ids=no \
43 ac_cv_file__usr_share_misc_pci_ids=yes \
44 --sbindir=${base_sbindir} \
45 --libexecdir=${nonarch_base_libdir} \
46 --with-rootlibdir=${base_libdir} \
47 --with-rootprefix= \
48 --without-systemdsystemunitdir \
49 "
50
51PACKAGES =+ "udev-cache"
52PACKAGES =+ "libudev"
53PACKAGES =+ "libgudev"
54
55INITSCRIPT_PACKAGES = "udev udev-cache"
56INITSCRIPT_NAME_udev = "udev"
57INITSCRIPT_PARAMS_udev = "start 04 S ."
58INITSCRIPT_NAME_udev-cache = "udev-cache"
59INITSCRIPT_PARAMS_udev-cache = "start 36 S ."
60
61FILES_${PN} += "${libexecdir} ${libdir}/ConsoleKit ${nonarch_base_libdir}/udev ${bindir}/udevadm"
62RRECOMMENDS_${PN} += "udev-cache"
63
64# udev-utils has been removed as a package. Note that udev conflicts with udev-utils so that
65# udev-utils is removed from systems on upgrade.
66RCONFLICTS_${PN} += "udev-utils"
67RREPLACES_${PN} += "udev-utils"
68
69FILES_${PN}-dbg += "${libexecdir}/.debug"
70FILES_${PN}-dbg += "${base_libdir}/udev/.debug/"
71FILES_${PN}-dbg += "${base_libdir}/udev/.debug/*"
72FILES_${PN}-dbg += "${nonarch_base_libdir}/udev/.debug/*"
73FILES_${PN}-dev = "${datadir}/pkgconfig/udev.pc \
74 ${includedir}/libudev.h ${libdir}/libudev.so ${libdir}/libudev.la \
75 ${libdir}/libudev.a ${libdir}/pkgconfig/libudev.pc \
76 ${includedir}/gudev* ${libdir}/libgudev*.so ${libdir}/libgudev*.la \
77 ${libdir}/libgudev*.a ${libdir}/pkgconfig/gudev*.pc"
78FILES_libudev = "${base_libdir}/libudev.so.*"
79FILES_libgudev = "${base_libdir}/libgudev*.so.* ${libdir}/libgudev*.so.*"
80FILES_udev-cache = "${sysconfdir}/init.d/udev-cache ${sysconfdir}/default/udev-cache"
81
82do_install_append () {
83 install -d ${D}${sysconfdir}/init.d
84 install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev
85 install -m 0755 ${WORKDIR}/udev-cache ${D}${sysconfdir}/init.d/udev-cache
86 sed -i s%@UDEVD@%${nonarch_base_libdir}/udev/udevd% ${D}${sysconfdir}/init.d/udev
87 sed -i s%@UDEVD@%${nonarch_base_libdir}/udev/udevd% ${D}${sysconfdir}/init.d/udev-cache
88
89 install -d ${D}${sysconfdir}/default
90 install -m 0755 ${WORKDIR}/udev-cache.default ${D}${sysconfdir}/default/udev-cache
91
92 touch ${D}${sysconfdir}/udev/cache.data
93
94 install -d ${D}${sysconfdir}/udev/rules.d/
95
96 install -m 0644 ${WORKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/local.rules
97
98 # hid2hci has moved to bluez4. removed in udev as of version 169
99 rm -f ${D}${base_libdir}/udev/hid2hci
100
101 echo 'udev_run="/var/run/udev"' >> ${D}${sysconfdir}/udev/udev.conf
102}
103
104# As systemd also builds udev, skip this package if we're doing a systemd build.
105python () {
106 if bb.utils.contains ('DISTRO_FEATURES', 'systemd', True, False, d):
107 raise bb.parse.SkipPackage("'systemd' in DISTRO_FEATURES")
108}
109do_compile_ptest() {
110 oe_runmake test-udev
111}