You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.4 KiB
Bash
58 lines
1.4 KiB
Bash
13 years ago
|
#!/bin/bash
|
||
|
|
||
|
uninstall_bbswitch_modules()
|
||
|
{
|
||
|
local PKGVER="$(ls /usr/src/ | grep bbswitch | sed 's/^.*-//')"
|
||
|
|
||
|
|
||
|
# Warning: dmks say error if it doesn't know bbswitch module.
|
||
|
# This is the case for the first time, but it's not an error!
|
||
|
# TODO: Don't use the code below if PKGVER is empty (no return,
|
||
|
# no space...)
|
||
|
|
||
|
|
||
|
# Remove all version of bbswitch known by dkms
|
||
|
dkms remove -m bbswitch -v $PKGVER --all
|
||
|
depmod -a
|
||
|
|
||
|
# Remove all sources of bbswitch
|
||
|
# Keep rm after dkms remove because this last use dkms.conf
|
||
|
rm -fr /usr/src/bbswitch-$PKGVER
|
||
|
}
|
||
|
|
||
|
|
||
|
install_bbswitch_module()
|
||
|
{
|
||
|
# Before install, remove previous versions
|
||
|
uninstall_bbswitch_modules
|
||
|
|
||
|
# Give a version to this bbswitch module
|
||
|
local GITVERSION=`git describe --tags`
|
||
|
|
||
|
sudo mkdir -p "/usr/src/bbswitch-$GITVERSION"
|
||
|
|
||
|
cp *.c "/usr/src/bbswitch-$GITVERSION"
|
||
|
cp Makefile "/usr/src/bbswitch-$GITVERSION"
|
||
|
cp ./dkms/dkms.conf "/usr/src/bbswitch-$GITVERSION"
|
||
|
|
||
|
sed "s/REPLACE/$GITVERSION/" "/usr/src/bbswitch-$GITVERSION/dkms.conf"
|
||
|
|
||
|
# Compilation and installation
|
||
|
dkms add -m bbswitch -v $GITVERSION
|
||
|
dkms build -m bbswitch -v $GITVERSION
|
||
|
dkms install -m bbswitch -v $GITVERSION
|
||
|
depmod -a
|
||
|
|
||
|
#Now user can do : modprobe bbswitch
|
||
|
}
|
||
|
|
||
|
|
||
|
case $1 in
|
||
|
"install") install_bbswitch_module;;
|
||
|
|
||
|
"uninstall") uninstall_bbswitch_modules;;
|
||
|
|
||
|
*) echo "Error: Don't call this script directly";;
|
||
|
esac
|
||
|
|