Change configure.in to note that since we are using expr(1)'s regex match

command, the entries in template/.similar can really be regular
expressions.  This isn't a new feature, just an observation of what the
code already did.
This commit is contained in:
Tom Lane 2000-03-19 22:46:22 +00:00
parent b178865891
commit 641c368ae9

View File

@ -96,30 +96,28 @@ host="`echo $host | tr '[[A-Z]]' '[[a-z]]'`"
if test -f "template/$host"
then TEMPLATE="$host"
else
# Next try for an exact match to a .similar entry.
# There shouldn't be multiple matches, but take the last if there are.
GUESS=`grep "^$host=" template/.similar | sed 's/^.*=//' | tail -1`
# Scan template/.similar for a rule that tells us which template to use.
# The format of each line of the file is
# hostnamepattern=templatefilename
# where the hostnamepattern is evaluated per the rules of expr(1) ---
# namely, it is a standard regular expression with an implicit ^ at the
# start. If multiple lines match, we will end up using the last match.
GUESS=""
exec 4<template/.similar
while read LINE <&4
do
SIMHOST=`expr "$LINE" : '\(.*\)='`
MATCH=`expr "$host" : "$SIMHOST"`
if test "$MATCH" != 0
then GUESS=`echo "$LINE" | sed 's/^.*=//'`
fi
done
exec 4<&-
if test "$GUESS"
then TEMPLATE="$GUESS"
else
# Next look for a .similar entry that is a prefix of $host.
# If there are multiple matches, take the last one.
exec 4<template/.similar
while read LINE <&4
do
SIMHOST=`expr "$LINE" : '\(.*\)='`
MATCH=`expr "$host" : "$SIMHOST"`
if test "$MATCH" != 0
then GUESS=`echo "$LINE" | sed 's/^.*=//'`
fi
done
exec 4<&-
if test "$GUESS"
then TEMPLATE="$GUESS"
else
# Last chance ... maybe uname -s will match an entry.
TEMPLATE=`uname -s | tr '[[A-Z]]' '[[a-z]]'`
fi
# Last chance ... maybe uname -s will match an entry.
TEMPLATE=`uname -s | tr '[[A-Z]]' '[[a-z]]'`
fi
fi
])
@ -130,7 +128,7 @@ if test ! -f "template/$TEMPLATE"; then
echo ""
echo "$TEMPLATE does not exist"
echo ""
echo "Available Templates (set using --with-template):"
echo "Available Templates (select one using --with-template):"
echo ""
ls template
echo ""