summaryrefslogtreecommitdiff
path: root/Config/uninstallfns.sh
diff options
context:
space:
mode:
Diffstat (limited to 'Config/uninstallfns.sh')
-rwxr-xr-xConfig/uninstallfns.sh47
1 files changed, 34 insertions, 13 deletions
diff --git a/Config/uninstallfns.sh b/Config/uninstallfns.sh
index c45c58b09..7c223889c 100755
--- a/Config/uninstallfns.sh
+++ b/Config/uninstallfns.sh
@@ -1,6 +1,7 @@
#!/bin/sh
fndir=$DESTDIR$fndir
+scriptdir=$DESTDIR$scriptdir
allfuncs="`grep ' functions=' ${dir_top}/config.modules |
sed -e '/^#/d' -e '/ link=no/d' -e 's/^.* functions=//'`"
@@ -10,10 +11,6 @@ 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
@@ -22,15 +19,39 @@ case $fndir in
# 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%%^Functions/%'`
- rm -f $fndir/$file;
- else
- bfile="`echo $file | sed -e 's%^.*/%%'`"
- rm -f "$fndir/$bfile"; \
- fi
- fi
+ case $file in
+ Scripts/*)
+ ;;
+ *)
+ 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%%^(Functions|Completion)/%'`
+ rm -f $fndir/$file
+ else
+ bfile="`echo $file | sed -e 's%^.*/%%'`"
+ rm -f "$fndir/$bfile"
+ fi
+ fi
+ ;;
+ esac
+ done
+ ;;
+esac
+
+case $scriptdir in
+ *$VERSION*)
+ # $scriptdir might be the parent of fndir.
+ rm -rf $scriptdir
+ ;;
+ *) for file in $allfuncs; do
+ case $file in
+ Scripts/*)
+ if test -f $sdir_top/$file; then
+ bfile="`echo $file | sed -e 's%^.*/%%'`"
+ rm -f "$scriptdir/$bfile"
+ fi
+ ;;
+ esac
done
;;
esac