#! /bin/sh

sourcedir=$1
modpath=$2

# Check for modules not listed in supported.conf: First, for each module
# in the list, set mod_$module=1
for module in $($sourcedir/guards --list < $sourcedir/supported.conf \
		| sed -e 's,.*/,,'); do
    m=${module##*/}
    m=${m%.ko}
    eval mod_${m//-/_}=1
done

# Check if any installed module was not listed
status=
cd $modpath
for module in $(find . -name '*.ko' | sort); do
    case "$module" in
    ./kernel/drivers/staging/* | ./kernel/Documentation/*)
        continue ;;
    esac
    module=${module%.ko}
    m=${module##*/}
    m=${m//-/_}
    m="mod_$m"
    if [ -z "${!m}" ]; then
	if [ -z "$status" ]; then
	    echo "Modules not listed in supported.conf:"
	    status=1
	fi
	echo ${module#./}
    fi
done

exit $status
