aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/udev/eudev_3.1.5.bb
diff options
context:
space:
mode:
authorAlejandro Hernandez <alejandro.hernandez@linux.intel.com>2016-03-01 02:52:47 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-03-02 22:39:06 +0000
commita22797f7c37a865420837b5c29b270f73ee4c6ce (patch)
treec26dcf0dbb9d75be513549e6c01538c937de048a /meta/recipes-core/udev/eudev_3.1.5.bb
parent0dc7d3179a605c10987ee836dd179ffeb14d0ba5 (diff)
downloadopenembedded-core-contrib-a22797f7c37a865420837b5c29b270f73ee4c6ce.tar.gz
eudev: Replaces udev with eudev for compatibility when using sysvinit on newer kernels
udev has started to fail on new kernels (4.4), due to being deprecated in favor of systemd's udev implementation. To maintain a sysvinit alternative we also need to provide an alternative to udev. Eudev is a fork of systemds udev, this new eudev recipe provides upstream udev 220 funcitonality. - Removes patches that dont apply anymore - ToDo: eudev-ptest? [YOCTO #8998] Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/udev/eudev_3.1.5.bb')
-rw-r--r--meta/recipes-core/udev/eudev_3.1.5.bb93
1 files changed, 93 insertions, 0 deletions
diff --git a/meta/recipes-core/udev/eudev_3.1.5.bb b/meta/recipes-core/udev/eudev_3.1.5.bb
new file mode 100644
index 0000000000..8a23e6cb23
--- /dev/null
+++ b/meta/recipes-core/udev/eudev_3.1.5.bb
@@ -0,0 +1,93 @@
+SUMMARY = "eudev is a fork of systemd's udev"
+HOMEPAGE = "https://wiki.gentoo.org/wiki/Eudev"
+SRC_URI = "https://github.com/gentoo/${PN}/archive/v${PV}.tar.gz \
+ file://init \
+ file://local.rules \
+ file://udev-cache \
+ file://udev-cache.default \
+ file://run.rules \
+ file://udev.rules \
+ file://devfs-udev.rules \
+ file://links.conf \
+ file://permissions.rules \
+ "
+
+LICENSE = "GPLv2.0+"
+
+inherit autotools update-rc.d
+
+SRC_URI[md5sum] = "e130f892d8744e292cb855db79935f68"
+SRC_URI[sha256sum] = "ce9d5fa91e3a42c7eb95512ca0fa2a631e89833053066bb6cdf42046b2a88553"
+
+LIC_FILES_CHKSUM="file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "glib-2.0-native glib-2.0 util-linux libxslt-native gperf-native kmod"
+
+PROVIDES = "udev"
+RPROVIDES_${PN} = "hotplug udev"
+
+PACKAGES =+ "udev-cache"
+PACKAGES =+ "libudev"
+
+INITSCRIPT_PACKAGES = "eudev udev-cache"
+INITSCRIPT_NAME_eudev = "udev"
+INITSCRIPT_PARAMS_eudev = "start 04 S ."
+INITSCRIPT_NAME_udev-cache = "udev-cache"
+INITSCRIPT_PARAMS_udev-cache = "start 36 S ."
+
+RRECOMMENDS_${PN} += "udev-cache"
+
+
+FILES_libudev = "${base_libdir}/libudev.so.*"
+
+FILES_${PN} += "${libexecdir} ${nonarch_base_libdir}/udev ${bindir}/udevadm"
+
+
+FILES_${PN}-dev = "${datadir}/pkgconfig/udev.pc \
+ ${includedir}/libudev.h ${libdir}/libudev.so \
+ ${includedir}/udev.h ${libdir}/libudev.la \
+ ${libdir}/libudev.a ${libdir}/pkgconfig/libudev.pc \
+ "
+FILES_udev-cache = "${sysconfdir}/init.d/udev-cache ${sysconfdir}/default/udev-cache"
+
+EXTRA_OECONF = "--with-rootlibdir=${base_libdir} \
+ --sbindir=${base_sbindir} \
+ --libexecdir=${nonarch_base_libdir} \
+ --with-rootprefix= \
+"
+do_install_append(){
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev
+ install -m 0755 ${WORKDIR}/udev-cache ${D}${sysconfdir}/init.d/udev-cache
+ sed -i s%@UDEVD@%${base_sbindir}/udevd% ${D}${sysconfdir}/init.d/udev
+ sed -i s%@UDEVD@%${base_sbindir}/udevd% ${D}${sysconfdir}/init.d/udev-cache
+
+ install -d ${D}${sysconfdir}/default
+ install -m 0755 ${WORKDIR}/udev-cache.default ${D}${sysconfdir}/default/udev-cache
+
+ touch ${D}${sysconfdir}/udev/cache.data
+
+ install -d ${D}${sysconfdir}/udev/rules.d/
+
+ install -m 0644 ${WORKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/local.rules
+
+ # Fix for multilib systems where libs along with confs are installed incorrectly
+ if ! [ -d ${D}${nonarch_base_libdir}/udev ]
+ then
+ install -d ${D}${nonarch_base_libdir}/udev
+ mv ${D}${base_libdir}/udev ${D}${nonarch_base_libdir}
+ fi
+
+ # hid2hci has moved to bluez4. removed in udev as of version 169
+ rm -f ${D}${base_libdir}/udev/hid2hci
+
+ echo 'udev_run="/var/run/udev"' >> ${D}${sysconfdir}/udev/udev.conf
+
+ # Use classic network interface naming scheme
+ touch ${D}${sysconfdir}/udev/rules.d/80-net-name-slot.rules
+}
+
+python () {
+ if bb.utils.contains ('DISTRO_FEATURES', 'systemd', True, False, d):
+ raise bb.parse.SkipPackage("'systemd' in DISTRO_FEATURES")
+}