#!/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 "FIXME_PKGDATA_DIR/${kernelpkgname}-depmod/${kernelpkgname}-abiversion" ]; then
    kernelabi=$(cat "FIXME_PKGDATA_DIR/${kernelpkgname}-depmod/${kernelpkgname}-abiversion")
fi

if [ ! -e "$3/usr/lib/depmod.d/exclude.conf" ]; then
    mkdir -p "$3/usr/lib/depmod.d"
    echo "exclude .debug" > "$3/usr/lib/depmod.d/exclude.conf"
fi

if [ ! -r FIXME_PKGDATA_DIR/${kernelpkgname}-depmod/System.map-$4 ] || [ "$kernelabi" != "$4" ]; then
    echo "Unable to read: FIXME_PKGDATA_DIR/${kernelpkgname}-depmod/System.map-$4" >&2
    exec env depmod -C "$3/usr/lib/depmod.d" "$1" "$2" "$3" "$4"
else
    exec env depmod -C "$3/usr/lib/depmod.d" "$1" "$2" "$3" -F "FIXME_PKGDATA_DIR/${kernelpkgname}-depmod/System.map-$4" "$4"
fi
