forked from extern/shorewall_code
fec967a41d
Use only the exit status of the function mywhich to determine which command should be used to remove sysvinit script. Signed-off-by: Matt Darfeuille <matdarf@gmail.com> Signed-off-by: Tom Eastep <teastep@shorewall.net>
107 lines
2.3 KiB
Plaintext
107 lines
2.3 KiB
Plaintext
#
|
|
#
|
|
# Shorewall 5.0 -- /usr/share/shorewall/lib.installer.
|
|
#
|
|
# (c) 2017 - Tom Eastep (teastep@shorewall.net)
|
|
# (c) 2017 - Matt Darfeuille (matdarf@gmail.com)
|
|
#
|
|
# Complete documentation is available at http://shorewall.net
|
|
#
|
|
# This program is part of Shorewall.
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by the
|
|
# Free Software Foundation, either version 2 of the license or, at your
|
|
# option, any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
|
#
|
|
# The purpose of this library is to hold those functions used by the products uninstaller.
|
|
#
|
|
#########################################################################################
|
|
|
|
fatal_error()
|
|
{
|
|
echo " ERROR: $@" >&2
|
|
exit 1
|
|
}
|
|
|
|
split() {
|
|
local ifs
|
|
ifs=$IFS
|
|
IFS=:
|
|
set -- $1
|
|
echo $*
|
|
IFS=$ifs
|
|
}
|
|
|
|
qt()
|
|
{
|
|
"$@" >/dev/null 2>&1
|
|
}
|
|
|
|
mywhich() {
|
|
local dir
|
|
|
|
for dir in $(split $PATH); do
|
|
if [ -x $dir/$1 ]; then
|
|
return 0
|
|
fi
|
|
done
|
|
|
|
return 2
|
|
}
|
|
|
|
remove_file() # $1 = file to remove
|
|
{
|
|
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
|
|
}
|
|
|
|
restore_file() # $1 = file to restore
|
|
{
|
|
if [ -f ${1}-shorewall.bkout ]; then
|
|
if (mv -f ${1}-shorewall.bkout $1); then
|
|
echo
|
|
echo "$1 restored"
|
|
else
|
|
exit 1
|
|
fi
|
|
fi
|
|
}
|