mirror of
https://git.yoctoproject.org/poky
synced 2026-03-29 05:02:22 +02:00
The kernel and its staging directory are machine specific so the wrapper needs to be as well. Also take the opportunity to remove the default dependencies of the recipe since its a script and doesn't need the cross compiler. This gives the build a little more scheduing freedom. (From OE-Core rev: 1cc2ac769baae19b54184df5f43a3e77c1743c29) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
48 lines
1.5 KiB
BlitzBasic
48 lines
1.5 KiB
BlitzBasic
DESCRIPTION = "Depmod wrapper script"
|
|
LICENSE = "MIT"
|
|
PR = "r0"
|
|
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
|
|
|
|
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"
|
|
|
|
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" >&2
|
|
exit 1
|
|
fi
|
|
if [ ! -r ${STAGING_KERNEL_DIR}/kernel-abiversion ]; then
|
|
echo "Unable to read: ${STAGING_KERNEL_DIR}/kernel-abiversion" >&2
|
|
else
|
|
kernelabi=\$(cat ${STAGING_KERNEL_DIR}/kernel-abiversion)
|
|
if [ "\$kernelabi" != "\$4" ]; then
|
|
echo "Error: Kernel version \$4 does not match kernel-abiversion (\$kernelabi)" >&2
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
if [ ! -r ${STAGING_KERNEL_DIR}/System.map-\$4 ]; then
|
|
echo "Unable to read: ${STAGING_KERNEL_DIR}/System.map-\$4" >&2
|
|
exec env depmod "\$1" "\$2" "\$3" "\$4"
|
|
else
|
|
exec env depmod "\$1" "\$2" "\$3" -F "${STAGING_KERNEL_DIR}/System.map-\$4" "\$4"
|
|
fi
|
|
EOF
|
|
chmod +x ${D}${bindir_crossscripts}/depmodwrapper
|
|
}
|
|
|
|
SYSROOT_PREPROCESS_FUNCS += "depmodwrapper_sysroot_preprocess"
|
|
|
|
depmodwrapper_sysroot_preprocess () {
|
|
sysroot_stage_dir ${D}${bindir_crossscripts} ${SYSROOT_DESTDIR}${bindir_crossscripts}
|
|
}
|