From fb8b49bcaef4ea6dba6df42b8f92fca3f81a24fd Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Tue, 16 Oct 2001 13:07:17 +0000 Subject: Changes from 4.1 which need to be backported --- Config/installfns.sh | 49 ++++++++++++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 21 deletions(-) (limited to 'Config') diff --git a/Config/installfns.sh b/Config/installfns.sh index ec738e2d7..76d937413 100755 --- a/Config/installfns.sh +++ b/Config/installfns.sh @@ -2,32 +2,39 @@ fndir=$DESTDIR$fndir -$sdir_top/mkinstalldirs $fndir || exit 1; +/bin/sh $sdir_top/mkinstalldirs $fndir || exit 1; -# If the source directory is somewhere else, we need to force -# the shell to expand it in that directory, then strip it off. -install= -for file in $FUNCTIONS_INSTALL; do - if test -f "$sdir/$file"; then - install="$install $file" - else - install="$install `echo '' $sdir/$file | sed -e \"s% $sdir/% %g\"`" - fi -done +allfuncs="`grep ' functions=.' ${dir_top}/config.modules | + sed -e '/^#/d' -e '/ link=no/d' -e 's/^.* functions=//'`" -for file in $install; do - if test -f $sdir/$file; then +allfuncs="`cd $sdir_top; echo ${allfuncs}`" + +# We now have a list of files, but we need to use `test -f' to check +# (1) the glob got expanded (2) we are not looking at directories. +for file in $allfuncs; do + if test -f $sdir_top/$file; then + case "$file" in + */CVS/*) continue;; + esac if test x$FUNCTIONS_SUBDIRS != x -a x$FUNCTIONS_SUBDIRS != xno; then - subfile="$file" - subdir="`echo $file | sed -e 's%/[^/]*$%%'`" - instdir="$fndir/$subdir" + case "$file" in + Completion/comp*) + subdir="`echo $file | sed -e 's%/[^/]*/[^/]*$%%'`" + instdir="$fndir/Completion" + ;; + Completion/*) + subdir="`echo $file | sed -e 's%/[^/]*/[^/]*$%%'`" + instdir="$fndir/$subdir" + ;; + *) + subdir="`echo $file | sed -e 's%/[^/]*$%%' -e 's%^Functions/%%'`" + instdir="$fndir/$subdir" + ;; + esac else - subfile="`echo $file | sed -e 's%^.*/%%'`" instdir="$fndir" fi - $sdir_top/mkinstalldirs $instdir || exit 1 - $INSTALL_DATA $sdir/$file $instdir || exit 1 + test -d $instdir || /bin/sh $sdir_top/mkinstalldirs $instdir || exit 1 + $INSTALL_DATA $sdir_top/$file $instdir || exit 1 fi done - -exit 0 -- cgit 1.4.1