#!/bin/sh -e

installif() {

    # Install module if a corresponding config file is found (based on
    # conf.files/redhat/scripts/setmodules.sh)

    if [ -f $1 ]; then
        /bin/linuxconf --setmod $2 && echo -n "$2 "
    fi
}


case "$1" in
    install-askrunlevel)
        if [ ! -f /etc/init.d/linuxconf ]; then
            echo -n "Activating Linuxconf/askrunlevel at boot time... "
            cp /usr/lib/linuxconf/init.d/linuxconf-askrunlevel /etc/init.d/linuxconf-askrunlevel
            update-rc.d linuxconf-askrunlevel start 99 S . >/dev/null
            echo "done."
        fi
        ;;

    remove-askrunlevel)
        if [ -f /etc/init.d/linuxconf ]; then
            echo -n "Deactivating Linuxconf/askrunlevel at boot time... "
            rm -f /etc/init.d/linuxconf-askrunlevel
            update-rc.d -f linuxconf-askrunlevel remove >/dev/null
            echo "done."
        fi
        ;;

    install-boot)
        if [ ! -f /etc/init.d/rc.sysvinit ]; then
            dpkg-divert --package linuxconf --add --rename \
                --divert /etc/init.d/rc.sysvinit /etc/init.d/rc
            cp /usr/lib/linuxconf/init.d/rc /etc/init.d/rc
        fi
        ;;

    remove-boot)
        if [ -f /etc/init.d/rc.sysvinit ]; then
            dpkg-divert --package linuxconf --remove \
                --divert /etc/init.d/rc.sysvinit /etc/init.d/rc
            mv -f /etc/init.d/rc.sysvinit /etc/init.d/rc
        fi
        ;;

    update-modules)
        echo -n "Enabling Linuxconf modules: "

        installif /etc/apache/httpd.conf apache
        installif /etc/dhcpd.conf dhcpd
        installif /etc/bind/named.conf dnsconf
	installif /usr/bin/fetchmail fetchmailconf
        installif /etc/init.d/networking firewall
	installif /etc/inetd.conf inetdconf
        installif /etc/inittab inittab
        installif /etc/sendmail.cf mailconf
        installif /etc/conf.linuxconf modemconf        # use always
        installif /etc/motd motd
        installif /etc/mrtg.cfg mrtg
        installif /etc/init.d/networking netadm
        installif /etc/conf.linuxconf rarp		# use always
        installif /etc/samba/smb.conf samba
        installif /etc/squid.conf squid
        installif /etc/conf.linuxconf status            # use always
        # treemenu is not used
        installif /etc/conf.linuxconf usermenu          # use always
        installif /etc/uucp/config uucp
        installif /etc/ftpaccess wuftpd

        echo "done."
        ;;

    *)
        echo >&2 "Usage: `basename $0` COMMAND"
        echo >&2 ""
        echo >&2 "Where COMMAND is one of:"
        echo >&2 "install-askrunlevel   Install the askrunlevel tool at boot time"
        echo >&2 "remove-askrunlevel    Remove the askrunlevel tool"
        echo >&2 "install-boot          Install Linuxconf's /etc/init.d/rc script"
        echo >&2 "remove-boot           Remove Linuxconf's rc script and restore the old one"
        echo >&2 "update-modules        Enable all modules for installed packages"
        exit 1
        ;;
esac
