blob: f96f8cbe7898babe6db15d8403dc4e03649d9b37 [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"
3LICENSE = "GPLv2.0+ & LGPL-2.1+"
4LICENSE_libudev = "LGPL-2.1+"
5LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
6
7DEPENDS = "glib-2.0 glib-2.0-native gperf-native kmod libxslt-native util-linux"
8
9PROVIDES = "udev"
10
11SRC_URI = "https://dev.gentoo.org/~blueness/${BPN}/${BP}.tar.gz \
12 file://0014-Revert-rules-remove-firmware-loading-rules.patch \
13 file://Revert-udev-remove-userspace-firmware-loading-suppor.patch \
14 file://devfs-udev.rules \
15 file://init \
16 file://links.conf \
17 file://local.rules \
18 file://permissions.rules \
19 file://run.rules \
20 file://udev.rules \
21"
22
23SRC_URI[md5sum] = "dedfb1964f6098fe9320de827957331f"
24SRC_URI[sha256sum] = "89618619084a19e1451d373c43f141b469c9fd09767973d73dd268b92074d4fc"
25
26inherit autotools update-rc.d qemu pkgconfig features_check
27
28CONFLICT_DISTRO_FEATURES = "systemd"
29
30EXTRA_OECONF = " \
31 --sbindir=${base_sbindir} \
32 --with-rootlibdir=${base_libdir} \
33 --with-rootlibexecdir=${nonarch_base_libdir}/udev \
34 --with-rootprefix= \
35"
36
37PACKAGECONFIG ??= "hwdb"
38PACKAGECONFIG[hwdb] = "--enable-hwdb,--disable-hwdb"
39
40do_install_append() {
41 install -d ${D}${sysconfdir}/init.d
42 install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev
43 sed -i s%@UDEVD@%${base_sbindir}/udevd% ${D}${sysconfdir}/init.d/udev
44
45 install -d ${D}${sysconfdir}/udev/rules.d
46 install -m 0644 ${WORKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/local.rules
47
48 # Use classic network interface naming scheme
49 touch ${D}${sysconfdir}/udev/rules.d/80-net-name-slot.rules
50
51 # hid2hci has moved to bluez4. removed in udev as of version 169
52 rm -f ${D}${base_libdir}/udev/hid2hci
53
54 # duplicate udevadm for postinst script
55 install -d ${D}${libexecdir}
56 ln ${D}${bindir}/udevadm ${D}${libexecdir}/${MLPREFIX}udevadm
57}
58
59do_install_prepend_class-target () {
60 # Remove references to buildmachine
61 sed -i -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
62 ${B}/src/udev/keyboard-keys-from-name.h
63}
64
65INITSCRIPT_NAME = "udev"
66INITSCRIPT_PARAMS = "start 04 S ."
67
68PACKAGES =+ "libudev"
69PACKAGES =+ "eudev-hwdb"
70
71
72FILES_${PN} += "${libexecdir} ${nonarch_base_libdir}/udev ${bindir}/udevadm"
73FILES_${PN}-dev = "${datadir}/pkgconfig/udev.pc \
74 ${includedir}/libudev.h ${libdir}/libudev.so \
75 ${includedir}/udev.h ${libdir}/libudev.la \
76 ${libdir}/libudev.a ${libdir}/pkgconfig/libudev.pc"
77FILES_libudev = "${base_libdir}/libudev.so.*"
78FILES_eudev-hwdb = "${sysconfdir}/udev/hwdb.d"
79
80RDEPENDS_eudev-hwdb += "eudev"
81
82RPROVIDES_${PN} = "hotplug udev"
83RPROVIDES_eudev-hwdb += "udev-hwdb"
84
85PACKAGE_WRITE_DEPS += "qemu-native"
86pkg_postinst_eudev-hwdb () {
87 if test -n "$D"; then
88 $INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX}
89 else
90 udevadm hwdb --update
91 fi
92}
93
94pkg_prerm_eudev-hwdb () {
95 rm -f $D${sysconfdir}/udev/hwdb.bin
96}