X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=usr_sbin%2Fgrml-setservices;h=1d8e146c8efb58f09beee4e9e9b8aeb65e49f7c2;hb=2706049698b8bc7478aa252f5e3a4f394bad4e5e;hp=be213633e3ba9965a5427bdea1107565e2dbe49e;hpb=d6b26ce3b8ffa721052bfb0eebc546ac9a63e5f9;p=grml-scripts.git diff --git a/usr_sbin/grml-setservices b/usr_sbin/grml-setservices index be21363..1d8e146 100755 --- a/usr_sbin/grml-setservices +++ b/usr_sbin/grml-setservices @@ -1,10 +1,9 @@ -#!/bin/sh +#!/bin/bash # Filename: grml-setservices # Purpose: interface for basic configuration of system startup # Authors: grml-team (grml.org), (c) Michael Prokop # Bug-Reports: see http://grml.org/bugs/ # License: This file is licensed under the GPL v2. -# Latest change: Fre Mär 16 21:54:10 CET 2007 [mika] ################################################################################ PN="$(basename $0)" @@ -22,7 +21,7 @@ bailout(){ exit 0 } -trap bailout 1 2 3 15 +trap bailout HUP INT QUIT TERM is_value_set(){ [ -n "$1" ] || return 2 @@ -41,42 +40,90 @@ or choose cancel. " # enable checks only if the according init script is present +[ -r /etc/init.d/lvm2 ] && LVM='lvm!logical volume management!on' [ -r /etc/init.d/mdadm ] && SRAID='mdadm!software-raid via mdadm!on' [ -r /etc/init.d/dmraid ] && MRAID='dmraid!software-raid via dmraid!off' [ -r /etc/init.d/dbus -o -r /etc/init.d/dbus-1 ] && DBUS='dbus!hal/dbus (important for KDE e.g.)!off' - -# adjust setup +[ -r /etc/init.d/hal ] && HAL='hal!Hardware Abstraction Layer daemon (important for KDE e.g.)!off' +[ -r /etc/init.d/nfs-common ] && NFS='nfs!Network File System (client setup)!off' + +## adjust setup +# logic: +# if is_value_set +# remove_from_runlevel.conf +# set_up_defaults_as_intented_in_/var/lib/dpkg/info/$PACKAGE.postinst +# else +# remove_from_runlevel.conf +# set_up_only_for_stop_to_prevent_reactivation_via_maintainer_scripts_on_upgrade set_values(){ - if is_value_set "mdadm" ; then - update-rc.d -f mdadm remove >/dev/null 2>&1 - update-rc.d mdadm-raid start 25 S . start 50 0 6 . >/dev/null 2>&1 - update-rc.d mdadm defaults 25 >/dev/null 2>&1 - else - update-rc.d -f mdadm remove >/dev/null 2>&1 - update-rc.d mdadm stop 20 0 1 6 . >/dev/null 2>&1 + if [ -n "$LVM" ] ; then + if is_value_set "lvm" ; then + update-rc.d -f lvm2 remove >/dev/null 2>&1 + update-rc.d lvm2 start 26 S . start 50 0 6 . + else + update-rc.d -f lvm2 remove >/dev/null 2>&1 + update-rc.d lvm2 stop 20 0 1 6 . >/dev/null 2>&1 + fi + fi + + if [ -n "$SRAID" ] ; then + if is_value_set "mdadm" ; then + update-rc.d -f mdadm remove >/dev/null 2>&1 + update-rc.d mdadm-raid start 25 S . start 50 0 6 . >/dev/null 2>&1 + update-rc.d mdadm defaults 25 >/dev/null 2>&1 + else + update-rc.d -f mdadm remove >/dev/null 2>&1 + update-rc.d mdadm stop 20 0 1 6 . >/dev/null 2>&1 + update-rc.d -f mdadm-raid remove >/dev/null 2>&1 + update-rc.d mdadm-raid stop 20 0 1 6 . >/dev/null 2>&1 + fi + fi + + if [ -n "$MRAID" ] ; then + if is_value_set "dmraid" ; then + update-rc.d -f dmraid remove >/dev/null 2>&1 + update-rc.d dmraid start 04 S . start 51 0 6 . >/dev/null + else + update-rc.d -f dmraid remove >/dev/null 2>&1 + update-rc.d dmraid stop 20 0 1 6 . >/dev/null 2>&1 + fi + fi + + if [ -n "$DBUS" ] ; then + if is_value_set "dbus" ; then + update-rc.d -f dbus remove >/dev/null 2>&1 + update-rc.d dbus defaults >/dev/null 2>&1 + else + update-rc.d -f dbus remove >/dev/null 2>&1 + update-rc.d dbus stop 20 0 1 6 . >/dev/null 2>&1 + fi fi - if is_value_set "dmraid" ; then - update-rc.d -f dmraid remove >/dev/null 2>&1 - update-rc.d dmraid start 04 S . start 51 0 6 . >/dev/null - else - update-rc.d -f dmraid remove >/dev/null 2>&1 - update-rc.d dmraid stop 20 0 1 6 . >/dev/null 2>&1 + if [ -n "$HAL" ] ; then + if is_value_set "hal" ; then + update-rc.d -f hal remove >/dev/null 2>&1 + update-rc.d hal start 24 2 3 4 5. stop 16 0 1 6 . >/dev/null 2>&1 + else + update-rc.d -f hal remove >/dev/null 2>&1 + update-rc.d hal stop 20 0 1 6 . >/dev/null 2>&1 + fi fi - if is_value_set "dbus" ; then - update-rc.d -f dbus remove >/dev/null 2>&1 - update-rc.d dbus defaults >/dev/null 2>&1 - else - update-rc.d -f dbus remove >/dev/null 2>&1 - update-rc.d dbus stop 20 0 1 6 . >/dev/null 2>&1 + if [ -n "$NFS" ] ; then + if is_value_set "nfs" ; then + update-rc.d -f nfs-common remove >/dev/null 2>&1 + update-rc.d nfs-common start 20 2 3 4 5 . stop 20 0 1 6 . start 44 S . >/dev/null 2>&1 + else + update-rc.d -f nfs-common remove >/dev/null 2>&1 + update-rc.d nfs-common stop 20 0 1 6 . >/dev/null 2>&1 + fi fi } # the interface itself oifs="$IFS" IFS='!' -$DIALOG --title "$PN" --checklist "$INFO" 30 65 8 $SRAID $MRAID $DBUS 2>$TMP +$DIALOG --title "$PN" --checklist "$INFO" 30 65 8 $LVM $SRAID $MRAID $DBUS $HAL $NFS 2>$TMP retval="$?" case $retval in