- Remove version file as a file and not as a directory.
Signed-off-by: Matt Darfeuille <[email protected]>
---
Shorewall-core/lib.uninstaller | 33 +++++++++++++++++++++++++++---
Shorewall-core/uninstall.sh | 4 ++--
Shorewall-init/uninstall.sh | 10 ++++-----
Shorewall-lite/uninstall.sh | 20 +++++++++---------
Shorewall/uninstall.sh | 46 +++++++++++++++++++++---------------------
Shorewall6-lite/uninstall.sh | 20 +++++++++---------
Shorewall6/uninstall.sh | 24 +++++++++++-----------
7 files changed, 92 insertions(+), 65 deletions(-)
diff --git a/Shorewall-core/lib.uninstaller b/Shorewall-core/lib.uninstaller
index 160811e..531a409 100644
--- a/Shorewall-core/lib.uninstaller
+++ b/Shorewall-core/lib.uninstaller
@@ -61,9 +61,36 @@ mywhich() {
remove_file() # $1 = file to remove
{
- if [ -f $1 -o -L $1 ] ; then
- rm -f $1
- echo "$1 Removed"
+ if [ -n "$1" ] ; then
+ if [ -f $1 -o -L $1 ] ; then
+ rm -f $1
+ echo "$1 Removed"
+ fi
+ fi
+}
+
+remove_directory() # $1 = directory to remove
+{
+ if [ -n "$1" ] ; then
+ if [ -d $1 ] ; then
+ rm -rf $1
+ echo "$1 Removed"
+ fi
+ fi
+}
+
+remove_file_with_wildcard() # $1 = file with wildcard to remove
+{
+ if [ -n "$1" ] ; then
+ for f in $1; do
+ if [ -d $f ] ; then
+ rm -rf $f
+ echo "$f Removed"
+ elif [ -f $f -o -L $f ] ; then
+ rm -f $f
+ echo "$f Removed"
+ fi
+ done
fi
}
diff --git a/Shorewall-core/uninstall.sh b/Shorewall-core/uninstall.sh
index bef7ce1..1b124a5 100755
--- a/Shorewall-core/uninstall.sh
+++ b/Shorewall-core/uninstall.sh
@@ -127,8 +127,8 @@ fi
echo "Uninstalling $Product $VERSION"
-rm -rf ${SHAREDIR}/shorewall
-rm -f ~/.shorewallrc
+remove_directory ${SHAREDIR}/shorewall
+remove_file ~/.shorewallrc
#
# Report Success
diff --git a/Shorewall-init/uninstall.sh b/Shorewall-init/uninstall.sh
index 6539fa0..00dacf9 100755
--- a/Shorewall-init/uninstall.sh
+++ b/Shorewall-init/uninstall.sh
@@ -137,7 +137,7 @@ echo "Uninstalling $Product $VERSION"
[ -n "${LIBEXEC:=${SHAREDIR}}" ]
-rm -f ${SBINDIR}/$PRODUCT
+remove_file ${SBINDIR}/$PRODUCT
FIREWALL=${CONFDIR}/init.d/$PRODUCT
@@ -163,7 +163,7 @@ fi
if [ -n "$SERVICEDIR" ]; then
[ $configure -eq 1 ] && systemctl disable ${PRODUCT}.service
- rm -f $SERVICEDIR/${PRODUCT}.service
+ remove_file $SERVICEDIR/${PRODUCT}.service
fi
if [ $HOST = openwrt ]; then
@@ -200,9 +200,9 @@ if [ -d ${CONFDIR}/ppp ]; then
done
fi
-rm -rf ${SHAREDIR}/$PRODUCT
-rm -rf ${LIBEXECDIR}/$PRODUCT
-rm -f ${CONFDIR}/logrotate.d/$PRODUCT
+remove_directory ${SHAREDIR}/$PRODUCT
+remove_directory ${LIBEXECDIR}/$PRODUCT
+remove_file ${CONFDIR}/logrotate.d/$PRODUCT
#
# Report Success
diff --git a/Shorewall-lite/uninstall.sh b/Shorewall-lite/uninstall.sh
index 6504512..c60a89b 100755
--- a/Shorewall-lite/uninstall.sh
+++ b/Shorewall-lite/uninstall.sh
@@ -141,7 +141,7 @@ if [ $configure -eq 1 ]; then
fi
fi
-rm -f ${SBINDIR}/$PRODUCT
+remove_file ${SBINDIR}/$PRODUCT
if [ -L ${SHAREDIR}/$PRODUCT/init ]; then
if [ $HOST = openwrt ]; then
@@ -175,22 +175,22 @@ fi
if [ -n "$SERVICEDIR" ]; then
[ $configure -eq 1 ] && systemctl disable ${PRODUCT}.service
- rm -f $SERVICEDIR/${PRODUCT}.service
+ remove_file $SERVICEDIR/${PRODUCT}.service
fi
-rm -rf ${CONFDIR}/$PRODUCT
-rm -rf ${VARDIR}
-rm -rf ${SHAREDIR}/$PRODUCT
-rm -rf ${LIBEXECDIR}/$PRODUCT
-rm -f ${CONFDIR}/logrotate.d/$PRODUCT
+remove_directory ${CONFDIR}/$PRODUCT
+remove_directory ${VARDIR}
+remove_directory ${SHAREDIR}/$PRODUCT
+remove_directory ${LIBEXECDIR}/$PRODUCT
+remove_file ${CONFDIR}/logrotate.d/$PRODUCT
if [ -n "$SYSCONFDIR" ]; then
- [ -n "$SYSCONFFILE" ] && rm -f ${SYSCONFDIR}/${PRODUCT}
+ [ -n "$SYSCONFFILE" ] && remove_file ${SYSCONFDIR}/${PRODUCT}
fi
if [ -n "${MANDIR}" ]; then
- rm -f ${MANDIR}/man5/${PRODUCT}*
- rm -f ${MANDIR}/man8/${PRODUCT}*
+ remove_file_with_wildcard ${MANDIR}/man5/${PRODUCT}\*
+ remove_file_with_wildcard ${MANDIR}/man8/${PRODUCT}\*
fi
#
diff --git a/Shorewall/uninstall.sh b/Shorewall/uninstall.sh
index 44e7dff..ccde70e 100755
--- a/Shorewall/uninstall.sh
+++ b/Shorewall/uninstall.sh
@@ -141,7 +141,7 @@ if [ $configure -eq 1 ]; then
fi
fi
-rm -f ${SBINDIR}/$PRODUCT
+remove_file ${SBINDIR}/$PRODUCT
if [ -L ${SHAREDIR}/$PRODUCT/init ]; then
FIREWALL=$(readlink -m -q ${SHAREDIR}/$PRODUCT/init)
@@ -167,45 +167,45 @@ fi
if [ -n "$SERVICEDIR" ]; then
[ $configure -eq 1 ] && systemctl disable ${PRODUCT}.service
- rm -f $SERVICEDIR/${PRODUCT}.service
+ remove_file $SERVICEDIR/${PRODUCT}.service
fi
-rm -rf ${SHAREDIR}/$PRODUCT/version
-rm -rf ${CONFDIR}/$PRODUCT
+remove_file ${SHAREDIR}/$PRODUCT/version
+remove_directory ${CONFDIR}/$PRODUCT
if [ -n "$SYSCONFDIR" ]; then
- [ -n "$SYSCONFFILE" ] && rm -f ${SYSCONFDIR}/${PRODUCT}
+ [ -n "$SYSCONFFILE" ] && remove_file ${SYSCONFDIR}/${PRODUCT}
fi
-rm -rf ${VARDIR}
-rm -rf ${PERLLIBDIR}/$Product/*
-[ ${LIBEXECDIR} = ${SHAREDIR} ] || rm -rf ${LIBEXECDIR}/$PRODUCT
-rm -rf ${SHAREDIR}/$PRODUCT/configfiles
-rm -rf ${SHAREDIR}/$PRODUCT/Samples
-rm -rf ${SHAREDIR}/$PRODUCT/$Product
-rm -f ${SHAREDIR}/$PRODUCT/lib.cli-std
-rm -f ${SHAREDIR}/$PRODUCT/lib.runtime
-rm -f ${SHAREDIR}/$PRODUCT/compiler.pl
-rm -f ${SHAREDIR}/$PRODUCT/prog.*
-rm -f ${SHAREDIR}/$PRODUCT/module*
-rm -f ${SHAREDIR}/$PRODUCT/helpers
-rm -f ${SHAREDIR}/$PRODUCT/action*
-rm -f ${SHAREDIR}/$PRODUCT/macro.*
-rm -f ${SHAREDIR}/$PRODUCT/init
+remove_directory ${VARDIR}
+remove_file_with_wildcard ${PERLLIBDIR}/$Product/\*
+[ ${LIBEXECDIR} = ${SHAREDIR} ] || remove_directory ${LIBEXECDIR}/$PRODUCT
+remove_directory ${SHAREDIR}/$PRODUCT/configfiles
+remove_directory ${SHAREDIR}/$PRODUCT/Samples
+remove_directory ${SHAREDIR}/$PRODUCT/$Product
+remove_file ${SHAREDIR}/$PRODUCT/lib.cli-std
+remove_file ${SHAREDIR}/$PRODUCT/lib.runtime
+remove_file ${SHAREDIR}/$PRODUCT/compiler.pl
+remove_file_with_wildcard ${SHAREDIR}/$PRODUCT/prog.\*
+remove_file_with_wildcard ${SHAREDIR}/$PRODUCT/module\*
+remove_file ${SHAREDIR}/$PRODUCT/helpers
+remove_file_with_wildcard ${SHAREDIR}/$PRODUCT/action\*
+remove_file_with_wildcard ${SHAREDIR}/$PRODUCT/macro.\*
+remove_file ${SHAREDIR}/$PRODUCT/init
for f in ${MANDIR}/man5/${PRODUCT}* ${MANDIR}/man8/${PRODUCT}*; do
case $f in
shorewall6*|shorewall-lite*)
;;
*)
- rm -f $f
+ remove_file $f
;;
esac
done
-rm -f ${CONFDIR}/logrotate.d/$PRODUCT
+remove_file ${CONFDIR}/logrotate.d/$PRODUCT
-[ -n "$SYSTEMD" ] && rm -f ${SYSTEMD}/${PRODUCT}.service
+[ -n "$SYSTEMD" ] && remove_file ${SYSTEMD}/${PRODUCT}.service
#
# Report Success
diff --git a/Shorewall6-lite/uninstall.sh b/Shorewall6-lite/uninstall.sh
index a5bfa8e..a0a8a55 100755
--- a/Shorewall6-lite/uninstall.sh
+++ b/Shorewall6-lite/uninstall.sh
@@ -141,7 +141,7 @@ if [ $configure -eq 1 ]; then
fi
fi
-rm -f ${SBINDIR}/$PRODUCT
+remove_file ${SBINDIR}/$PRODUCT
if [ -L ${SHAREDIR}/$PRODUCT/init ]; then
if [ $HOST = openwrt ]; then
@@ -175,22 +175,22 @@ fi
if [ -n "$SERVICEDIR" ]; then
[ $configure -eq 1 ] && systemctl disable ${PRODUCT}.service
- rm -f $SERVICEDIR/${PRODUCT}.service
+ remove_file $SERVICEDIR/${PRODUCT}.service
fi
-rm -rf ${CONFDIR}/$PRODUCT
-rm -rf ${VARDIR}
-rm -rf ${SHAREDIR}/$PRODUCT
-rm -rf ${LIBEXECDIR}/$PRODUCT
-rm -f ${CONFDIR}/logrotate.d/$PRODUCT
+remove_directory ${CONFDIR}/$PRODUCT
+remove_directory ${VARDIR}
+remove_directory ${SHAREDIR}/$PRODUCT
+remove_directory ${LIBEXECDIR}/$PRODUCT
+remove_file ${CONFDIR}/logrotate.d/$PRODUCT
if [ -n "$SYSCONFDIR" ]; then
- [ -n "$SYSCONFFILE" ] && rm -f ${SYSCONFDIR}/${PRODUCT}
+ [ -n "$SYSCONFFILE" ] && remove_file ${SYSCONFDIR}/${PRODUCT}
fi
if [ -n "${MANDIR}" ]; then
- rm -f ${MANDIR}/man5/${PRODUCT}*
- rm -f ${MANDIR}/man8/${PRODUCT}*
+ remove_file_with_wildcard ${MANDIR}/man5/${PRODUCT}\*
+ remove_file_with_wildcard ${MANDIR}/man8/${PRODUCT}\*
fi
#
diff --git a/Shorewall6/uninstall.sh b/Shorewall6/uninstall.sh
index cd900d4..7e9783b 100755
--- a/Shorewall6/uninstall.sh
+++ b/Shorewall6/uninstall.sh
@@ -141,7 +141,7 @@ if [ $configure -eq 1 ]; then
fi
fi
-rm -f ${SBINDIR}/$PRODUCT
+remove_file ${SBINDIR}/$PRODUCT
if [ -L ${SHAREDIR}/$PRODUCT/init ]; then
FIREWALL=$(readlink -m -q ${SHAREDIR}/$PRODUCT/init)
@@ -167,34 +167,34 @@ fi
if [ -n "$SERVICEDIR" ]; then
[ $configure -eq 1 ] && systemctl disable ${PRODUCT}.service
- rm -f $SERVICEDIR/${PRODUCT}.service
+ remove_file $SERVICEDIR/${PRODUCT}.service
fi
-rm -rf ${SHAREDIR}/$PRODUCT/version
-rm -rf ${CONFDIR}/$PRODUCT
+remove_file ${SHAREDIR}/$PRODUCT/version
+remove_directory ${CONFDIR}/$PRODUCT
if [ -n "$SYSCONFDIR" ]; then
- [ -n "$SYSCONFFILE" ] && rm -f ${SYSCONFDIR}/${PRODUCT}
+ [ -n "$SYSCONFFILE" ] && remove_file ${SYSCONFDIR}/${PRODUCT}
fi
-rm -rf ${CONFDIR}/$PRODUCT
-rm -rf ${VARDIR}
-rm -rf ${LIBEXECDIR}/$PRODUCT
-rm -rf ${SHAREDIR}/$PRODUCT
+remove_directory ${CONFDIR}/$PRODUCT
+remove_directory ${VARDIR}
+remove_directory ${LIBEXECDIR}/$PRODUCT
+remove_directory ${SHAREDIR}/$PRODUCT
for f in ${MANDIR}/man5/${PRODUCT}* ${MANDIR}/man8/${PRODUCT}*; do
case $f in
shorewall6-lite*)
;;
*)
- rm -f $f
+ remove_file $f
;;
esac
done
-rm -f ${CONFDIR}/logrotate.d/$PRODUCT
+remove_file ${CONFDIR}/logrotate.d/$PRODUCT
-[ -n "$SYSTEMD" ] && rm -f ${SYSTEMD}/${PRODUCT}.service
+[ -n "$SYSTEMD" ] && remove_file ${SYSTEMD}/${PRODUCT}.service
#
# Report Success
--
2.8.3
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Shorewall-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/shorewall-devel