summaryrefslogtreecommitdiff
path: root/Config/installfns.sh
diff options
context:
space:
mode:
Diffstat (limited to 'Config/installfns.sh')
-rwxr-xr-xConfig/installfns.sh48
1 files changed, 13 insertions, 35 deletions
diff --git a/Config/installfns.sh b/Config/installfns.sh
index de7a52bce..eb552b76d 100755
--- a/Config/installfns.sh
+++ b/Config/installfns.sh
@@ -1,48 +1,26 @@
#!/bin/sh
-if test -d $fndir.old; then
- add_old=1
-fi
+fndir=$DESTDIR$fndir
$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=//'`"
+
+allfuncs="`cd $sdir_top; echo ${allfuncs}`"
-for file in $install; do
- if test -f $sdir/$file; then
+# 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
if test x$FUNCTIONS_SUBDIRS != x -a x$FUNCTIONS_SUBDIRS != xno; then
- subfile="$file"
- subdir="`echo $file | sed -e 's%/[^/]*$%%'`"
- olddir="$fndir.old/$subdir"
+ subdir="`echo $file | sed -e 's%/[^/]*$%%' \
+ -e s%^Functions/%% -e s%^Completion/%%`"
instdir="$fndir/$subdir"
else
- subfile="`echo $file | sed -e 's%^.*/%%'`"
- olddir="$fndir.old"
instdir="$fndir"
fi
- if test -f $fndir/$subfile; then
- if cmp $fndir/$subfile $sdir/$file >/dev/null; then :; else
- $sdir_top/mkinstalldirs $olddir
- mv $fndir/$subfile $olddir
- : ${add_old:=1}
- fi
- fi
- $sdir_top/mkinstalldirs $instdir || exit 1
- $INSTALL_DATA $sdir/$file $instdir || exit 1
+ test -d $instdir || $sdir_top/mkinstalldirs $instdir || exit 1
+ $INSTALL_DATA $sdir_top/$file $instdir || exit 1
fi
done
-
-if test x$add_old != x1; then
- rm -rf $fndir.old
-fi
-
-exit 0