mirror of
https://git.yoctoproject.org/poky
synced 2026-02-21 00:49:41 +01:00
depmodwrapper assumes that the kernel package name is "kernel". Since this is configurable via KERNEL_PACKAGE_NAME variable, the wrapper can easily look in the wrong place. This change adds an optional positional argument that can be used to provide the kernel package name - when not provided, it defaults to "kernel" (current behaviour). (From OE-Core rev: 0c2cc62b009467b05bf6e1897989d8ede0412d73) Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
56 lines
1.8 KiB
BlitzBasic
56 lines
1.8 KiB
BlitzBasic
SUMMARY = "Wrapper script for the Linux kernel module dependency indexer"
|
|
LICENSE = "MIT"
|
|
|
|
S = "${WORKDIR}"
|
|
|
|
INHIBIT_DEFAULT_DEPS = "1"
|
|
# The kernel and the staging dir for it is machine specific
|
|
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
|
|
|
# We need the following for the sstate code to process the wrapper
|
|
SSTATE_SCAN_FILES += "depmodwrapper"
|
|
EXTRA_STAGING_FIXMES += "PKGDATA_DIR"
|
|
|
|
DEPENDS += "kmod-native"
|
|
do_populate_sysroot[depends] = ""
|
|
|
|
do_install() {
|
|
install -d ${D}${bindir_crossscripts}/
|
|
|
|
cat > ${D}${bindir_crossscripts}/depmodwrapper << EOF
|
|
#!/bin/sh
|
|
# Expected to be called as: depmodwrapper -a KERNEL_VERSION
|
|
if [ "\$1" != "-a" -o "\$2" != "-b" ]; then
|
|
echo "Usage: depmodwrapper -a -b rootfs KERNEL_VERSION [KERNEL_PACKAGE_NAME]" >&2
|
|
exit 1
|
|
fi
|
|
|
|
kernelpkgname="kernel"
|
|
# If no KERNEL_PACKAGE_NAME, assume "kernel".
|
|
[ -z "\$5" ] || kernelpkgname="\$5"
|
|
|
|
kernelabi=""
|
|
if [ -r "${PKGDATA_DIR}/\${kernelpkgname}-depmod/\${kernelpkgname}-abiversion" ]; then
|
|
kernelabi=\$(cat "${PKGDATA_DIR}/\${kernelpkgname}-depmod/\${kernelpkgname}-abiversion")
|
|
fi
|
|
|
|
if [ ! -e "\$3${nonarch_base_libdir}/depmod.d/exclude.conf" ]; then
|
|
mkdir -p "\$3${nonarch_base_libdir}/depmod.d"
|
|
echo "exclude .debug" > "\$3${nonarch_base_libdir}/depmod.d/exclude.conf"
|
|
fi
|
|
|
|
if [ ! -r ${PKGDATA_DIR}/\${kernelpkgname}-depmod/System.map-\$4 ] || [ "\$kernelabi" != "\$4" ]; then
|
|
echo "Unable to read: ${PKGDATA_DIR}/\${kernelpkgname}-depmod/System.map-\$4" >&2
|
|
exec env depmod -C "\$3${nonarch_base_libdir}/depmod.d" "\$1" "\$2" "\$3" "\$4"
|
|
else
|
|
exec env depmod -C "\$3${nonarch_base_libdir}/depmod.d" "\$1" "\$2" "\$3" -F "${PKGDATA_DIR}/\${kernelpkgname}-depmod/System.map-\$4" "\$4"
|
|
fi
|
|
EOF
|
|
chmod +x ${D}${bindir_crossscripts}/depmodwrapper
|
|
}
|
|
|
|
SYSROOT_DIRS += "${bindir_crossscripts}"
|
|
|
|
PACKAGES = ""
|
|
inherit nopackages
|