DATEFLAGS="+%Y.%m.%d.%H.%M.%S"
EXITCODE=0
EXTRAENVIRONMENT=
INDENT="awk '{ print "ttt" $0 }'"
JOINLINES="tr 'n' ' 40'"
LOGDIR=
PROGRAM=`basename $0`
SCP=scp
SSH=ssh
SSHFLAGS=${SSHFLAGS--x}
STRIPCOMMENTS='sed -e s/#.*$//'
userhosts=
VERSION=1.0
#默认的初始化文件
defaultdirectories=$BUILDHOME/directories
defaultuserhosts=$BUILDHOME/userhosts
#要寻找包分发的位置列表,如果用户未提供个人化列表,则使用默认列表:
SRCDIRS="`$STRIPCOMMENTS $defaultdirectories 2> /dev/null`"
test -z "$SRCDIRS" &&
SRCDIRS=".
/usr/local/src
/usr/local/gnu/src
$HOME/src
$HOME/gnu/src
/tmp
/usr/tmp
/var/tmp"
while test $# -gt 0
do
case $1 in
--all | --al | --a | -all | -al | -a )
shift
ALLTARGETS="$1"
--cd | -cd )
shift
CONFIGUREDIR="$1"
--check | --chec | --che | --ch | -check | -chec | -che | -ch )
shift
CHECKTARGETS="$1"
--configure | --conf | --co | -configure | -conf | -co )
shift
CONFIGUREFLAGS="$1"
--environment | --environ | -- envir | --e | -environment |
-environ | -envir | -e )
shift
EXTRAENVIRONMENT="$1"
--help | --h | '--?' | -help | -h | '-?' )
usage_and_exit 0
--logdirectory | --log | --l | -logdirectory | -log | -l )
shift
altlogdir="$1"
--on | --o | -on | -o )
shift
userhosts="$userhosts $1"
--source | --s | -source | -s )
shift
altsrcdirs="$altsrcdirs $1"
--userhosts | --u | -userhosts | -u )
shift
set_userhosts $1
--version | --v | -version | -v )
version
exit 0
-* )
error "Unrecognized option: $1"
* )
break
esac
shift
done
#寻找适当的邮件客户端程序
for MAIL in /bin/mailx /usr/bin/mailx /usr/sbin/mailx /usr/ucb/mailx
/bin/mail /usr/bin/mail
do
test -x $MAIL && break
done
test -x $MAIL || error "Cannot find mail client"
#命令行来源目录优先于默认值
SRCDIRS="$altsrcdirs $SRCDIRS"
if test -n "$userhosts"
then
test -n "$ALTUSERHOSTS" &&
userhosts="$userhosts `$STRIPCOMMENTS $ALTUSERHOSTS 2> /dev/null`"
else
test -z "$ALTUSERHOSTS" && ALTUSERHOSTS="$defaultuserhosts"
userhosts="`$STRIPCOMMENTS $ALTUSERHOSTS 2> /dev/null`"
fi
#检查是否要执行某些操作
test -z "$userhosts" && usage_and_exit 1
for p in "$@"
do
find_package "$p"
if test -z "$PARFILE"
then










