Commit d1155241 authored by Vitaly Lipatov's avatar Vitaly Lipatov

remove: try remove via low level command first

parent 48913b2a
...@@ -18,15 +18,13 @@ ...@@ -18,15 +18,13 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
# #
# copied from korinf/tools/run-script/scripts/search # Try remove with low level removing
# TODO
epm_remove_low() epm_remove_low()
{ {
[ -z "$1" ] && return [ -z "$1" ] && return
case $PMTYPE in case $PMTYPE in
apt-rpm|yum-rpm|zypper-rpm|urpm-rpm) apt-rpm|yum-rpm|zypper-rpm|urpm-rpm)
docmd $SUDO rpm -e $@ docmd $SUDO rpm -ev $@
return ;; return ;;
apt-dpkg) apt-dpkg)
docmd $SUDO dpkg -P $@ docmd $SUDO dpkg -P $@
...@@ -37,27 +35,30 @@ epm_remove_low() ...@@ -37,27 +35,30 @@ epm_remove_low()
emerge) emerge)
docmd $SUDO emerge -unmerge $@ docmd $SUDO emerge -unmerge $@
return ;; return ;;
pacman)
docmd $SUDO pacman -R $@
return ;;
mpkg)
docmd $SUDO mpkg remove $@
return ;;
pkgtool) pkgtool)
docmd $SUDO removepkg $@ docmd $SUDO removepkg $@
return ;; return ;;
*) *)
RET=1 fatal "Do not known command for $PMTYPE"
fatal "Do not known command for $PMTYPE" ;;
;; esac
esac return 1
} }
epm_remove() epm_remove()
{ {
[ -n "$pkg_file$pkg_names" ] || fatal "Run remove without names" [ -n "$pkg_filenames" ] || fatal "Run remove without args"
epm_remove_names $pkg_names || return epm_remove_low $pkg_filenames && return
if [ -n "$non_interactive" ] ; then
epm_remove_nonint $pkg_filenames
local RET=$?
# if not separate command, use usual command
[ "$RET" = "5" ] || return $RET
fi
epm_remove_names $pkg_filenames
} }
epm_remove_names() epm_remove_names()
...@@ -78,7 +79,7 @@ epm_remove_names() ...@@ -78,7 +79,7 @@ epm_remove_names()
docmd $SUDO emerge --unmerge $@ docmd $SUDO emerge --unmerge $@
return ;; return ;;
pacman) pacman)
docmd $SUDO pacman -R --noconfirm $@ docmd $SUDO pacman -R $@
return ;; return ;;
yum-rpm) yum-rpm)
docmd $SUDO yum remove $@ docmd $SUDO yum remove $@
...@@ -96,32 +97,31 @@ epm_remove_names() ...@@ -96,32 +97,31 @@ epm_remove_names()
fatal "Do not known command for $PMTYPE" fatal "Do not known command for $PMTYPE"
;; ;;
esac esac
#docmd $SUDO $CMD $pkg_names $pkg_files
} }
# TODO # TODO
epm_remove_nonint() epm_remove_nonint()
{ {
case $DISTRNAME in case $PMTYPE in
"ALTLinux"|"Ubuntu"|"Debian"|"PCLinux") apt-rpm|apt-dpkg)
CMD="apt-get -y --force-yes remove" docmd $SUDO apt-get -y --force-yes remove --purge $@
;; return ;;
"LinuxXP"|"Fedora"|"ASPLinux"|"CentOS"|"RHEL"|"Scientific") urpm-rpm)
CMD="yum -y remove" docmd $SUDO urpme --auto $@
;; return ;;
"Mandriva") pacman)
CMD="urpme --auto" docmd $SUDO pacman -R --noconfirm $@
;; return ;;
"SUSE") yum-rpm)
CMD="zypper --non-interactive remove" docmd $SUDO yum -y remove $@
;; return ;;
*) zypper-rpm)
RET=1 docmd $SUDO zypper --non-interactive remove $@
CMD="echo \"Do not known install command for DISTRNAME $DISTRNAME\"" return ;;
;; *)
esac fatal "Do not known command for $PMTYPE"
;;
esac
return 5
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment