#!/bin/sh # # Copyright (C) 2012,2014 Etersoft # Copyright (C) 2012,2014 Vitaly Lipatov <lav@etersoft.ru> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 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 Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # load_helper epm-query __epm_info_rpm_low() { if [ -n "$pkg_files" ] ; then docmd rpm -qip $pkg_files fi [ -z "$pkg_names" ] && return is_installed $pkg_names && docmd rpm -qi $pkg_names && return } # TODO: separate to _files and _names parts # realize _files part per package, not by PMTYPE (see filelist) epm_info() { [ -n "$pkg_filenames" ] || fatal "Info: missing package(s) name" case $PMTYPE in apt-rpm) __epm_info_rpm_low && return docmd apt-cache show $pkg_names ;; apt-dpkg) if [ -n "$pkg_files" ] ; then docmd dpkg -I $pkg_files fi [ -z "$pkg_names" ] && return is_installed $pkg_names && docmd dpkg -p $pkg_names && return docmd apt-cache show $pkg_names ;; aptitude-dpkg) if [ -n "$pkg_files" ] ; then docmd dpkg -I $pkg_files fi [ -z "$pkg_names" ] && return docmd aptitude show $pkg_names ;; yum-rpm) __epm_info_rpm_low && return docmd yum info $pkg_names ;; dnf-rpm) __epm_info_rpm_low && return docmd dnf info $pkg_names ;; zypper-rpm) __epm_info_rpm_low && return docmd zypper info $pkg_names ;; pacman) is_installed $pkg_names && docmd pacman -Qi $pkg_names && return docmd pacman -Si $pkg_names ;; aura) is_installed $pkg_names && docmd pacman -Qi $pkg_names && return docmd aura -Ai $pkg_names ;; npackd) # FIXME: --version= docmd npackdcl info --package=$pkg_names ;; conary) is_installed $pkg_names && docmd conary query $pkg_names --info && return docmd conary repquery $pkg_names --info ;; emerge) assure_exists equery docmd equery meta $pkg_names docmd equery which $pkg_names docmd equery uses $pkg_names docmd equery size $pkg_names ;; slackpkg) docmd /usr/sbin/slackpkg info $pkg_names ;; ipkg) docmd ipkg info $pkg_names ;; pkgng) docmd pkg info $pkg_names ;; homebrew) docmd brew info $pkg_names ;; aptcyg) docmd apt-cyg show $pkg_names ;; *) fatal "Have no suitable command for $PMTYPE" ;; esac }