--- trunk/magellan-initscripts/sbin/rc-config 2004/12/13 22:52:07 3 +++ trunk/magellan-initscripts/sbin/rc-config 2005/07/01 18:07:21 104 @@ -1,26 +1,5 @@ #!/bin/bash - -#rc-config2 - -#header layout - -#runlevenumber:start -#runlevenumber:stop -#%rlevels 1:k 2:s - -#start number -#%start - -#stop number -#%stop - - -#deps; unused yet -#%needs -#%before -#%after - RC_INIT_BASE=/etc/init.d RC_EXCLUDE="rc functions template splash-functions" @@ -29,12 +8,12 @@ get_run_levels(){ local SCRIPT local ALL_LEVELS - + SCRIPT=${RC_INIT_BASE}/$1 ALL_LEVELS=$(grep -i "#%rlevels:" ${SCRIPT} | sed -e 's/#%rlevels://g') - + echo ${ALL_LEVELS} - + return 0 } @@ -42,60 +21,60 @@ get_needs() { local SCRIPT local ALL_LEVELS - + SCRIPT=${RC_INIT_BASE}/$1 ALL_LEVELS=$(grep -i "#%needs:" ${SCRIPT} | sed -e 's/#%needs://g') - + echo ${ALL_LEVELS} - + return 0 } get_before() { local SCRIPT local ALL_LEVELS - + SCRIPT=${RC_INIT_BASE}/$1 ALL_LEVELS=$(grep -i "#%before:" ${SCRIPT} | sed -e 's/#%before://g') - + echo ${ALL_LEVELS} - + return 0 } get_after() { local SCRIPT local ALL_LEVELS - + SCRIPT=${RC_INIT_BASE}/$1 ALL_LEVELS=$(grep -i "#%after:" ${SCRIPT} | sed -e 's/#%after://g') - + echo ${ALL_LEVELS} - + return 0 } get_start() { local SCRIPT local ALL_LEVELS - + SCRIPT=${RC_INIT_BASE}/$1 ALL_LEVELS=$(grep -i "#%start:" ${SCRIPT} | sed -e 's/#%start://g') - + echo ${ALL_LEVELS} - + return 0 } get_stop() { local SCRIPT local ALL_LEVELS - + SCRIPT=${RC_INIT_BASE}/$1 ALL_LEVELS=$(grep -i "#%stop:" ${SCRIPT} | sed -e 's/#%stop://g') - + echo ${ALL_LEVELS} - + return 0 } @@ -110,14 +89,14 @@ for i in $(get_run_levels ${RC_SERVICE}) do case ${i} in - #start + # start ?:s) [ "${i}" == "7:s" ] && i="sysinit:s" echo -e "\t\t[rc${i/:s/}.d -> S${RC_START}]" ln -snf ../init.d/${RC_SERVICE} \ /etc/rc.d/rc${i/:s/}.d/S${RC_START}${RC_SERVICE} ;; - #stop + # stop ?:k) [ "${i}" == "7:k" ] && i="sysinit:k" echo -e "\t\t[rc${i/:k/}.d -> K${RC_STOP}]" @@ -130,12 +109,11 @@ ;; esac done - #echo "." } rc_service_del(){ RC_SERVICE=$1 - + echo "Deleting ${RC_SERVICE} from all runlevels:" for i in 0 1 2 3 4 5 6 sysinit do @@ -146,7 +124,7 @@ echo -e "\t\t[rc${i}.d <- S${z}]" rm /etc/rc.d/rc${i}.d/S${z}${RC_SERVICE} fi - + if [ -L "/etc/rc.d/rc${i}.d/K${z}${RC_SERVICE}" ] then echo -e "\t\t[rc${i}.d <- K${z}]" @@ -156,111 +134,12 @@ done } -rc_service_show_old() { - RC_SERVICE=$1 - - local ALL_RUNLEVELS - - [ -z "${RC_SERVICE}" ] && RC_SERVICE=all - - if [ "${RC_SERVICE}" != all ] - then - #read'em (single) - for i in $(seq 0 7) - do - if [ ${i} -eq 7 ] - then - level=sysinit - else - level=${i} - fi - - for script in /etc/rc.d/rc${level}.d/* - do - x="$(basename ${script})" - if [ "${x/???/}" == "${RC_SERVICE}" ] - then - ALL_RUNLEVELS[${i}]=${x/${RC_SERVICE}/} - fi - done - done - - #show them (single) - #echo "Currently configured Services:" - echo -n "${RC_SERVICE}: " - for i in $(seq 0 7) - do - if [ ${i} -eq 7 ] - then - level=sysinit - else - level=${i} - fi - - if [ ! -z "${ALL_RUNLEVELS[${i}]}" ] - then - echo -n "[${level}:${ALL_RUNLEVELS[${i}]}] " - fi - done - echo - else - local MY_RC_SERVICE - local initscripts - - #read'em (all) - echo "Currently configured Services:" - for initscript in ${RC_INIT_BASE}/* - do - MY_RC_SERVICE=$(basename ${initscript}) - unset ALL_RUNLEVELS - unset level i x - - for i in $(seq 0 7) - do - if [ ${i} -eq 7 ] - then - level=sysinit - else - level=${i} - fi - - for script in /etc/rc.d/rc${level}.d/* - do - x=$(basename ${script}) - if [ "${x/???/}" == "${MY_RC_SERVICE}" ] - then - ALL_RUNLEVELS[${i}]=${x/${MY_RC_SERVICE}/} - fi - done - done - - #show them (all) - echo -n "${MY_RC_SERVICE}: " - for i in $(seq 0 7) - do - if [ ${i} -eq 7 ] - then - level=sysinit - else - level=${i} - fi - - if [ ! -z "${ALL_RUNLEVELS[${i}]}" ] - then - echo -n "[${level}:${ALL_RUNLEVELS[${i}]}] " - fi - done - echo - done - fi -} - rc_service_show() { RC_SERVICE=$1 - + local ALL_RUNLEVELS - - #read'em (single) + + # read'em (single) for i in $(seq 0 7) do if [ ${i} -eq 7 ] @@ -279,9 +158,8 @@ fi done done - + #show them (single) -# echo "Currently configured Services:" echo -n "${RC_SERVICE}: " for i in $(seq 0 7) do @@ -296,7 +174,7 @@ check_not_excluded(){ local SCRIPT SCRIPT=$1 - + for i in ${RC_EXCLUDE} do if [ ${SCRIPT} == ${i} ] @@ -304,7 +182,7 @@ return 1 fi done - + return 0 } @@ -326,7 +204,6 @@ fi current=$(cat /etc/inittab|grep initdefault) - #echo "$current" cp /etc/inittab /etc/inittab-orig sed -e "s/${current}/id:${newinitdef}:initdefault:/g" \ @@ -342,7 +219,6 @@ fi } - usage() { echo "Magellan RC Configurator v${VERSION} -- Niels Rogalla (niro@magellan-linux.de)" echo -e "\nUsage: $(basename $0) [Option] [File] ..." @@ -361,7 +237,7 @@ rc_service_del $2 ;; show) - #show all + # show all if [ -z "$2" ] then echo "Currently configured Services:"