blob: 347495cbdb021aab99032891064196c250bdcb22 [file] [log] [blame]
Andrew Geissler82c905d2020-04-13 13:39:40 -05001SUMMARY = "eudev is a fork of systemd's udev"
2HOMEPAGE = "https://wiki.gentoo.org/wiki/Eudev"
Andrew Geissler90fd73c2021-03-05 15:25:55 -06003DESCRIPTION = "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."
Andrew Geissler82c905d2020-04-13 13:39:40 -05004LICENSE = "GPLv2.0+ & LGPL-2.1+"
Patrick Williams213cb262021-08-07 19:21:33 -05005LICENSE:libudev = "LGPL-2.1+"
Andrew Geissler82c905d2020-04-13 13:39:40 -05006LIC_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
Andrew Geissler90fd73c2021-03-05 15:25:55 -060024SRC_URI[md5sum] = "60b135a189523f333cea5f71a3345c8d"
25SRC_URI[sha256sum] = "87bb028d470fd1b85169349b44c55d5b733733dc2d50ddf1196e026725ead034"
Andrew Geissler82c905d2020-04-13 13:39:40 -050026
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
Patrick Williams213cb262021-08-07 19:21:33 -050041do_install:append() {
Andrew Geissler82c905d2020-04-13 13:39:40 -050042 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 # duplicate udevadm for postinst script
56 install -d ${D}${libexecdir}
57 ln ${D}${bindir}/udevadm ${D}${libexecdir}/${MLPREFIX}udevadm
58}
59
Patrick Williams213cb262021-08-07 19:21:33 -050060do_install:prepend:class-target () {
Andrew Geissler82c905d2020-04-13 13:39:40 -050061 # Remove references to buildmachine
62 sed -i -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
63 ${B}/src/udev/keyboard-keys-from-name.h
64}
65
66INITSCRIPT_NAME = "udev"
67INITSCRIPT_PARAMS = "start 04 S ."
68
69PACKAGES =+ "libudev"
70PACKAGES =+ "eudev-hwdb"
71
72
Patrick Williams213cb262021-08-07 19:21:33 -050073FILES:${PN} += "${libexecdir} ${nonarch_base_libdir}/udev ${bindir}/udevadm"
74FILES:${PN}-dev = "${datadir}/pkgconfig/udev.pc \
Andrew Geissler82c905d2020-04-13 13:39:40 -050075 ${includedir}/libudev.h ${libdir}/libudev.so \
76 ${includedir}/udev.h ${libdir}/libudev.la \
77 ${libdir}/libudev.a ${libdir}/pkgconfig/libudev.pc"
Patrick Williams213cb262021-08-07 19:21:33 -050078FILES:libudev = "${base_libdir}/libudev.so.*"
79FILES:eudev-hwdb = "${sysconfdir}/udev/hwdb.d"
Andrew Geissler82c905d2020-04-13 13:39:40 -050080
Patrick Williams213cb262021-08-07 19:21:33 -050081RDEPENDS:eudev-hwdb += "eudev"
Andrew Geissler82c905d2020-04-13 13:39:40 -050082
Patrick Williams213cb262021-08-07 19:21:33 -050083RPROVIDES:${PN} = "hotplug udev"
84RPROVIDES:eudev-hwdb += "udev-hwdb"
Andrew Geissler82c905d2020-04-13 13:39:40 -050085
86PACKAGE_WRITE_DEPS += "qemu-native"
Patrick Williams213cb262021-08-07 19:21:33 -050087pkg_postinst:eudev-hwdb () {
Andrew Geissler82c905d2020-04-13 13:39:40 -050088 if test -n "$D"; then
89 $INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX}
90 else
91 udevadm hwdb --update
92 fi
93}
94
Patrick Williams213cb262021-08-07 19:21:33 -050095pkg_prerm:eudev-hwdb () {
Andrew Geissler82c905d2020-04-13 13:39:40 -050096 rm -f $D${sysconfdir}/udev/hwdb.bin
97}