diff options
Diffstat (limited to 'meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb')
-rw-r--r-- | meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb b/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb index 44d013f29d..6c0739d64f 100644 --- a/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb +++ b/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb @@ -11,6 +11,7 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" SSTATE_SCAN_FILES += "depmodwrapper" EXTRA_STAGING_FIXMES += "PKGDATA_DIR" +DEPENDS += "kmod-native" do_populate_sysroot[depends] = "" do_install() { @@ -20,24 +21,29 @@ do_install() { #!/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 + echo "Usage: depmodwrapper -a -b rootfs KERNEL_VERSION [KERNEL_PACKAGE_NAME]" >&2 exit 1 fi -if [ ! -r ${PKGDATA_DIR}/kernel-depmod/kernel-abiversion ]; then - echo "Unable to read: ${PKGDATA_DIR}/kernel-depmod/kernel-abiversion" >&2 -else - kernelabi=\$(cat ${PKGDATA_DIR}/kernel-depmod/kernel-abiversion) - if [ "\$kernelabi" != "\$4" ]; then - echo "Error: Kernel version \$4 does not match kernel-abiversion (\$kernelabi)" >&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}/kernel-depmod/System.map-\$4 ]; then - echo "Unable to read: ${PKGDATA_DIR}/kernel-depmod/System.map-\$4" >&2 - exec env depmod "\$1" "\$2" "\$3" "\$4" +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 "\$1" "\$2" "\$3" -F "${PKGDATA_DIR}/kernel-depmod/System.map-\$4" "\$4" + 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 @@ -45,4 +51,5 @@ EOF SYSROOT_DIRS += "${bindir_crossscripts}" +PACKAGES = "" inherit nopackages |