1SUMMARY = "eudev is a fork of systemd's udev" 2HOMEPAGE = "https://github.com/eudev-project/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 = "gperf-native" 9 10PROVIDES = "udev" 11 12SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.gz \ 13 file://netifnames.patch \ 14 file://init \ 15 file://local.rules \ 16 " 17 18SRC_URI[sha256sum] = "8da4319102f24abbf7fff5ce9c416af848df163b29590e666d334cc1927f006f" 19 20GITHUB_BASE_URI = "https://github.com/eudev-project/eudev/releases" 21 22inherit autotools update-rc.d qemu pkgconfig features_check manpages github-releases 23 24CONFLICT_DISTRO_FEATURES = "systemd" 25 26EXTRA_OECONF = " \ 27 --sbindir=${base_sbindir} \ 28 --with-rootlibdir=${base_libdir} \ 29 --with-rootlibexecdir=${nonarch_base_libdir}/udev \ 30 --with-rootprefix= \ 31" 32 33PACKAGECONFIG ?= "blkid hwdb kmod \ 34 ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \ 35" 36PACKAGECONFIG[blkid] = "--enable-blkid,--disable-blkid,util-linux" 37PACKAGECONFIG[hwdb] = "--enable-hwdb,--disable-hwdb" 38PACKAGECONFIG[kmod] = "--enable-kmod,--disable-kmod,kmod" 39PACKAGECONFIG[manpages] = "--enable-manpages,--disable-manpages" 40PACKAGECONFIG[rule-generator] = "--enable-rule-generator,--disable-rule-generator" 41PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux" 42 43do_install:append() { 44 install -d ${D}${sysconfdir}/init.d 45 install -m 0755 ${UNPACKDIR}/init ${D}${sysconfdir}/init.d/udev 46 sed -i s%@UDEVD@%${base_sbindir}/udevd% ${D}${sysconfdir}/init.d/udev 47 sed -i s%@KMOD@%${base_bindir}/kmod% ${D}${sysconfdir}/init.d/udev 48 49 install -d ${D}${sysconfdir}/udev/rules.d 50 install -m 0644 ${UNPACKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/local.rules 51 52 # Use classic network interface naming scheme if no 'pni-names' distro feature 53 if ${@bb.utils.contains('DISTRO_FEATURES', 'pni-names', 'false', 'true', d)}; then 54 touch ${D}${sysconfdir}/udev/rules.d/80-net-name-slot.rules 55 fi 56} 57 58do_install:prepend:class-target () { 59 # Remove references to buildmachine 60 sed -i -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ 61 ${B}/src/udev/keyboard-keys-from-name.h 62} 63 64INITSCRIPT_NAME = "udev" 65INITSCRIPT_PARAMS = "start 04 S ." 66 67PACKAGE_BEFORE_PN = "libudev ${PN}-hwdb" 68 69FILES:${PN} += "${nonarch_base_libdir}/udev" 70FILES:libudev = "${base_libdir}/libudev.so.*" 71FILES:${PN}-hwdb = "${sysconfdir}/udev/hwdb.d" 72 73RDEPENDS:${PN}-hwdb += "eudev" 74RDEPENDS:${PN} += "kmod" 75 76RPROVIDES:${PN} = "hotplug udev" 77RPROVIDES:${PN}-hwdb += "udev-hwdb" 78 79PACKAGE_WRITE_DEPS += "qemu-native" 80pkg_postinst:${PN}-hwdb () { 81 if test -n "$D"; then 82 $INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX} 83 else 84 udevadm hwdb --update 85 fi 86} 87 88pkg_prerm:${PN}-hwdb () { 89 rm -f $D${sysconfdir}/udev/hwdb.bin 90} 91