blob: 44d013f29d57fc22882eca2009b1311968247420 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001SUMMARY = "Wrapper script for the Linux kernel module dependency indexer"
2LICENSE = "MIT"
Patrick Williamsc124f4f2015-09-15 14:41:29 -05003
4S = "${WORKDIR}"
5
6INHIBIT_DEFAULT_DEPS = "1"
7# The kernel and the staging dir for it is machine specific
8PACKAGE_ARCH = "${MACHINE_ARCH}"
9
10# We need the following for the sstate code to process the wrapper
11SSTATE_SCAN_FILES += "depmodwrapper"
Brad Bishop6e60e8b2018-02-01 10:27:11 -050012EXTRA_STAGING_FIXMES += "PKGDATA_DIR"
13
14do_populate_sysroot[depends] = ""
Patrick Williamsc124f4f2015-09-15 14:41:29 -050015
16do_install() {
17 install -d ${D}${bindir_crossscripts}/
18
19 cat > ${D}${bindir_crossscripts}/depmodwrapper << EOF
20#!/bin/sh
21# Expected to be called as: depmodwrapper -a KERNEL_VERSION
22if [ "\$1" != "-a" -o "\$2" != "-b" ]; then
23 echo "Usage: depmodwrapper -a -b rootfs KERNEL_VERSION" >&2
24 exit 1
25fi
26if [ ! -r ${PKGDATA_DIR}/kernel-depmod/kernel-abiversion ]; then
27 echo "Unable to read: ${PKGDATA_DIR}/kernel-depmod/kernel-abiversion" >&2
28else
29 kernelabi=\$(cat ${PKGDATA_DIR}/kernel-depmod/kernel-abiversion)
30 if [ "\$kernelabi" != "\$4" ]; then
31 echo "Error: Kernel version \$4 does not match kernel-abiversion (\$kernelabi)" >&2
32 exit 1
33 fi
34fi
35
36if [ ! -r ${PKGDATA_DIR}/kernel-depmod/System.map-\$4 ]; then
37 echo "Unable to read: ${PKGDATA_DIR}/kernel-depmod/System.map-\$4" >&2
38 exec env depmod "\$1" "\$2" "\$3" "\$4"
39else
40 exec env depmod "\$1" "\$2" "\$3" -F "${PKGDATA_DIR}/kernel-depmod/System.map-\$4" "\$4"
41fi
42EOF
43 chmod +x ${D}${bindir_crossscripts}/depmodwrapper
44}
45
Patrick Williamsc0f7c042017-02-23 20:41:17 -060046SYSROOT_DIRS += "${bindir_crossscripts}"
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050047
48inherit nopackages