Commit 27792134 authored by Vitaly Lipatov's avatar Vitaly Lipatov

epm-install full rewrite

parent 4a961ebf
...@@ -19,74 +19,84 @@ ...@@ -19,74 +19,84 @@
# #
# copied from etersoft-build-utils/share/eterbuild/functions/rpmpkg # copied from etersoft-build-utils/share/eterbuild/functions/rpmpkg
get_install_package_command() epm_install_names()
{ {
local DISTRNAME=$1 [ -n "$1" ] || return
local INAC=$2 case $PMTYPE in
local CMD apt-rpm)
local RET=0 docmd $SUDO apt-get install $@
case $DISTRNAME in return ;;
"ALTLinux"|"Ubuntu"|"Debian"|"PCLinux") yum-rpm)
[ -n "$INAC" ] && CMD="apt-get install" || CMD="apt-get -y --force-yes install" docmd $SUDO yum install $@
;; return ;;
"LinuxXP"|"Fedora"|"ASPLinux"|"CentOS"|"RHEL"|"Scientific") urpm-rpm)
[ -n "$INAC" ] && CMD="yum install" || CMD="yum -y install" docmd $SUDO urpmi $@
;; return ;;
"Mandriva") zypper-rpm)
[ -n "$INAC" ] && CMD="urpmi --no-verify-rpm" || CMD="urpmi --auto --no-verify-rpm" docmd $SUDO zypper install
;; return ;;
"ROSA") *)
[ -n "$INAC" ] && CMD="urpmi --no-verify-rpm" || CMD="urpmi --auto --no-verify-rpm" fatal "Do not known install command for $PMTYPE"
;;
"SUSE|SLED|SLES")
[ -n "$INAC" ] && CMD="zypper --non-interactive install" || CMD="yes | zypper --non-interactive install"
;; ;;
esac
}
epm_ni_install_names()
{
[ -n "$1" ] || return
case $PMTYPE in
apt-rpm)
docmd $SUDO apt-get -y --force-yes install $@
return ;;
yum-rpm)
docmd $SUDO yum -y install $@
return ;;
urpm-rpm)
docmd $SUDO urpmi --auto --no-verify-rpm $@
return ;;
zypper-rpm)
yes | docmd $SUDO zypper --non-interactive install $@
return ;;
*) *)
RET=1 fatal "Do not known appropriate install command for $PMTYPE"
CMD="echo \"Do not known install command for DISTRNAME $DISTRNAME\""
;; ;;
esac esac
echo $CMD
return $RET
} }
# for low level install
#is_alt && FANCYPERCENT=--fancypercent #is_alt && FANCYPERCENT=--fancypercent
#docmd $SUDO rpm -Uvh $FANCYPERCENT "$@" #docmd $SUDO rpm -Uvh $FANCYPERCENT "$@"
epm_install_files()
epm_install()
{ {
[ -n "$pkg_files$pkg_names" ] || fatal "Run install without packages" [ -n "$1" ] || return
if [ -n "$pkg_names" ] ; then
CMD=$(get_install_package_command $DISTRNAME interactive)
docmd $SUDO $CMD $pkg_names
fi
[ -n "$pkg_files" ] || return
case $DISTRNAME in case $DISTRNAME in
ALTLinux|PCLinux) ALTLinux|PCLinux)
docmd $SUDO apt-get install $pkg_files docmd $SUDO apt-get install $@
return ;; return ;;
Ubuntu|Debian|Mint) Ubuntu|Debian|Mint)
docmd $SUDO dpkg -i $pkg_files docmd $SUDO dpkg -i $@
docmd $SUDO apt-get -f install docmd $SUDO apt-get -f install
return ;; return ;;
esac esac
case $PMTYPE in # other systems can install file package via ordinary command
urpm-rpm) epm_install_names $@
docmd $SUDO urpmi --no-verify-rpm $pkg_files }
return ;;
yum-rpm)
docmd $SUDO yum install $pkg_files epm_install()
return ;; {
zypper-rpm) [ -n "$pkg_files$pkg_names" ] || fatal "Run install without packages"
docmd $SUDO zypper install $pkg_files
return ;; if [ -n "$non_interactive" ] ; then
*) epm_ni_install_names $pkg_names
fatal "DO not know appropriate install command for $PMTYPE" else
esac epm_install_names $pkg_names
fi
epm_install_files $pkg_files
} }
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