blob: 2411fc6f7282206c1494683c745f95c8da8684a6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# To use this package, you need:
# - udev main package with init script that supports udev-compat-wrapper
# (enable per-platform in the udev.inc and udev*.bb files)
# - this package must be embedded into the image
# (otherwise system will refuse to boot)
# - only one compat package is supported (pick the newest udev that
# supports your oldest kernel and set is as
# PREFERRED_PROVIDER_udev-compat in your machine config)
#
FILESPATHPKG =. "udev-${PV}:udev:"
require udev_141.bb
S = "${WORKDIR}/udev-${PV}"
DESCRIPTION = "udev compatibility helper package for systems that run old kernels"
PACKAGES = "${PN} ${PN}-dbg"
PROVIDES = "udev-compat"
# Need udev with udev-compat-wrapper support and nothing else.
RDEPENDS_${PN} = "udev-compat-wrapper"
# Remove hotplug RPROVIDES
RPROVIDES_${PN} = "udev-compat"
# We cannot use newer library: udev_monitor_new_from_netlink_compat() will fail.
# We cannot use older udev_monitor_new_from_netlink_compat(): Structures are incompatible.
# That is why we link udev statically with the old library.
export enable_shared = "no"
EXTRA_OECONF += "--enable-static"
# Remove everything except udevd and udevadm and rename these two.
do_install_append () {
mv ${D}${base_sbindir}/udevd ${D}${base_sbindir}/udevd-compat
mv ${D}${base_sbindir}/udevadm ${D}${base_sbindir}/udevadm-compat
rm -r ${D}${datadir} ${D}${base_libdir} ${D}${libdir} ${D}${includedir} ${D}${sysconfdir}
rmdir ${D}${prefix} 2>/dev/null || true
}
# Remove udev init script installation.
INITSCRIPT_PACKAGES = ""
|