aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-core/udev
diff options
context:
space:
mode:
authorKoen Kooi <koen@dominion.thruhere.net>2011-10-24 14:14:08 +0200
committerKoen Kooi <koen@dominion.thruhere.net>2011-10-24 16:24:25 +0200
commitbf778b699d31358ef1794d96ee5f66f600df6086 (patch)
tree4d56bb69a86d3b749ceebb5285bcde01d4bff95f /meta-oe/recipes-core/udev
parent1db927631405ec09a211c94c9746e4bdd29a4e4a (diff)
downloadmeta-openembedded-bf778b699d31358ef1794d96ee5f66f600df6086.tar.gz
udev 174: add version 174, disabled by default (see below)
This release moves various binaries from /sbin to /lib/udev, invalidating the sysvinit scripts in our metadata. To stay closer to upstream the sysvinit scripts have been removed and systemd units are used instead. Since this is a huge change (both the moving of 'udevd' and removing initscripts) this recipe has a negative DEFAULT_PREFERENCE. Patches to reinstate sysvinit support are welcomed, but will be subject to close scrutiny. Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Diffstat (limited to 'meta-oe/recipes-core/udev')
-rw-r--r--meta-oe/recipes-core/udev/udev_174.bb89
1 files changed, 89 insertions, 0 deletions
diff --git a/meta-oe/recipes-core/udev/udev_174.bb b/meta-oe/recipes-core/udev/udev_174.bb
new file mode 100644
index 0000000000..5375e3bdd8
--- /dev/null
+++ b/meta-oe/recipes-core/udev/udev_174.bb
@@ -0,0 +1,89 @@
+DESCRIPTION = "udev is a daemon which dynamically creates and removes device nodes from \
+/dev/, handles hotplug events and loads drivers at boot time. It replaces \
+the hotplug package and requires a kernel not older than 2.6.27."
+
+DEFAULT_PREFERENCE = "-1"
+
+# udev 169 and up require kernel 2.6.36 for ARM:
+# http://git.kernel.org/?p=linux/hotplug/udev.git;a=commit;h=67a77c8bf299f6264f001677becd056316ebce2f
+
+LICENSE = "GPLv2+ & LGPLv2.1+"
+LICENSE_${PN} = "GPLv2+"
+LICENSE_libudev = "LGPLv2.1+"
+LICENSE_libgudev = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
+ file://libudev/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
+ file://extras/gudev/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
+
+# Needed for udev-extras
+DEPENDS = "gperf-native usbutils acl glib-2.0"
+
+# b3eccdce81d18ec36c6ea95ac161002fc33d1810 -> 174 tag
+SRCREV = "b3eccdce81d18ec36c6ea95ac161002fc33d1810"
+
+# version specific SRC_URI
+SRC_URI = "git://git.kernel.org/pub/scm/linux/hotplug/udev.git;protocol=git \
+ file://0001-rip-put-doc-generation-it-depends-on-a-working-docto.patch \
+ file://gtk-doc.make"
+
+# generic SRC_URI
+SRC_URI += " \
+ file://touchscreen.rules \
+ file://modprobe.rules \
+"
+
+S = "${WORKDIR}/git"
+
+# Machine specific udev rules should be in their own recipe that ${PN} can add to RRECOMMENDS
+
+inherit autotools
+
+EXTRA_OECONF += " \
+ --disable-introspection \
+ --with-pci-ids-path=/usr/share/misc \
+ ac_cv_file__usr_share_pci_ids=no \
+ ac_cv_file__usr_share_hwdata_pci_ids=no \
+ ac_cv_file__usr_share_misc_pci_ids=yes \
+ --sbindir=${base_sbindir} \
+ --libexecdir=${base_libdir}/udev \
+ --with-rootlibdir=${base_libdir} \
+ --disable-gtk-doc-html \
+ --with-systemdsystemunitdir=${base_libdir}/systemd/system/ \
+"
+
+do_configure_prepend() {
+ cp ${WORKDIR}/gtk-doc.make ${S}
+}
+
+PACKAGES =+ "${PN}-systemd libudev libgudev udev-utils udev-consolekit"
+
+FILES_${PN}-systemd = "${base_libdir}/systemd"
+RDEPENDS_${PN}-systemd += "udev"
+
+FILES_libudev = "${base_libdir}/libudev.so.*"
+FILES_libgudev = "${base_libdir}/libgudev*.so.*"
+
+FILES_udev-utils = "${bindir}/udevinfo ${bindir}/udevtest ${base_sbindir}/udevadm"
+
+RPROVIDES_${PN} = "hotplug"
+FILES_${PN} += "${usrbindir}/* ${usrsbindir}/udevd"
+FILES_${PN}-dbg += "${usrbindir}/.debug ${usrsbindir}/.debug"
+RDEPENDS_${PN} += "module-init-tools-depmod udev-utils"
+RRECOMMENDS_${PN} += "util-linux-blkid"
+
+# udev installs binaries under $(udev_prefix)/lib/udev, even if ${libdir}
+# is ${prefix}/lib64
+FILES_${PN} += "/lib/udev*"
+FILES_${PN}-dbg += "/lib/udev/.debug"
+
+FILES_${PN}-consolekit += "${libdir}/ConsoleKit"
+RDEPENDS_${PN}-consolekit += "consolekit"
+
+do_install () {
+ install -d ${D}${usrsbindir} \
+ ${D}${sbindir}
+ oe_runmake 'DESTDIR=${D}' INSTALL=install install
+
+ install -m 0644 ${WORKDIR}/*.rules ${D}${sysconfdir}/udev/rules.d/
+}
+