aboutsummaryrefslogtreecommitdiff
path: root/recipes/udev/udev-compat141_141.bb
blob: 999161b5d80471ce20fda6b36154b4527e3cdd8a (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
38
# 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 -rf ${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 = ""