xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-core/udev/eudev_3.2.10.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1SUMMARY = "eudev is a fork of systemd's udev"
2HOMEPAGE = "https://wiki.gentoo.org/wiki/Eudev"
3DESCRIPTION = "eudev is Gentoo's fork of udev, systemd's device file manager for the Linux kernel. It manages device nodes in /dev and handles all user space actions when adding or removing devices."
4LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
5LICENSE:libudev = "LGPL-2.1-or-later"
6LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
7
8DEPENDS = "glib-2.0 glib-2.0-native gperf-native kmod libxslt-native util-linux"
9
10PROVIDES = "udev"
11
12SRC_URI = "https://dev.gentoo.org/~blueness/${BPN}/${BP}.tar.gz \
13           file://0014-Revert-rules-remove-firmware-loading-rules.patch \
14           file://Revert-udev-remove-userspace-firmware-loading-suppor.patch \
15           file://devfs-udev.rules \
16           file://init \
17           file://links.conf \
18           file://local.rules \
19           file://permissions.rules \
20           file://run.rules \
21           file://udev.rules \
22"
23
24SRC_URI[md5sum] = "60b135a189523f333cea5f71a3345c8d"
25SRC_URI[sha256sum] = "87bb028d470fd1b85169349b44c55d5b733733dc2d50ddf1196e026725ead034"
26
27inherit autotools update-rc.d qemu pkgconfig features_check
28
29CONFLICT_DISTRO_FEATURES = "systemd"
30
31EXTRA_OECONF = " \
32    --sbindir=${base_sbindir} \
33    --with-rootlibdir=${base_libdir} \
34    --with-rootlibexecdir=${nonarch_base_libdir}/udev \
35    --with-rootprefix= \
36"
37
38PACKAGECONFIG ??= "hwdb"
39PACKAGECONFIG[hwdb] = "--enable-hwdb,--disable-hwdb"
40
41do_install:append() {
42	install -d ${D}${sysconfdir}/init.d
43	install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev
44	sed -i s%@UDEVD@%${base_sbindir}/udevd% ${D}${sysconfdir}/init.d/udev
45
46	install -d ${D}${sysconfdir}/udev/rules.d
47	install -m 0644 ${WORKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/local.rules
48
49	# Use classic network interface naming scheme
50	touch ${D}${sysconfdir}/udev/rules.d/80-net-name-slot.rules
51
52	# hid2hci has moved to bluez4. removed in udev as of version 169
53	rm -f ${D}${base_libdir}/udev/hid2hci
54}
55
56do_install:prepend:class-target () {
57	# Remove references to buildmachine
58	sed -i -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
59		${B}/src/udev/keyboard-keys-from-name.h
60}
61
62INITSCRIPT_NAME = "udev"
63INITSCRIPT_PARAMS = "start 04 S ."
64
65PACKAGES =+ "libudev"
66PACKAGES =+ "eudev-hwdb"
67
68
69FILES:${PN} += "${libexecdir} ${nonarch_base_libdir}/udev ${bindir}/udevadm"
70FILES:${PN}-dev = "${datadir}/pkgconfig/udev.pc \
71                   ${includedir}/libudev.h ${libdir}/libudev.so \
72                   ${includedir}/udev.h ${libdir}/libudev.la \
73                   ${libdir}/libudev.a ${libdir}/pkgconfig/libudev.pc"
74FILES:libudev = "${base_libdir}/libudev.so.*"
75FILES:eudev-hwdb = "${sysconfdir}/udev/hwdb.d"
76
77RDEPENDS:eudev-hwdb += "eudev"
78
79RPROVIDES:${PN} = "hotplug udev"
80RPROVIDES:eudev-hwdb += "udev-hwdb"
81
82PACKAGE_WRITE_DEPS += "qemu-native"
83pkg_postinst:eudev-hwdb () {
84    if test -n "$D"; then
85        $INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX}
86    else
87        udevadm hwdb --update
88    fi
89}
90
91pkg_prerm:eudev-hwdb () {
92        rm -f $D${sysconfdir}/udev/hwdb.bin
93}
94