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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
RDEPENDS += "kernel (${KERNEL_VERSION})"
DEPENDS += "virtual/kernel"
inherit module-base
KERNEL_MAJOR_VERSION = "${@'.'.join(bb.data.getVar('KERNEL_VERSION', d, 1).split('.')[:2])}"
python populate_packages_prepend() {
v = bb.data.getVar("PARALLEL_INSTALL_MODULES", d, 1) or "0"
if v == "1":
kv = bb.data.getVar("KERNEL_MAJOR_VERSION", d, 1)
packages = bb.data.getVar("PACKAGES", d, 1)
repl_vers = bb.data.getVar("PARALLEL_INSTALL_REPLACE_VERSIONS", d, 1)
for p in packages.split():
pkg = bb.data.getVar("PKG_%s" % p, d, 1) or p
newpkg = "%s-%s" % (pkg, kv)
bb.data.setVar("PKG_%s" % p, newpkg, d)
rprovides = bb.data.getVar("RPROVIDES_%s" % p, d, 1)
if rprovides:
rprovides = "%s %s" % (rprovides, pkg)
else:
rprovides = pkg
bb.data.setVar("RPROVIDES_%s" % p, rprovides, d)
# kv was changed from KERNEL_VERSION to KERNEL_MAJOR_VERSION.
# now fix the upgrade path...
if repl_vers:
repl_pkgs = []
for v in repl_vers.split():
repl_pkgs.append("%s-%s" % (pkg, v))
for i in ["PROVIDES", "CONFLICTS", "REPLACES"]:
val = bb.data.getVar("R%s_%s" % (i, p), d, 1)
if val:
old = val.split()
add = []
for k in repl_pkgs:
if not k in old:
add.append(k)
val = "%s %s" % (val, " ".join(add))
else:
val = "%s" % " ".join(repl_pkgs)
bb.data.setVar("R%s_%s" % (i, p), val, d)
}
module_do_compile() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \
KERNEL_SRC=${STAGING_KERNEL_DIR} \
KERNEL_VERSION=${KERNEL_VERSION} \
CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
${MAKE_TARGETS}
}
module_do_install() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" CC="${KERNEL_CC}" LD="${KERNEL_LD}" modules_install
}
pkg_postinst_append () {
if [ -n "$D" ]; then
exit 1
fi
depmod -A
update-modules || true
}
pkg_postrm_append () {
update-modules || true
}
EXPORT_FUNCTIONS do_compile do_install
FILES_${PN} = "/etc /lib/modules"
|