diff options
Diffstat (limited to 'Config/uninstallfns.sh')
-rwxr-xr-x | Config/uninstallfns.sh | 59 |
1 files changed, 33 insertions, 26 deletions
diff --git a/Config/uninstallfns.sh b/Config/uninstallfns.sh index ae1b4fef5..963daad66 100755 --- a/Config/uninstallfns.sh +++ b/Config/uninstallfns.sh @@ -1,31 +1,38 @@ #!/bin/sh -# 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 +fndir=$DESTDIR$fndir -for file in $install; do - if test -f $sdir/$file; then - if test x$FUNCTIONS_SUBDIRS != x -a x$FUNCTIONS_SUBDIRS != xno; then - rm -f $fndir/$file; - if test -f $fndir.old/$file; then - mv $fndir.old/$file $fndir/$file - fi - else - bfile="`echo $file | sed -e 's%^.*/%%'`" - rm -f "$fndir/$bfile"; \ - if test -f $fndir.old/$bfile; then - mv $fndir.old/$bfile $fndir/$bfile - fi - fi - 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}`" + +case $fndir in + *$VERSION*) + # Version specific function directory, safe to remove completely. + # However, we don't remove the top-level version directory since + # it could have other things than functions in it. We could + # do that instead in the top-level Makefile on a full uninstall, + # if we wanted. + rm -rf $fndir + ;; + *) # The following will only apply with a custom install directory + # with no version information. This is rather undesirable. + # But let's try and do the best we can. + # 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 + file=`echo $file | sed -e 's%%^Completion/%' -e 's%%^Functions%'` + rm -f $fndir/$file; + else + bfile="`echo $file | sed -e 's%^.*/%%'`" + rm -f "$fndir/$bfile"; \ + fi + fi + done + ;; +esac exit 0 |