Fix: Erase all forgotten stuff from grml-config-user [Closes: issue1272]
[grml-scripts.git] / usr_sbin / blacklist
1 #!/bin/sh
2 # Filename:      blacklist / unblacklist
3 # Purpose:       blacklist module via module-init-tools
4 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
5 # Bug-Reports:   see http://grml.org/bugs/
6 # License:       This file is licensed under the GPL v2.
7 ################################################################################
8
9 PN="$(basename $0)"
10 [ -n "$MODPROBEFILE" ] || MODPROBEFILE=/etc/modprobe.d/grml.conf
11 [ -r /etc/grml/lsb-functions ] && . /etc/grml/lsb-functions
12
13 if [ -z "$1" ] || [ "$1" = "-h" ] || [ "$1" = "--help" ] ; then
14   echo "Usage: $PN <module>"
15   echo "$PN (un)blacklists module via $MODPROBEFILE"
16   exit 1
17 fi
18
19 if [ "$(id -ru)" != "0" ] ; then
20   echo Error: become root before starting $0 >& 2
21   exit 100
22 fi
23
24 [ -f "$MODPROBEFILE" ] || touch "$MODPROBEFILE"
25
26 if [ "$PN" = 'blacklist' ] ; then
27   if grep -q "^blacklist $1\$" $MODPROBEFILE ; then
28     eerror "Module $1 already on blacklist in $MODPROBEFILE" ; eend 1
29   else
30     einfo "Adding module $1 to blacklist $MODPROBEFILE"
31
32     if ! modinfo "${1}" >/dev/null 2>&1 ; then
33       ewarn "Notice: module $1 does not seem to exist. Adding anyway."
34       eend 0
35     fi
36
37     echo "blacklist $1" >> $MODPROBEFILE
38     echo "alias $1 off" >> $MODPROBEFILE ; eend $?
39   fi
40 fi
41
42 if [ "$PN" = 'unblacklist' ] ; then
43   if grep -q "^blacklist $1" $MODPROBEFILE ; then
44     einfo "Removing module $1 from blacklist $MODPROBEFILE"
45     sed -i "s/^blacklist.*$1$/# &/" $MODPROBEFILE
46     sed -i "s/^alias.*$1 off$/# &/" $MODPROBEFILE ; eend $?
47   else
48     eerror "Module $1 not blacklisted in $MODPROBEFILE" ; eend 1
49   fi
50 fi
51
52 ## END OF FILE #################################################################