Commit b9a92202 authored by Vitaly Lipatov's avatar Vitaly Lipatov

backported to M60P as 0.9.4-alt0.M60P.1 (with rpmbph script)

parents e96eae97 abcfb913
epm
\ No newline at end of file
...@@ -30,6 +30,7 @@ load_helper epm-sh-functions ...@@ -30,6 +30,7 @@ load_helper epm-sh-functions
set_sudo set_sudo
check_tty
############################# #############################
...@@ -81,7 +82,13 @@ case $progname in ...@@ -81,7 +82,13 @@ case $progname in
epmqf) epmqf)
epm_cmd=query_file epm_cmd=query_file
;; ;;
epm|upm) epmqa)
epm_cmd=packages
;;
epmqp)
epm_cmd=query_package
;;
epm|upm|eepm)
;; ;;
*) *)
fatal "Unknown command: $progname" fatal "Unknown command: $progname"
...@@ -112,6 +119,9 @@ check_command() ...@@ -112,6 +119,9 @@ check_command()
-qa|list|packages) # HELPCMD: list of installed package(s) -qa|list|packages) # HELPCMD: list of installed package(s)
epm_cmd=packages epm_cmd=packages
;; ;;
-qp|query_package) # HELPCMD: search in the list of installed packages
epm_cmd=query_package
;;
update) # HELPCMD: update remote package repository databases update) # HELPCMD: update remote package repository databases
epm_cmd=update epm_cmd=update
;; ;;
...@@ -176,7 +186,6 @@ for opt in "$@" ; do ...@@ -176,7 +186,6 @@ for opt in "$@" ; do
quiet=1 quiet=1
;; ;;
--nodeps) # HELPOPT: skip dependency check (during install/simulate and so on) --nodeps) # HELPOPT: skip dependency check (during install/simulate and so on)
fatal "--nodeps not realized yet"
nodeps="--nodeps" nodeps="--nodeps"
;; ;;
--auto) # HELPOPT: non interactive mode --auto) # HELPOPT: non interactive mode
......
...@@ -21,17 +21,26 @@ ...@@ -21,17 +21,26 @@
epm_addrepo() epm_addrepo()
{ {
case $PMTYPE in case $PMTYPE in
#apt-rpm|apt-dpkg) apt-rpm|apt-dpkg)
# docmd $SUDO apt-get check || exit echo "You need manually add repo to /etc/apt/sources.list"
# ;; ;;
#yum-rpm) yum-rpm)
# docmd $SUDO yum repolist || exit echo "You need manually add repo to /etc/yum.repos.d/"
# ;; ;;
urpm-rpm) urpm-rpm)
docmd $SUDO urpmi.addmedia --distrib $pkg_filenames docmd $SUDO urpmi.addmedia $pkg_filenames
;; ;;
zypper-rpm) zypper-rpm)
docmd $SUDO zypper ar $pkg_filenames || exit docmd $SUDO zypper ar $pkg_filenames
;;
emerge)
docmd $SUDO layman -a $pkg_filenames
;;
pacman)
echo "You need manually add repo to /etc/pacman.conf"
;;
slackpkg)
echo "You need manually add repo to /etc/slackpkg/mirrors"
;; ;;
*) *)
fatal "Do not known command for $PMTYPE" fatal "Do not known command for $PMTYPE"
......
...@@ -18,8 +18,6 @@ ...@@ -18,8 +18,6 @@
# 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/update
epm_check() epm_check()
{ {
case $PMTYPE in case $PMTYPE in
......
...@@ -18,8 +18,6 @@ ...@@ -18,8 +18,6 @@
# 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
epm_filelist() epm_filelist()
{ {
[ -n "$pkg_filenames" ] || fatal "Run query without names" [ -n "$pkg_filenames" ] || fatal "Run query without names"
......
...@@ -18,10 +18,22 @@ ...@@ -18,10 +18,22 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
# #
load_helper epm-query
epm_info() epm_info()
{ {
case $PMTYPE in case $PMTYPE in
apt-rpm|apt-dpkg) apt-rpm)
if [ -n "$pkg_files" ] ; then
docmd rpm -qip $pkg_files
fi
[ -z "$pkg_names" ] && return
pkg_filenames=$pkg_names epm_query >/dev/null && docmd rpm -qi $pkg_names && return
docmd apt-cache show $pkg_names
;;
apt-dpkg)
[ -z "$pkg_names" ] && return
pkg_filenames=$pkg_names epm_query >/dev/null && docmd dpkg -I $pkg_names && return
docmd apt-cache show $pkg_names docmd apt-cache show $pkg_names
;; ;;
yum-rpm) yum-rpm)
...@@ -33,6 +45,9 @@ case $PMTYPE in ...@@ -33,6 +45,9 @@ case $PMTYPE in
pacman) pacman)
docmd pacman -Si $pkg_names docmd pacman -Si $pkg_names
;; ;;
slackpkg)
docmd slackpkg info $pkg_names
;;
*) *)
fatal "Do not known command for $PMTYPE" fatal "Do not known command for $PMTYPE"
;; ;;
......
...@@ -73,8 +73,9 @@ epm_install_names() ...@@ -73,8 +73,9 @@ epm_install_names()
mpkg) mpkg)
docmd $SUDO mpkg install $@ docmd $SUDO mpkg install $@
return ;; return ;;
pkgtool) slackpkg)
docmd $SUDO installpkg $@ # TODO: use upgrade if package is already installed
docmd $SUDO slackpkg install $@
return ;; return ;;
*) *)
fatal "Do not known install command for $PMTYPE" fatal "Do not known install command for $PMTYPE"
...@@ -82,6 +83,7 @@ epm_install_names() ...@@ -82,6 +83,7 @@ epm_install_names()
esac esac
} }
# Non interactive install
epm_ni_install_names() epm_ni_install_names()
{ {
[ -z "$1" ] && return [ -z "$1" ] && return
...@@ -104,8 +106,9 @@ epm_ni_install_names() ...@@ -104,8 +106,9 @@ epm_ni_install_names()
pacman) pacman)
docmd $SUDO pacman -S --noconfirm $@ docmd $SUDO pacman -S --noconfirm $@
return ;; return ;;
pkgtool) slackpkg)
docmd $SUDO installpkg $@ # TODO: use upgrade if package is already installed
docmd $SUDO slackpkg -batch=on -default_answer=yes install $@
return ;; return ;;
*) *)
fatal "Do not known appropriate install command for $PMTYPE" fatal "Do not known appropriate install command for $PMTYPE"
...@@ -117,20 +120,11 @@ epm_install_files() ...@@ -117,20 +120,11 @@ epm_install_files()
{ {
[ -z "$1" ] && return [ -z "$1" ] && return
case $DISTRNAME in case $PMTYPE in
ALTLinux) apt-rpm)
docmd $SUDO rpm -Uvh --force $@ && return docmd $SUDO rpm -Uvh --force $nodeps $@ && return
docmd $SUDO apt-get install $@ docmd $SUDO apt-get install $@
return ;; return ;;
PCLinux)
docmd $SUDO rpm -Uvh --force $@
return ;;
FreeBSD)
docmd $SUDO pkg_add $@
return ;;
esac
case $PMTYPE in
apt-dpkg) apt-dpkg)
docmd $SUDO dpkg -i $@ docmd $SUDO dpkg -i $@
docmd $SUDO apt-get -f install docmd $SUDO apt-get -f install
...@@ -139,9 +133,18 @@ epm_install_files() ...@@ -139,9 +133,18 @@ epm_install_files()
docmd $SUDO rpm -Uvh --force $@ && return docmd $SUDO rpm -Uvh --force $@ && return
docmd $SUDO yum --nogpgcheck local install $@ docmd $SUDO yum --nogpgcheck local install $@
return ;; return ;;
pkg_add)
docmd $SUDO pkg_add $@
return ;;
pacman) pacman)
docmd $SUDO pacman -U $@ docmd $SUDO pacman -U $@
return ;; return ;;
slackpkg)
docmd $SUDO installpkg $@
return ;;
*)
fatal "Do not known appropriate install command for $PMTYPE"
;;
esac esac
# other systems can install file package via ordinary command # other systems can install file package via ordinary command
...@@ -153,8 +156,8 @@ epm_install() ...@@ -153,8 +156,8 @@ epm_install()
{ {
[ -n "$pkg_files$pkg_names" ] || fatal "Run install without packages" [ -n "$pkg_files$pkg_names" ] || fatal "Run install without packages"
local names=$(echo $pkg_names | filter_out_installed_packages) local names="$(echo $pkg_names | filter_out_installed_packages)"
local files=$(echo $pkg_files | filter_out_installed_packages) local files="$(echo $pkg_files | filter_out_installed_packages)"
[ -z "$files$names" ] && echo "Skip empty install list" && return 2 [ -z "$files$names" ] && echo "Skip empty install list" && return 2
......
...@@ -18,8 +18,6 @@ ...@@ -18,8 +18,6 @@
# 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
epm_packages() epm_packages()
{ {
...@@ -39,9 +37,18 @@ case $PMTYPE in ...@@ -39,9 +37,18 @@ case $PMTYPE in
zypper-rpm) zypper-rpm)
CMD="rpm -qa" CMD="rpm -qa"
;; ;;
emerge)
CMD="qlist -I"
;;
pkg_add)
CMD="pkg_info"
;;
pacman) pacman)
CMD="pacman -Qs" CMD="pacman -Qs"
;; ;;
slackpkg)
CMD="ls -1 /var/log/packages/"
;;
*) *)
fatal "Do not known query command for $PMTYPE" fatal "Do not known query command for $PMTYPE"
;; ;;
......
...@@ -18,8 +18,6 @@ ...@@ -18,8 +18,6 @@
# 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
epm_query() epm_query()
{ {
[ -n "$pkg_filenames" ] || fatal "Run query without names" [ -n "$pkg_filenames" ] || fatal "Run query without names"
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
# #
# etersoft-build-utils/bin/rpmqf # copied from etersoft-build-utils/bin/rpmqf
# use and modify TOFILE recursively # use and modify TOFILE recursively
real_file() real_file()
...@@ -45,7 +45,6 @@ real_file() ...@@ -45,7 +45,6 @@ real_file()
FULLFILEPATH=`readlink -f $TOFILE` FULLFILEPATH=`readlink -f $TOFILE`
} }
# copied from korinf/tools/run-script/scripts/search
__do_query() __do_query()
{ {
case $PMTYPE in case $PMTYPE in
...@@ -61,6 +60,9 @@ __do_query() ...@@ -61,6 +60,9 @@ __do_query()
zypper-rpm) zypper-rpm)
CMD="rpm -qf" CMD="rpm -qf"
;; ;;
emerge)
CMD="equery belongs"
;;
pacman) pacman)
CMD="pacman -Qo" CMD="pacman -Qo"
;; ;;
......
#!/bin/sh
#
# Copyright (C) 2012 Etersoft
# Copyright (C) 2012 Vitaly Lipatov <lav@etersoft.ru>
#
# This file 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, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
#
load_helper epm-packages
epm_query_package()
{
#showcmd grep --color "$pkg_filenames"
epm_packages | grep --color "$pkg_filenames"
}
...@@ -41,28 +41,30 @@ epm_reinstall_names() ...@@ -41,28 +41,30 @@ epm_reinstall_names()
pacman) pacman)
docmd $SUDO pacman -U $@ docmd $SUDO pacman -U $@
return ;; return ;;
slackpkg)
docmd $SUDO slackpkg reinstall $@
return ;;
*) *)
fatal "Do not known install command for $PMTYPE" fatal "Do not known install command for $PMTYPE"
;; ;;
esac esac
} }
# for low level install
#is_alt && FANCYPERCENT=--fancypercent
#docmd $SUDO rpm -Uvh $FANCYPERCENT "$@"
epm_reinstall_files() epm_reinstall_files()
{ {
[ -z "$1" ] && return [ -z "$1" ] && return
case $DISTRNAME in case $PMTYPE in
ALTLinux|PCLinux) apt-rpm)
docmd $SUDO rpm -Uvh --force $@ && return docmd $SUDO rpm -Uvh --force $@ && return
docmd $SUDO apt-get --reinstall install $@ docmd $SUDO apt-get --reinstall install $@
return ;; return ;;
Ubuntu|Debian|Mint) apt-pkg)
docmd $SUDO dpkg -i $@ docmd $SUDO dpkg -i $@
return ;; return ;;
slackpkg)
docmd $SUDO installpkg $@
return ;;
esac esac
# other systems can install file package via ordinary command # other systems can install file package via ordinary command
......
...@@ -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 $nodeps $@
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) slackpkg)
docmd $SUDO pacman -R $@
return ;;
mpkg)
docmd $SUDO mpkg remove $@
return ;;
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()
...@@ -75,10 +76,11 @@ epm_remove_names() ...@@ -75,10 +76,11 @@ epm_remove_names()
docmd $SUDO pkg_delete $@ docmd $SUDO pkg_delete $@
return ;; return ;;
emerge) emerge)
docmd $SUDO emerge --unmerge $@ #docmd $SUDO emerge --unmerge $@
docmd $SUDO emerge -aC $@
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 $@
...@@ -89,39 +91,41 @@ epm_remove_names() ...@@ -89,39 +91,41 @@ epm_remove_names()
mpkg) mpkg)
docmd $SUDO mpkg remove $@ docmd $SUDO mpkg remove $@
return ;; return ;;
pkgtool) slackpkg)
docmd $SUDO removepkg $@ docmd $SUDO slackpkg remove $@
return ;; return ;;
*) *)
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 ;;
;; slackpkg)
esac docmd $SUDO slackpkg -batch=on -default_answer=yes remove $@
return ;;
*)
fatal "Do not known command for $PMTYPE"
;;
esac
return 5
} }
...@@ -21,14 +21,26 @@ ...@@ -21,14 +21,26 @@
epm_removerepo() epm_removerepo()
{ {
case $PMTYPE in case $PMTYPE in
#apt-rpm|apt-dpkg) apt-rpm|apt-dpkg)
# docmd $SUDO apt-get check || exit echo "You need remove repo from /etc/apt/sources.list"
# ;; ;;
#yum-rpm) yum-rpm)
# docmd $SUDO yum repolist || exit echo "You need remove repo from /etc/yum.repos.d/"
# ;; ;;
urpm-rpm)
docmd $SUDO urpmi.removemedia $pkg_names
;;
zypper-rpm) zypper-rpm)
docmd $SUDO zypper removerepo $pkg_names || exit docmd $SUDO zypper removerepo $pkg_names
;;
emerge)
docmd $SUDO layman -d$pkg_names
;;
pacman)
echo "You need remove repo from /etc/pacman.conf"
;;
slackpkg)
echo "You need remove repo from /etc/slackpkg/mirrors"
;; ;;
*) *)
fatal "Do not known command for $PMTYPE" fatal "Do not known command for $PMTYPE"
......
...@@ -18,17 +18,39 @@ ...@@ -18,17 +18,39 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
# #
print_apt_sources_list()
{
for i in $@ ; do
test -r "$i" || continue
#echo
#echo "$i:"
grep -v "^#" $i
done | grep -v "^$"
}
epm_repolist() epm_repolist()
{ {
case $PMTYPE in case $PMTYPE in
#apt-rpm|apt-dpkg) apt-rpm|apt-dpkg)
# docmd $SUDO apt-get check || exit docmd print_apt_sources_list /etc/apt/sources.list /etc/apt/sources.list.d/*
# ;; ;;
yum-rpm) yum-rpm)
docmd $SUDO yum repolist docmd yum repolist
;;
urpm-rpm)
docmd urpmq --list-media
;; ;;
zypper-rpm) zypper-rpm)
docmd $USDO zypper sl -d docmd zypper sl -d
;;
emerge)
docmd layman -L
;;
pacman)
docmd cat /etc/pacman.conf
;;
slackpkg)
docmd cat /etc/slackpkg/mirrors
;; ;;
*) *)
fatal "Do not known command for $PMTYPE" fatal "Do not known command for $PMTYPE"
......
...@@ -28,18 +28,30 @@ case $PMTYPE in ...@@ -28,18 +28,30 @@ case $PMTYPE in
apt-rpm|apt-dpkg) apt-rpm|apt-dpkg)
CMD="apt-cache search" CMD="apt-cache search"
;; ;;
yum-rpm)
CMD="yum search"
;;
urpm-rpm) urpm-rpm)
CMD="urpmq -y" CMD="urpmq -y"
;; ;;
zypper-rpm) pkg_add)
CMD="zypper search" CMD="pkg_info -x"
;;
emerge)
CMD="emerge --search"
;; ;;
pacman) pacman)
CMD="pacman -Ss" CMD="pacman -Ss"
;; ;;
yum-rpm)
CMD="yum search"
;;
zypper-rpm)
CMD="zypper search"
;;
mpkg)
CMD="mpkg search"
;;
slackpkg)
CMD="slackpkg search"
;;
*) *)
fatal "Do not known search command for $PMTYPE" fatal "Do not known search command for $PMTYPE"
;; ;;
......
...@@ -28,15 +28,20 @@ case $PMTYPE in ...@@ -28,15 +28,20 @@ case $PMTYPE in
docmd apt-file search $pkg_filenames docmd apt-file search $pkg_filenames
return ;; return ;;
yum-rpm) yum-rpm)
fatal "TODO" CMD="yum provides"
CMD="yum search"
;; ;;
urpm-rpm) urpm-rpm)
CMD="urpmf" CMD="urpmf"
;; ;;
zupper-rpm) zypper-rpm)
CMD="zypper wp vi" CMD="zypper wp vi"
;; ;;
pacman)
CMD="pacman -Qo"
;;
slackpkg)
CMD="slackpkg file-search"
;;
*) *)
fatal "Do not known search file command for $PMTYPE" fatal "Do not known search file command for $PMTYPE"
;; ;;
......
...@@ -27,11 +27,17 @@ isatty() ...@@ -27,11 +27,17 @@ isatty()
test -t 1 test -t 1
} }
check_tty()
{
isatty || return
export USETTY=1
}
: ${BLACK:=0} ${RED:=1} ${GREEN:=2} ${YELLOW:=3} ${BLUE:=4} ${MAGENTA:=5} ${CYAN:=6} ${WHITE:=7} : ${BLACK:=0} ${RED:=1} ${GREEN:=2} ${YELLOW:=3} ${BLUE:=4} ${MAGENTA:=5} ${CYAN:=6} ${WHITE:=7}
set_boldcolor() set_boldcolor()
{ {
isatty || return [ -n "$USETTY" ] || return
{ {
echo bold echo bold
echo setaf $1 echo setaf $1
...@@ -40,7 +46,7 @@ set_boldcolor() ...@@ -40,7 +46,7 @@ set_boldcolor()
restore_color() restore_color()
{ {
isatty || return [ -n "$USETTY" ] || return
{ {
echo op; # set Original color Pair. echo op; # set Original color Pair.
echo sgr0; # turn off all special graphics mode (bold in our case). echo sgr0; # turn off all special graphics mode (bold in our case).
...@@ -77,7 +83,7 @@ showcmd() ...@@ -77,7 +83,7 @@ showcmd()
[ "$UID" = 0 ] && PROMTSIG="#" [ "$UID" = 0 ] && PROMTSIG="#"
echo " $PROMTSIG $@" echo " $PROMTSIG $@"
restore_color restore_color
fi fi >&2
} }
# Print command line and run command line # Print command line and run command line
...@@ -174,7 +180,7 @@ case $DISTRNAME in ...@@ -174,7 +180,7 @@ case $DISTRNAME in
CMD="yum-rpm" CMD="yum-rpm"
;; ;;
Slackware) Slackware)
CMD="pkgtool" CMD="slackpkg"
;; ;;
SUSE|SLED|SLES) SUSE|SLED|SLES)
CMD="zypper-rpm" CMD="zypper-rpm"
......
...@@ -25,7 +25,7 @@ epm_simulate() ...@@ -25,7 +25,7 @@ epm_simulate()
local CMD local CMD
[ -n "$pkg_filenames" ] || fatal "Run $epm_cmd without packages" [ -n "$pkg_filenames" ] || fatal "Run $epm_cmd without packages"
local filenames=$(echo $pkg_filenames | filter_out_installed_packages) local filenames="$(echo $pkg_filenames | filter_out_installed_packages)"
# FIXME: can't correct receive status 2 in mandriva? # FIXME: can't correct receive status 2 in mandriva?
[ -z "$filenames" ] && echo "Skip empty simulate list" && return 0 #&& return 2 [ -z "$filenames" ] && echo "Skip empty simulate list" && return 0 #&& return 2
...@@ -49,8 +49,9 @@ epm_simulate() ...@@ -49,8 +49,9 @@ epm_simulate()
showcmd $SUDO pacman -v -S $filenames showcmd $SUDO pacman -v -S $filenames
echo no | $SUDO pacman -v -S $filenames echo no | $SUDO pacman -v -S $filenames
return ;; return ;;
pkgtool) slackpkg)
return 0 ;; docmd slackpkg -batch=on -default_answer=yes download
;;
*) *)
fatal "Do not known simulate command for $PMTYPE" fatal "Do not known simulate command for $PMTYPE"
;; ;;
......
...@@ -23,15 +23,18 @@ ...@@ -23,15 +23,18 @@
epm_update() epm_update()
{ {
case $PMTYPE in case $PMTYPE in
"apt-rpm") apt-rpm)
docmd $SUDO apt-get update || exit docmd $SUDO apt-get update || exit
#docmd $SUDO apt-get -f install || exit #docmd $SUDO apt-get -f install || exit
;; ;;
"apt-dpkg") apt-dpkg)
docmd $SUDO apt-get update || exit docmd $SUDO apt-get update || exit
#docmd $SUDO apt-get -f install || exit #docmd $SUDO apt-get -f install || exit
#docmd $SUDO apt-get autoremove #docmd $SUDO apt-get autoremove
;; ;;
yum-rpm)
docmd $SUDO yum check-update
;;
urpm-rpm) urpm-rpm)
docmd $SUDO urpmi.update -a docmd $SUDO urpmi.update -a
;; ;;
...@@ -41,10 +44,14 @@ case $PMTYPE in ...@@ -41,10 +44,14 @@ case $PMTYPE in
zypper-rpm) zypper-rpm)
docmd $SUDO zypper refresh docmd $SUDO zypper refresh
;; ;;
emerge)
docmd $SUDO emerge --sync
;;
slackpkg)
docmd $SUDO slackpkg update
;;
*) *)
RET=1 fatal "Do not known update command for $PMTYPE"
echo \"Do not known install command for DISTRNAME $DISTRNAME\"
exit 1
;; ;;
esac esac
......
...@@ -39,7 +39,16 @@ epm_upgrade() ...@@ -39,7 +39,16 @@ epm_upgrade()
CMD="zypper dist-upgrade" CMD="zypper dist-upgrade"
;; ;;
pacman) pacman)
CMD="zypper -S -u" CMD="pacman -S -u"
;;
emerge)
CMD="emerge -NuDa world"
;;
pkg_add)
CMD="freebsd-update fetch install"
;;
slackpkg)
CMD="slackpkg upgrade-all"
;; ;;
*) *)
fatal "Do not known command for $PMTYPE" fatal "Do not known command for $PMTYPE"
......
epm
\ No newline at end of file
epm
\ No newline at end of file
# This spec is backported to ALTLinux p6 automatically by rpmbph script. Do not edit it. # This spec is backported to ALTLinux p6 automatically by rpmbph script. Do not edit it.
# #
Name: eepm Name: eepm
Version: 0.9.1 Version: 0.9.4
Release: alt0.M60P.1 Release: alt0.M60P.1
Summary: Etersoft EPM package manager Summary: Etersoft EPM package manager
...@@ -17,6 +17,11 @@ Source: ftp://updates.etersoft.ru/pub/Etersoft/Sisyphus/sources/tarball/%name-%v ...@@ -17,6 +17,11 @@ Source: ftp://updates.etersoft.ru/pub/Etersoft/Sisyphus/sources/tarball/%name-%v
BuildArchitectures: noarch BuildArchitectures: noarch
# Contains the same command epm
Conflicts: epm
Provides: upm
%description %description
Etersoft EPM is the package manager for any platform Etersoft EPM is the package manager for any platform
and any platform version. It provides and any platform version. It provides
...@@ -37,13 +42,32 @@ with various distros. ...@@ -37,13 +42,32 @@ with various distros.
%files %files
%doc README TODO %doc README TODO
%_bindir/epm* %_bindir/epm*
%_bindir/eepm
%_bindir/upm %_bindir/upm
%_bindir/distr_info %_bindir/distr_info
%changelog %changelog
* Tue Jul 31 2012 Vitaly Lipatov <lav@altlinux.ru> 0.9.1-alt0.M60P.1 * Fri Aug 03 2012 Vitaly Lipatov <lav@altlinux.ru> 0.9.4-alt0.M60P.1
- backport to ALTLinux p6 (by rpmbph script) - backport to ALTLinux p6 (by rpmbph script)
* Fri Aug 03 2012 Vitaly Lipatov <lav@altlinux.ru> 0.9.4-alt1
- add query package (-qp) support
- print command example in stderr
- add eepm link
- epm-info: try print info for installed package
- fix slackpkg install/reinstall/remove/simulate
* Thu Aug 02 2012 Vitaly Lipatov <lav@altlinux.ru> 0.9.3-alt1
- use slackpkg instead pkgtool for Slackware package manager name
- add missed command for Gentoo, Slackware, FreeBSD improve repo management commands
- fix using local with dash
- add --nodeps support for rpm in install/remove
* Wed Aug 01 2012 Vitaly Lipatov <lav@altlinux.ru> 0.9.2-alt1
- remove: try remove via low level command first
- install: drop DISTRNAME using
- add Slackware and add more distr in search
* Sat Jul 28 2012 Vitaly Lipatov <lav@altlinux.ru> 0.9.1-alt1 * Sat Jul 28 2012 Vitaly Lipatov <lav@altlinux.ru> 0.9.1-alt1
- epm-simulate: add support for --skip-installed - epm-simulate: add support for --skip-installed
- add more distr in epm -i, epm -e and add some bugs in epm -e - add more distr in epm -i, epm -e and add some bugs in epm -e
......
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