diff options
author | Cecil Hugh Watson <knoppmyth@gmail.com> | 2009-09-26 01:57:08 (GMT) |
---|---|---|
committer | Cecil Hugh Watson <knoppmyth@gmail.com> | 2009-09-26 01:57:08 (GMT) |
commit | 7b29169fff9e7c624890c5edffe85def8a293136 (patch) | |
tree | 47753889faa3a2063b66d1c7e7681e703eb1b39a /abs/core/fbsplash/fbsplash.inithooks | |
parent | c491dea779dac29afff3578bf8245943817c2339 (diff) | |
download | linhes_pkgbuild-7b29169fff9e7c624890c5edffe85def8a293136.zip linhes_pkgbuild-7b29169fff9e7c624890c5edffe85def8a293136.tar.gz linhes_pkgbuild-7b29169fff9e7c624890c5edffe85def8a293136.tar.bz2 |
LinHES 6.01.00
Diffstat (limited to 'abs/core/fbsplash/fbsplash.inithooks')
-rw-r--r-- | abs/core/fbsplash/fbsplash.inithooks | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/abs/core/fbsplash/fbsplash.inithooks b/abs/core/fbsplash/fbsplash.inithooks new file mode 100644 index 0000000..c396b92 --- /dev/null +++ b/abs/core/fbsplash/fbsplash.inithooks @@ -0,0 +1,91 @@ +# fbsplash function.d script # +# Author: Greg Helton <gt@fallendusk.org> # + +# Who is calling? # +CALLER=$0 + +# splash stuff # +. /etc/conf.d/fbsplash.conf +. /sbin/splash-functions.sh + +# Redefine the stat functions # +stat_bkgd() { + printf "${C_OTHER}${PREFIX_REG} ${C_MAIN}${1}${C_CLEAR} " + deltext + printf " ${C_OTHER}[${C_BKGD}BKGD${C_OTHER}]${C_CLEAR} " +} + +stat_busy() { + printf "${C_OTHER}${PREFIX_REG} ${C_MAIN}${1}${C_CLEAR} " + printf "${SAVE_POSITION}" + deltext + printf " ${C_OTHER}[${C_BUSY}BUSY${C_OTHER}]${C_CLEAR} " + # This checks to see if we just brought up the lo interface in rc.sysinit # + # if so, start the progress bar # + if [ "${1}" == 'Bringing up loopback interface' ]; then + splash rc_init + fi + # Load variables # + var_load STEP_NR MAX_STEPS RC_MULTI RC_SYSINIT RC_SHUTDOWN + # Only update the splash progress if we're in sysinit, multi, or shutdown. # + if [[ "${SPLASH_RC_MULTI}" == "1" || "${SPLASH_RC_SYSINIT}" == "1" || "${SPLASH_RC_SHUTDOWN}" == "1" ]]; then + ((SPLASH_STEP_NR++)) + SPLASH_PROGRESS=$((100*${SPLASH_STEP_NR}/${SPLASH_MAX_STEPS})) + SPLASH_CURRENT_PROGRESS=${SPLASH_PROGRESS} + splash_update_progress ${SPLASH_PROGRESS} + var_save STEP_NR CURRENT_PROGRESS + fi + if [ "${SPLASH_RC_SHUTDOWN}" == "1" ]; then + save_shutdown_steps + fi + +} + +stat_done() { + deltext + printf " ${C_OTHER}[${C_DONE}DONE${C_OTHER}]${C_CLEAR} \n" +} + +stat_fail() { + deltext + printf " ${C_OTHER}[${C_FAIL}FAIL${C_OTHER}]${C_CLEAR} \n" + splash_verbose +} + +start_daemon() { + /etc/rc.d/$1 start +} + +# rc.sysinit # +if [ "$CALLER" == '/etc/rc.sysinit' ]; then +# echo "fbsplash: Setting up splash..." + splash_cache_prep + SPLASH_MAX_STEPS=$(load_boot_steps) + SPLASH_STEP_NR=0 + SPLASH_RC_MULTI=0 + SPLASH_RC_SYSINIT=1 + SPLASH_RC_SHUTDOWN=0 + var_save MAX_STEPS STEP_NR RC_MULTI RC_SYSINIT RC_SHUTDOWN +fi + +# rc.multi # +if [ "$CALLER" == '/etc/rc.multi' ]; then + SPLASH_RC_MULTI=1 + SPLASH_RC_SYSINIT=0 + var_save RC_MULTI RC_SYSINIT +fi + +# rc.shutdown # +if [ "$CALLER" == '/etc/rc.shutdown' ]; then +# echo "fbsplash: Setting up splash..." + splash_cache_prep + SPLASH_MAX_STEPS=$(load_shutdown_steps) + SPLASH_SHUTDOWN_STEPS=1 + SPLASH_STEP_NR=0 + SPLASH_RC_MULTI=0 + SPLASH_RC_SYSINIT=0 + SPLASH_RC_SHUTDOWN=1 + var_save MAX_STEPS STEP_NR RC_MULTI RC_SYSINIT RC_SHUTDOWN DAEMON_STEPS + splash rc_init +fi + |