blob: f941c4a3e23de6c495172725dabf44ac4d33d8a2 [file] [log] [blame]
#!/bin/bash
BLACKLIST_CONF="/etc/modprobe.d/backports.conf"
BLACKLIST_MAP=".blacklist.map"
MODULE_DIR=$1
MODULE_UPDATES=$2
if [[ ! -d $MODULE_DIR ]]; then
exit
fi
if [[ ! -d $MODULE_UPDATES ]]; then
exit
fi
mkdir -p $(dirname $BLACKLIST_CONF)
rm -f $BLACKLIST_CONF
echo "# To be used when using backported drivers" > $BLACKLIST_CONF
for i in $(grep -v ^# $BLACKLIST_MAP | awk '{print $2}'); do
MODULE="${i}.ko"
MODULE_UPDATE="$(grep -v ^# $BLACKLIST_MAP | grep $i | awk '{print $1}' | head -1).ko"
COUNT=$(find $MODULE_DIR -type f -name ${MODULE} -or -name ${MODULE}.gz | wc -l)
COUNT_REPLACE=$(find $MODULE_UPDATES -type f -name ${MODULE_UPDATE} -or -name ${MODULE_UPDATE}.gz | wc -l)
if [ $COUNT -ne 0 ]; then
if [ $COUNT_REPLACE -ne 0 ]; then
echo "Blacklisting $MODULE ..."
echo blacklist $i >> $BLACKLIST_CONF
fi
fi
done