Browse Source

clifford, fake:


			
			
				rocklinux
			
			
		
Clifford Wolf 20 years ago
parent
commit
251f5b831e
6 changed files with 316 additions and 147 deletions
  1. +1
    -0
      Documentation/Developers/REGISTER
  2. +0
    -112
      misc/output/speech-config.in
  3. +141
    -0
      misc/output/tts/config.hlp
  4. +124
    -0
      misc/output/tts/config.in
  5. +49
    -34
      misc/output/tts/functions.sh
  6. +1
    -1
      scripts/config.func

+ 1
- 0
Documentation/Developers/REGISTER

@ -86,6 +86,7 @@ Reserved User and Group IDs:
Filedescriptor Numbers
----------------------
198 Internal FD for tts output plugin
199 Output plugins unchroot mechanism
200 Package build $builddir/build.pid
201 Target build $build_logs/build_target_$$.log

+ 0
- 112
misc/output/speech-config.in

@ -1,112 +0,0 @@
# --- ROCK-COPYRIGHT-NOTE-BEGIN ---
#
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
# Please add additional copyright information _after_ the line containing
# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
# the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
#
# ROCK Linux: rock-src/misc/output/speech-config.in
# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version. A copy of the GNU General Public
# License can be found at Documentation/COPYING.
#
# Many people helped and are helping developing ROCK Linux. Please
# have a look at http://www.rocklinux.org/ and the Documentation/TEAM
# file for details.
#
# --- ROCK-COPYRIGHT-NOTE-END ---
menu_begin OUTPUT_SPEECH_MENU 'Speech Output Configuration'
block_begin 1
comment ' '
comment 'Please use the Help menu, it should answer all your questions.'
comment ' '
comment '- Helper programs'
bool 'Use existing program we can pipe text to' \
ROCKCFG_OUTPUT_SPEECH_OWNSCRIPT 0
if [ $ROCKCFG_OUTPUT_SPEECH_OWNSCRIPT -eq 1 ] ; then
text 'executable that accepts text on stdin' \
ROCKCFG_OUTPUT_SPEECH_SAYPROG "`which say || echo '/usr/bin/say'`"
else
bool 'Use the Festival TTS System instead of MBROLA' \
ROCKCFG_OUTPUT_SPEECH_USEFESTIVAL 1
if [ $ROCKCFG_OUTPUT_SPEECH_USEFESTIVAL -eq 1 ] ; then
text 'the festival executable' \
ROCKCFG_OUTPUT_SPEECH_FESTIVAL "`which festival || echo '/usr/bin/festival'`"
else
text 'the mbrola executable' \
ROCKCFG_OUTPUT_SPEECH_MBROLA "`which mbrola || echo '/usr/bin/mbrola'`"
text 'the voice file to use' \
ROCKCFG_OUTPUT_SPEECH_VOICEFILE "$(dirname `dirname $ROCKCFG_OUTPUT_SPEECH_MBROLA`)/lib/mbrola/us1"
text 'txt to pho converter executable' \
ROCKCFG_OUTPUT_SPEECH_TXT2PHO "`which txt2pho || echo '/usr/bin/txt2pho'`"
text 'console wav player executable' \
ROCKCFG_OUTPUT_SPEECH_PLAY "`which play || echo '/usr/bin/play'`"
fi ;
fi ;
comment ' '
comment '- What would you like to be informed about?'
block_begin 2
bool 'Generic header at section start' \
ROCKCFG_OUTPUT_SPEECH_ENABLE_HEADER 0
bool 'Generic status messages' \
ROCKCFG_OUTPUT_SPEECH_ENABLE_STATUS 0
bool 'Generic error messages' \
ROCKCFG_OUTPUT_SPEECH_ENABLE_ERROR 1
comment ' '
bool 'Package build refusals' \
ROCKCFG_OUTPUT_SPEECH_ENABLE_PKG_DENY 0
[ $ROCKCFG_OUTPUT_SPEECH_ENABLE_PKG_DENY -eq 1 ] &&
text 'Text to say when package is denied' \
ROCKCFG_OUTPUT_SPEECH_TXT_PKG_DENY \
'The package \$2 has been rejected in stage \$1 because of \$3.'
comment ' '
bool 'Package build starting messages' \
ROCKCFG_OUTPUT_SPEECH_ENABLE_PKG_START 1
[ $ROCKCFG_OUTPUT_SPEECH_ENABLE_PKG_START -eq 1 ] &&
text 'Text to say when package build starts' \
ROCKCFG_OUTPUT_SPEECH_TXT_PKG_START \
'The build of the package \$3 from the \$2 repository is beginning for stage \$1.'
comment ' '
bool 'Package build finished messages' \
ROCKCFG_OUTPUT_SPEECH_ENABLE_PKG_FINISH 1
[ $ROCKCFG_OUTPUT_SPEECH_ENABLE_PKG_FINISH -eq 1 ] &&
text 'Text to say when package build is finished' \
ROCKCFG_OUTPUT_SPEECH_TXT_PKG_FINISH \
'The build of the package \$3 from the \$2 repository has finished succesfully.'
comment ' '
bool 'Package build aborted messages' \
ROCKCFG_OUTPUT_SPEECH_ENABLE_PKG_ABORT 1
[ $ROCKCFG_OUTPUT_SPEECH_ENABLE_PKG_ABORT -eq 1 ] &&
text 'Text to say when package build has been aborted' \
ROCKCFG_OUTPUT_SPEECH_TXT_PKG_ABORT \
'Unfortunately, the build of package \$3 from the \$2 repository had to be aborted!'
comment ' '
bool 'Package build errorquote messages' \
ROCKCFG_OUTPUT_SPEECH_ENABLE_ERRORQUOTE 0
[ $ROCKCFG_OUTPUT_SPEECH_ENABLE_ERRORQUOTE -eq 1 ] &&
text 'Text to say when the logfile would be quoted' \
ROCKCFG_OUTPUT_SPEECH_TXT_ERRORQUOTE \
'An Error occured. Please have a look at the logfile!'
block_end
block_end
menu_end

+ 141
- 0
misc/output/tts/config.hlp

@ -0,0 +1,141 @@
ROCKCFG_OUTPUT_TTS_SYSTEM
Please select which Text-to-Speech system to use
ROCKCFG_OUTPUT_TTS_FLITE
Please supply the full, absolute location of your flite executable,
in most cases, this file is in /usr/bin/flite (rock package: flite)
ROCKCFG_OUTPUT_TTS_MBROLA
Please supply the full, absolute location of your mbrola executable,
in most cases, if installed manually, this file is called mbrola-
linux-i386.
ROCKCFG_OUTPUT_TTS_VOICEFILE
Please supply the full, absolute location of your desired voicefile.
Yes, this is the huge file you waited so long to download for. It
is suggested to use an english/american voice, as ROCK Linux build
output will be mostly english (but you can adjust some parts for
your language below)
ROCKCFG_OUTPUT_TTS_TXT2PHO
Please supply the full, absolute location of your text-to-pho converter
program. This program should be able to read text input from STDIN and
write .pho output on STDOUT, so texts can be 'piped through'. The most
common program for german voices for this, as far as i know, is txt2pho.
ROCKCFG_OUTPUT_TTS_PLAY
Please supply the full, absolute location of your console wave file
player of choice. It should be able to read it's input from STDIN,
any output on STDOUT of the program will be discarded. I suggest using
the 'play' utility that comes with the sox package, if you are using
OSS, or 'aplay' from the alsa-utils package, if you prefer ALSA.
ROCKCFG_OUTPUT_TTS_ENABLE_HEADER
This class of messages looks like, for example:
"Building cross binutils and cc for ${arch_target} ..."
and would be read out exactly like this. So, if you plan to use a non-
english voice, you wouldn't want this to be read.
ROCKCFG_OUTPUT_TTS_ENABLE_STATUS
This class of messages looks like, for exmaple:
"writing build log to src.cross.$id/binutils.log."
and would be read out exactly like this. So, if you plan to use a non-
english voice, you wouldn't want this to be read.
ROCKCFG_OUTPUT_TTS_ENABLE_ERROR
This class of messages looks like, for example:
"Detected a problem with the flist wrapper lib on your system"
and would be read out exactly like this. So, again, if you plan to use
a non-english voice, you pobably wouldn't be too happy with the result.
ROCKCFG_OUTPUT_TTS_ENABLE_PKG_DENY
This class of message is issued when a package build is categorically
denied before even the tarball is touched. Common examples are trying
to build e17 without imlib2 having compiled. The hook for this class
of messages provides 3 arguments:
$1 the current stagelevel
$2 the current package-name
$3 the reason why this package got refused
You can use these in the free configurable text, as shown in the
example text. Note, however, that for a text in a non-english language
you might want to leave $3 out, as the reason is in english usually.
ROCKCFG_OUTPUT_TTS_TXT_PKG_DENY
Please have a look at the help of ROCKCFG_OUTPUT_TTS_ENABLE_PKG_DENY.
ROCKCFG_OUTPUT_TTS_ENABLE_PKG_START
This class of message is issued when a package build is started.
The hook for this class of messages provides 5 arguments:
$1 the current stagelevel
$2 the current package's repository
$3 the current package-name
$4 the ROCK Linux version, for example 2.0.0
$5 the ROCK Linux extraversion, e.g. -rc1
You can use these in the free configurable text, as shown in the
example text.
ROCKCFG_OUTPUT_TTS_TXT_PKG_START
Please have a look at the help of ROCKCFG_OUTPUT_TTS_ENABLE_PKG_START.
ROCKCFG_OUTPUT_TTS_ENABLE_PKG_FINISH
This class of message is issued when a package build is finished.
The hook for this class of messages provides 3 arguments:
$1 the current stagelevel
$2 the current package's repository
$3 the current package-name
You can use these in the free configurable text, as shown in the
example text.
ROCKCFG_OUTPUT_TTS_TXT_PKG_FINISH
Please have a look at the help of ROCKCFG_OUTPUT_TTS_ENABLE_PKG_FINISH.
ROCKCFG_OUTPUT_TTS_ENABLE_PKG_ABORT
This class of message is issued when a package build is aborted.
The hook for this class of messages provides 3 arguments:
$1 the current stagelevel
$2 the current package's repository
$3 the current package-name
You can use these in the free configurable text, as shown in the
example text.
ROCKCFG_OUTPUT_TTS_TXT_PKG_ABORT
Please have a look at the help of ROCKCFG_OUTPUT_TTS_ENABLE_PKG_ABORT.
ROCKCFG_OUTPUT_TTS_ENABLE_ERRORQUOTE
This class of message is usually used to quote the last few lines of a
logfile to let you probably guess the reason of a failed build without
the need to open the logfile. This is not ment to be read out (not even
by humans), but you can replace the text with a generic, severe error
message in your preferred message (as the example shows). The log
excerpt will be readable on console as usual. However, if you intend to
produce some weird noise, any argument given is to be interpreted as
logfile content (so, use $*, if you want it all).
ROCKCFG_OUTPUT_TTS_TXT_ERRORQUOTE
Please have a look at the help of ROCKCFG_OUTPUT_TTS_ENABLE_ERRORQUOTE.
ROCKCFG_OUTPUT_TTS_SAYPROG
Please have a look at the help of ROCKCFG_OUTPUT_TTS_OWNSCRIPT.
ROCKCFG_OUTPUT_TTS_USEFESTIVAL
Select this, if you have installed the festival tts system. The festival
system is major to mbrola with regards to it's licence, mbrola is binary-
only, whereas festival is licensed under an OSI-approved licences.
ROCKCFG_OUTPUT_TTS_FESTIVAL
Please supply the full, absolute location of your 'festival' binary.

+ 124
- 0
misc/output/tts/config.in

@ -0,0 +1,124 @@
# --- ROCK-COPYRIGHT-NOTE-BEGIN ---
#
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
# Please add additional copyright information _after_ the line containing
# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
# the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
#
# ROCK Linux: rock-src/misc/output/tts/config.in
# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version. A copy of the GNU General Public
# License can be found at Documentation/COPYING.
#
# Many people helped and are helping developing ROCK Linux. Please
# have a look at http://www.rocklinux.org/ and the Documentation/TEAM
# file for details.
#
# --- ROCK-COPYRIGHT-NOTE-END ---
bool 'Text-to-Speech Output Plugin' ROCKCFG_OUTPUT_TTS 0
if [ "$ROCKCFG_OUTPUT_TTS" = 1 ] ; then
menu_begin OUTPUT_TTS_MENU 'Speech Output Configuration'
block_begin 1
comment ' '
comment 'Please use the Help menu, it should answer all your questions.'
comment ' '
comment '- Select Text-to-Speech System'
choice ROCKCFG_OUTPUT_TTS_SYSTEM ownscript \
ownscript 'Use existing program we can pipe text to' \
flite 'Use the Flite TTS System' \
festival 'Use the Festival TTS System' \
mbrola 'Use the MBROLA TTS System'
comment '- TTS specific settings'
if [ "$ROCKCFG_OUTPUT_TTS_SYSTEM" = ownscript ] ; then
text 'executable that accepts text on stdin' \
ROCKCFG_OUTPUT_TTS_SAYPROG "`which say || echo '/usr/bin/say'`"
fi
if [ "$ROCKCFG_OUTPUT_TTS_SYSTEM" = flite ] ; then
text 'the flite executable' \
ROCKCFG_OUTPUT_TTS_FLITE "`which flite || echo '/usr/bin/flite'`"
fi
if [ "$ROCKCFG_OUTPUT_TTS_SYSTEM" = festival ] ; then
text 'the festival executable' \
ROCKCFG_OUTPUT_TTS_FESTIVAL "`which festival || echo '/usr/bin/festival'`"
fi
if [ "$ROCKCFG_OUTPUT_TTS_SYSTEM" = mbrola ] ; then
text 'the mbrola executable' \
ROCKCFG_OUTPUT_TTS_MBROLA "`which mbrola || echo '/usr/bin/mbrola'`"
text 'the voice file to use' \
ROCKCFG_OUTPUT_TTS_VOICEFILE "$(dirname `dirname $ROCKCFG_OUTPUT_TTS_MBROLA`)/lib/mbrola/us1"
text 'txt to pho converter executable' \
ROCKCFG_OUTPUT_TTS_TXT2PHO "`which txt2pho || echo '/usr/bin/txt2pho'`"
text 'console wav player executable' \
ROCKCFG_OUTPUT_TTS_PLAY "`which play || echo '/usr/bin/play'`"
fi ;
comment ' '
comment '- What would you like to be informed about?'
block_begin 2
bool 'Generic header at section start' \
ROCKCFG_OUTPUT_TTS_ENABLE_HEADER 0
bool 'Generic status messages' \
ROCKCFG_OUTPUT_TTS_ENABLE_STATUS 0
bool 'Generic error messages' \
ROCKCFG_OUTPUT_TTS_ENABLE_ERROR 1
comment ' '
bool 'Package build refusals' \
ROCKCFG_OUTPUT_TTS_ENABLE_PKG_DENY 0
[ $ROCKCFG_OUTPUT_TTS_ENABLE_PKG_DENY -eq 1 ] &&
text 'Text to say when package is denied' \
ROCKCFG_OUTPUT_TTS_TXT_PKG_DENY \
'The package \$2 has been rejected in stage \$1 because of \$3.'
comment ' '
bool 'Package build starting messages' \
ROCKCFG_OUTPUT_TTS_ENABLE_PKG_START 1
[ $ROCKCFG_OUTPUT_TTS_ENABLE_PKG_START -eq 1 ] &&
text 'Text to say when package build starts' \
ROCKCFG_OUTPUT_TTS_TXT_PKG_START \
'The build of the package \$3 from the \$2 repository is beginning for stage \$1.'
comment ' '
bool 'Package build finished messages' \
ROCKCFG_OUTPUT_TTS_ENABLE_PKG_FINISH 1
[ $ROCKCFG_OUTPUT_TTS_ENABLE_PKG_FINISH -eq 1 ] &&
text 'Text to say when package build is finished' \
ROCKCFG_OUTPUT_TTS_TXT_PKG_FINISH \
'The build of the package \$3 from the \$2 repository has finished succesfully.'
comment ' '
bool 'Package build aborted messages' \
ROCKCFG_OUTPUT_TTS_ENABLE_PKG_ABORT 1
[ $ROCKCFG_OUTPUT_TTS_ENABLE_PKG_ABORT -eq 1 ] &&
text 'Text to say when package build has been aborted' \
ROCKCFG_OUTPUT_TTS_TXT_PKG_ABORT \
'Unfortunately, the build of package \$3 from the \$2 repository had to be aborted!'
comment ' '
bool 'Package build errorquote messages' \
ROCKCFG_OUTPUT_TTS_ENABLE_ERRORQUOTE 0
[ $ROCKCFG_OUTPUT_TTS_ENABLE_ERRORQUOTE -eq 1 ] &&
text 'Text to say when the logfile would be quoted' \
ROCKCFG_OUTPUT_TTS_TXT_ERRORQUOTE \
'An Error occured. Please have a look at the logfile!'
block_end
block_end
menu_end
fi

misc/output/speech → misc/output/tts/functions.sh

@ -5,7 +5,7 @@
# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
# the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
#
# ROCK Linux: rock-src/misc/output/speech
# ROCK Linux: rock-src/misc/output/tts/functions.sh
# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf
#
# This program is free software; you can redistribute it and/or modify
@ -21,48 +21,63 @@
# --- ROCK-COPYRIGHT-NOTE-END ---
# first we will construct a universal 'say' function
function say_proc() {
while read line
do
while read -t1 subline; do
line="$( echo -e "${line%.}.\\n$subline" | tail -n10 )"
done
case "$ROCKCFG_OUTPUT_TTS_SYSTEM" in
ownscript)
echo "${line%.}." | ($ROCKCFG_OUTPUT_TTS_SAYPROG 2>&1) > /dev/null ;;
festival)
echo "${line%.}." | $ROCKCFG_OUTPUT_TTS_FESTIVAL --tts - ;;
mbrola)
echo "${line%.}." | $ROCKCFG_OUTPUT_TTS_TXT2PHO \
| $ROCKCFG_OUTPUT_TTS_MBROLA \
$ROCKCFG_OUTPUT_TTS_VOICEFILE - -.wav \
| $ROCKCFG_OUTPUT_TTS_PLAY ;;
flite)
$ROCKCFG_OUTPUT_TTS_FLITE -t "${line%.}." 2>&1 > /dev/null ;;
esac
done
}
function say() {
if [ $ROCKCFG_OUTPUT_SPEECH_OWNSCRIPT -eq 1 ] ; then
echo $* | ($ROCKCFG_OUTPUT_SPEECH_SAYPROG 2>&1) > /dev/null
else
if [ $ROCKCFG_OUTPUT_SPEECH_USEFESTIVAL -eq 1 ] ; then
echo $* | $ROCKCFG_OUTPUT_SPEECH_FESTIVAL --tts - ;
else
echo $* | $ROCKCFG_OUTPUT_SPEECH_TXT2PHO \
| $ROCKCFG_OUTPUT_SPEECH_MBROLA $ROCKCFG_OUTPUT_SPEECH_VOICEFILE - -.wav \
| $ROCKCFG_OUTPUT_SPEECH_PLAY ;
fi ;
fi ;
if [ -z "$ROCK_OUPUT_PLUGIN_TTS_PROC_ACTIVE" ]; then
export ROCK_OUPUT_PLUGIN_TTS_PROC_ACTIVE=1
exec 198> >( say_proc )
fi
echo "$*" >&198
}
# A free-form header at start of a section usually followed by calls to
# echo_status_terminal().
#
echo_header_speech() {
[ $ROCKCFG_OUTPUT_SPEECH_ENABLE_HEADER -eq 1 ] && say "$*"
echo_header_tts() {
[ $ROCKCFG_OUTPUT_TTS_ENABLE_HEADER -eq 1 ] && say "$*"
}
# A free-form status message informaing the user of what is happening just
# now.
#
echo_status_speech() {
[ $ROCKCFG_OUTPUT_SPEECH_ENABLE_STATUS -eq 1 ] && say "$*"
echo_status_tts() {
[ $ROCKCFG_OUTPUT_TTS_ENABLE_STATUS -eq 1 ] && say "$*"
}
# A free-form error or warning message if something fails.
#
echo_error_speech() {
[ $ROCKCFG_OUTPUT_SPEECH_ENABLE_ERROR -eq 1 ] && say "$*"
echo_error_tts() {
[ $ROCKCFG_OUTPUT_TTS_ENABLE_ERROR -eq 1 ] && say "$*"
}
# We deny to build a package for some reason.
#
# Usage: echo_pkg_deny <stagelevel> <package-name> <reason>
#
echo_pkg_deny_speech() {
[ $ROCKCFG_OUTPUT_SPEECH_ENABLE_PKG_DENY -eq 1 ] &&
say `eval echo "$ROCKCFG_OUTPUT_SPEECH_TXT_PKG_DENY"`
echo_pkg_deny_tts() {
[ $ROCKCFG_OUTPUT_TTS_ENABLE_PKG_DENY -eq 1 ] &&
say `eval echo "$ROCKCFG_OUTPUT_TTS_TXT_PKG_DENY"`
}
# We start building a package.
@ -70,34 +85,34 @@ echo_pkg_deny_speech() {
# Usage: echo_pkg_start <stagelevel> <repository> <package-name> \
# <ver> <extraver>
#
echo_pkg_start_speech() {
[ $ROCKCFG_OUTPUT_SPEECH_ENABLE_PKG_START -eq 1 ] &&
say `eval echo "$ROCKCFG_OUTPUT_SPEECH_TXT_PKG_START"`
echo_pkg_start_tts() {
[ $ROCKCFG_OUTPUT_TTS_ENABLE_PKG_START -eq 1 ] &&
say `eval echo "$ROCKCFG_OUTPUT_TTS_TXT_PKG_START"`
}
# We finished building a package.
#
# Usage: echo_pkg_finish <stagelevel> <repository> <package-name>
#
echo_pkg_finish_speech() {
[ $ROCKCFG_OUTPUT_SPEECH_ENABLE_PKG_FINISH -eq 1 ] &&
say `eval echo "$ROCKCFG_OUTPUT_SPEECH_TXT_PKG_FINISH"`
echo_pkg_finish_tts() {
[ $ROCKCFG_OUTPUT_TTS_ENABLE_PKG_FINISH -eq 1 ] &&
say `eval echo "$ROCKCFG_OUTPUT_TTS_TXT_PKG_FINISH"`
}
# We aborted building a package.
#
# Usage: echo_pkg_abort <stagelevel> <repository> <package-name>
#
echo_pkg_abort_speech() {
[ $ROCKCFG_OUTPUT_SPEECH_ENABLE_PKG_ABORT -eq 1 ] &&
say `eval echo "$ROCKCFG_OUTPUT_SPEECH_TXT_PKG_ABORT"`
echo_pkg_abort_tts() {
[ $ROCKCFG_OUTPUT_TTS_ENABLE_PKG_ABORT -eq 1 ] &&
say `eval echo "$ROCKCFG_OUTPUT_TTS_TXT_PKG_ABORT"`
}
# Whenever the tail of error logs are printed, this function is used for
# that. The parameter may contain newlines.
#
echo_errorquote_speech() {
[ $ROCKCFG_OUTPUT_SPEECH_ENABLE_ERRORQUOTE -eq 1 ] &&
say `eval echo "$ROCKCFG_OUTPUT_SPEECH_TXT_ERRORQUOTE"`
echo_errorquote_tts() {
[ $ROCKCFG_OUTPUT_TTS_ENABLE_ERRORQUOTE -eq 1 ] &&
say `eval echo "$ROCKCFG_OUTPUT_TTS_TXT_ERRORQUOTE"`
}

+ 1
- 1
scripts/config.func

@ -530,7 +530,7 @@ $item_name:\\
/^[^ ]/q
s/^ //
p
}" scripts/config*.hlp package/*/*/subconfig-*.hlp package/*/*/config*.hlp target/*/config*.hlp misc/config/config*.hlp 2>/dev/null )
}" scripts/config*.hlp package/*/*/subconfig-*.hlp package/*/*/config*.hlp target/*/config*.hlp misc/*/config*.hlp misc/*/*/config*.hlp 2>/dev/null )
# Get help strings out of the temporary file.
tmp_text=$(grep "^$item_name" config.help | cut -f2- -d' ' | sed -e "s,^',," -e "s,'$,," )

Loading…
Cancel
Save