checkgrmlusb(){
grep -q usb /etc/grml_version 2>>$DEBUG && return 0 || return 1
}
+
+# execute flite only if it's present
+flitewrapper() {
+ [ -x /usr/bin/flite ] && flite -o play -t "$*"
+}
### }}}
# {{{ filesystems (proc, pts, sys) and fixes
if checkbootparam swspeak ; then
einfo "Bootoption swspeak found."
- if ! [ -d /proc/speakup/ ] ; then
- ewarn" Kernel does not support software speakup - trying to load kernel module:" ; eend 0
+ if [ ! -d /proc/speakup/ ] && ! grep -q speakup /proc/modules ; then
+ ewarn "Kernel does not support software speakup - trying to load kernel module:" ; eend 0
eindent
einfo "Loading speakup_soft"
if modprobe speakup_soft ; then
eend 0
else
- flite -o play -t "Fatal error setting up software speakup"
+ flitewrapper "Fatal error setting up software speakup"
eend 1
return 1
fi
eoutdent
fi
- if [ -d /proc/speakup/ ] ; then
+ if [ -d /proc/speakup/ ] || grep -q speakup /proc/modules ; then
einfo "Kernel supports speakup." ; eend 0
eindent
if [ -x /etc/init.d/speech-dispatcher ] ; then
einfo "Starting speech-dispatcher."
/etc/init.d/speech-dispatcher start 1>>DEBUG ; eend $?
- einfo "Activating sftsyn in Kernel."
- echo sftsyn >/proc/speakup/synth_name ; eend $?
+ if [ -r /proc/speakup/synth_name ] ; then
+ einfo "Activating sftsyn via /proc in Kernel."
+ echo sftsyn > /proc/speakup/synth_name ; eend $?
+ elif [ -r /sys/modules/speakup/parameters/synth ] ; then
+ einfo "Activating sftsyn via /sys in Kernel."
+ echo sftsyn > /sys/modules/speakup/parameters/synth ; eend $?
+ else
+ eerror "Error when configuring sftsyn via /proc or /sys." ; eend 1
+ fi
einfo "Just run swspeak if you want to use software synthesizer via speakup."
- flite -o play -t "Finished activating software speakup. Just run swspeak when booting finished."
+ flitewrapper "Finished activating software speakup. Just run swspeak when booting finished."
else
eerror "speech-dispatcher not available. swspeak will not work without it." ; eend 1
- flite -o play -t "speech-dispatcher not available. speakup will not work without it."
+ flitewrapper "speech-dispatcher not available. speakup will not work without it."
fi
eoutdent
else
eerror "Kernel does not seem to support speakup. Skipping swspeak." ; eend 1
- flite -o play -t "Kernel does not seem to support speakup. Sorry."
+ flitewrapper "Kernel does not seem to support speakup. Sorry."
fi
fi
}
if checkbootparam hwspeak ; then
einfo "Bootoption hwspeak found."
- if ! [ -d /proc/speakup/ ] ; then
+ if [ ! -d /proc/speakup/ ] && ! grep -q speakup /proc/modules ; then
ewarn" Kernel does not support hardware speakup - trying to load kernel modules:" ; eend 0
eindent
for module in $(find "/lib/modules/${KERNEL}/extra/speakup/" -name \*.ko | \
eoutdent
fi
- if [ -d /proc/speakup/ ] ; then
- einfo "Kernel supports speakup now." ; eend 0
- flite -o play -t "Kernel supports speakup now."
+ if [ -d /proc/speakup/ ] || grep -q speakup /proc/modules ; then
+ einfo "Kernel should support speakup now." ; eend 0
+ flitewrapper "Kernel should support speakup now."
else
eerror "Kernel or hardware do not seem to support speakup. Skipping hwspeak." ; eend 1
- flite -o play -t "Kernel or hardware do not seem to support speakup. Sorry."
+ flitewrapper "Kernel or hardware do not seem to support speakup. Sorry."
fi
fi
}
config_blindsound(){
if checkbootparam "blind" ; then
beep
- flite -o play -t "welcome to the gremel system"
+ flitewrapper "welcome to the gremel system"
fi
}
# }}}
# {{{ welcome sound
config_welcome(){
if checkbootparam welcome ; then
- flite -o play -t "welcome to the gremel system"
+ flitewrapper "welcome to the gremel system"
fi
}
# }}}