Commit d37a73d7 authored by Vitaly Lipatov's avatar Vitaly Lipatov

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

parents 0fd3c487 41142488
2. Дописать таблицу на вики на основании реализованных команд. 2. Дописать таблицу на вики на основании реализованных команд.
3. Доделать и проверить deplist|requires
...@@ -62,6 +62,7 @@ set_pm_type ...@@ -62,6 +62,7 @@ set_pm_type
verbose= verbose=
quiet= quiet=
nodeps= nodeps=
force=
non_interactive= non_interactive=
skip_installed= skip_installed=
show_command_only= show_command_only=
...@@ -114,6 +115,9 @@ check_command() ...@@ -114,6 +115,9 @@ check_command()
-qi|info|show) # HELPCMD: print package detail info -qi|info|show) # HELPCMD: print package detail info
epm_cmd=info epm_cmd=info
;; ;;
requires|deplist) # HELPCMD: print package requires
epm_cmd=requires
;;
clean) # HELPCMD: clean local package cache clean) # HELPCMD: clean local package cache
epm_cmd=clean epm_cmd=clean
;; ;;
...@@ -156,7 +160,7 @@ check_command() ...@@ -156,7 +160,7 @@ check_command()
addrepo|ar) # HELPCMD: add package repo addrepo|ar) # HELPCMD: add package repo
epm_cmd=addrepo epm_cmd=addrepo
;; ;;
repolist|sl) # HELPCMD: print repo list repolist|sl|listrepo) # HELPCMD: print repo list
epm_cmd=repolist epm_cmd=repolist
;; ;;
removerepo|rr) # HELPCMD: remove package repo removerepo|rr) # HELPCMD: remove package repo
...@@ -192,6 +196,9 @@ for opt in "$@" ; do ...@@ -192,6 +196,9 @@ for opt in "$@" ; do
--nodeps) # HELPOPT: skip dependency check (during install/simulate and so on) --nodeps) # HELPOPT: skip dependency check (during install/simulate and so on)
nodeps="--nodeps" nodeps="--nodeps"
;; ;;
--force) # HELPOPT: force install/remove package (f.i., override)
force="--force"
;;
--auto) # HELPOPT: non interactive mode --auto) # HELPOPT: non interactive mode
non_interactive=1 non_interactive=1
;; ;;
......
...@@ -21,7 +21,10 @@ ...@@ -21,7 +21,10 @@
epm_addrepo() epm_addrepo()
{ {
case $PMTYPE in case $PMTYPE in
apt-rpm|apt-dpkg) apt-rpm)
docmd $SUDO apt-repo add $pkg_filenames
;;
apt-dpkg)
echo "You need manually add repo to /etc/apt/sources.list" echo "You need manually add repo to /etc/apt/sources.list"
;; ;;
yum-rpm) yum-rpm)
......
...@@ -33,7 +33,7 @@ case $PMTYPE in ...@@ -33,7 +33,7 @@ case $PMTYPE in
;; ;;
yum-rpm) yum-rpm)
docmd package-cleanup --leaves docmd package-cleanup --leaves
package-cleanup --leaves | xargs yum remove a= package-cleanup --leaves | xargs yum remove
;; ;;
urpm-rpm) urpm-rpm)
docmd $SUDO urpme --auto-orphans docmd $SUDO urpme --auto-orphans
......
...@@ -18,6 +18,8 @@ ...@@ -18,6 +18,8 @@
# 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_filelist() epm_filelist()
{ {
[ -n "$pkg_filenames" ] || fatal "Run query without names" [ -n "$pkg_filenames" ] || fatal "Run query without names"
...@@ -46,6 +48,8 @@ case $PMTYPE in ...@@ -46,6 +48,8 @@ case $PMTYPE in
;; ;;
esac esac
docmd $CMD $pkg_filenames docmd $CMD $pkg_filenames && return
epm_query >/dev/null || fatal "Query filelist for non installed packages does not realized"
} }
...@@ -40,7 +40,7 @@ filter_out_installed_packages() ...@@ -40,7 +40,7 @@ filter_out_installed_packages()
*) *)
cat cat
;; ;;
esac | sed -e "s|rpm-build-altlinux-compat||g" | filter_strip_spaces esac | sed -e "s|rpm-build-altlinux-compat[^ ]||g" | filter_strip_spaces
} }
...@@ -127,7 +127,7 @@ epm_install_files() ...@@ -127,7 +127,7 @@ epm_install_files()
case $PMTYPE in case $PMTYPE in
apt-rpm|urpm-rpm) apt-rpm|urpm-rpm)
docmd $SUDO rpm -Uvh --force $nodeps $@ && return docmd $SUDO rpm -Uvh $force $nodeps $@ && return
# use install_names # use install_names
;; ;;
apt-dpkg) apt-dpkg)
...@@ -135,8 +135,8 @@ epm_install_files() ...@@ -135,8 +135,8 @@ epm_install_files()
docmd $SUDO apt-get -f install docmd $SUDO apt-get -f install
return ;; return ;;
yum-rpm) yum-rpm)
docmd $SUDO rpm -Uvh --force $@ && return docmd $SUDO rpm -Uvh $force $@ && return
docmd $SUDO yum --nogpgcheck local install $@ docmd $SUDO yum --nogpgcheck install $@
return ;; return ;;
pkg_add) pkg_add)
docmd $SUDO pkg_add $@ docmd $SUDO pkg_add $@
......
...@@ -21,20 +21,23 @@ ...@@ -21,20 +21,23 @@
epm_removerepo() epm_removerepo()
{ {
case $PMTYPE in case $PMTYPE in
apt-rpm|apt-dpkg) apt-rpm)
docmd $SUDO apt-repo rm $pkg_filenames
;;
apt-dpkg)
echo "You need remove repo from /etc/apt/sources.list" echo "You need remove repo from /etc/apt/sources.list"
;; ;;
yum-rpm) yum-rpm)
echo "You need remove repo from /etc/yum.repos.d/" echo "You need remove repo from /etc/yum.repos.d/"
;; ;;
urpm-rpm) urpm-rpm)
docmd $SUDO urpmi.removemedia $pkg_names docmd $SUDO urpmi.removemedia $pkg_filenames
;; ;;
zypper-rpm) zypper-rpm)
docmd $SUDO zypper removerepo $pkg_names docmd $SUDO zypper removerepo $pkg_filenames
;; ;;
emerge) emerge)
docmd $SUDO layman -d$pkg_names docmd $SUDO layman -d$pkg_filenames
;; ;;
pacman) pacman)
echo "You need remove repo from /etc/pacman.conf" echo "You need remove repo from /etc/pacman.conf"
......
...@@ -31,14 +31,18 @@ print_apt_sources_list() ...@@ -31,14 +31,18 @@ print_apt_sources_list()
epm_repolist() epm_repolist()
{ {
case $PMTYPE in case $PMTYPE in
apt-rpm|apt-dpkg) apt-rpm)
docmd print_apt_sources_list /etc/apt/sources.list /etc/apt/sources.list.d/* docmd apt-repo list
;;
apt-dpkg)
showcmd cat /etc/apt/sources.list*
print_apt_sources_list /etc/apt/sources.list /etc/apt/sources.list.d/*.list
;; ;;
yum-rpm) yum-rpm)
docmd yum repolist docmd yum repolist
;; ;;
urpm-rpm) urpm-rpm)
docmd urpmq --list-media docmd urpmq --list-url
;; ;;
zypper-rpm) zypper-rpm)
docmd zypper sl -d docmd zypper sl -d
......
#!/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
# TODO: combine with -qa (the difference only in return status now)
epm_requires()
{
[ -n "$pkg_filenames" ] || fatal "Run query without names"
# by file package
case $PMTYPE in
apt-rpm|urpm-rpm|zypper-rpm|yum-rpm)
CMD="rpm -q --requires -p"
;;
apt-dpkg)
showcmd dpkg -s $pkg_files
a= dpkg -s $pkg_names | grep "^Depends:" | sed "s|^Depends:||g"
return
;;
*)
fatal "Do not known command for $PMTYPE"
;;
esac
[ -n "$pkg_files" ] && docmd $CMD $pkg_files
# by file name
case $PMTYPE in
apt-rpm|urpm-rpm|zypper-rpm)
# FIXME: use hi level commands
CMD="rpm -q --requires"
;;
yum-rpm)
CMD="yum deplist"
;;
apt-dpkg)
CMD="apt-cache depends"
;;
*)
fatal "Do not known command for $PMTYPE"
;;
esac
[ -n "$pkg_names" ] && docmd $CMD $pkg_names
}
...@@ -18,6 +18,7 @@ ...@@ -18,6 +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.
# #
# TODO: port or rewrite apt-file
# https://bugzilla.altlinux.org/show_bug.cgi?id=14449 # https://bugzilla.altlinux.org/show_bug.cgi?id=14449
local_content_search() local_content_search()
{ {
......
...@@ -20,8 +20,6 @@ ...@@ -20,8 +20,6 @@
epm_upgrade() epm_upgrade()
{ {
[ -n "$pkg_filenames" ] && fatal "No need any args for upgrade command"
echo "Run command for upgrade packages" echo "Run command for upgrade packages"
case $PMTYPE in case $PMTYPE in
apt-rpm|apt-dpkg) apt-rpm|apt-dpkg)
...@@ -55,5 +53,5 @@ epm_upgrade() ...@@ -55,5 +53,5 @@ epm_upgrade()
;; ;;
esac esac
docmd $SUDO $CMD docmd $SUDO $CMD $pkg_filenames
} }
# 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.7 Version: 1.0.1
Release: alt0.M60P.1 Release: alt0.M60P.1
Summary: Etersoft EPM package manager Summary: Etersoft EPM package manager
...@@ -22,6 +22,10 @@ Conflicts: epm ...@@ -22,6 +22,10 @@ Conflicts: epm
Provides: upm Provides: upm
%if %_vendor == "alt"
Requires: apt rpm apt-repo
%endif
%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
...@@ -47,9 +51,22 @@ with various distros. ...@@ -47,9 +51,22 @@ with various distros.
%_bindir/distr_info %_bindir/distr_info
%changelog %changelog
* Tue Aug 07 2012 Vitaly Lipatov <lav@altlinux.ru> 0.9.7-alt0.M60P.1 * Tue Sep 18 2012 Vitaly Lipatov <lav@altlinux.ru> 1.0.1-alt0.M60P.1
- backport to ALTLinux p6 (by rpmbph script) - backport to ALTLinux p6 (by rpmbph script)
* Tue Sep 18 2012 Vitaly Lipatov <lav@altlinux.ru> 1.0.1-alt1
- epm: add --force support for install
- drop extra dependencies
- introduce epm requires|deplist
- install: yum local install is obsoleted, use just yum install
* Fri Aug 17 2012 Vitaly Lipatov <lav@altlinux.ru> 1.0.0-alt1
- release 1.0
- upgrade: add support for additional options
- filelist: add error for non installed packages
- use apt-repo on ALT Linux for repo manipulation
- repolist: print url on mandriva
* Tue Aug 07 2012 Vitaly Lipatov <lav@altlinux.ru> 0.9.7-alt1 * Tue Aug 07 2012 Vitaly Lipatov <lav@altlinux.ru> 0.9.7-alt1
- epm: fix use epm_packages - epm: fix use epm_packages
- simulate: return 2 if have no work - simulate: return 2 if have no work
......
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