#!/bin/sh
# El módulo creado por DKMS cuando se instala un nuevo kernel no
# vale por haberlo creado desde otra versión de kernel. Este script
# se encarga de detectar esta situación y compilar el módulo nwfermi
# una vez que ya se ha iniciado con el nuevo kernel.
# Este script es ejecutado en cada inicio por el servicio de systemd
# /lib/systemd/system/nwfermi_module_dkms_updater.service

DKMS=`dkms --version | cut -f2 -d"."`
VERNWF=0.6.5.1
KERNEL=`uname -r`
if [ -e /lib/modules/$KERNEL/updates/dkms/nw-fermi.ko ]; then
	MAGIC=`modinfo nw_fermi | grep $KERNEL | grep vermagic`
	if [ "$MAGIC" = "" ]; then
		echo "Deleting wrong module"
		rm -f /lib/modules/$KERNEL/updates/dkms/nw-fermi.ko
	fi 	
fi

if [ ! -e /lib/modules/$KERNEL/updates/dkms/nw-fermi.ko ]; then
	echo "Rebuilding module for current kernel version"

	if [ "$DKMS" = "1" ]; then
		dkms remove -m nwfermi -v $VERNWF --all || true
		dkms add -m nwfermi -v $VERNWF || true
                dkms build -m nwfermi -v $VERNWF || true
                dkms install -m nwfermi -v $VERNWF || true
	else
		dkms remove nwfermi/$VERNWF --all || true
		dkms build nwfermi/$VERNWF || true
		dkms install nwfermi/$VERNWF || true
	fi

	modprobe nw_fermi || true 
	echo "OK"
	exit 0
else
	echo "OK"
	exit 0
fi



