#!/bin/sh # # Copyright (C) 2012 Etersoft # Copyright (C) 2012 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/>. # epm_requires() { local CMD [ -n "$pkg_filenames" ] || fatal "Run query without names" # TODO: Здесь выбирать команду по расширению, а не по системному менеджеру # В других таких случаях тоже # В списке пакетов на установку проверять, что пакеты имеют соответствующее расширение # by package file case $PMTYPE in apt-rpm|urpm-rpm|zypper-rpm|yum-rpm) CMD="rpm -q --requires -p" ;; apt-dpkg) # FIXME: need package base showcmd dpkg -s $pkg_files a= dpkg -s $pkg_names | grep "^Depends:" | sed "s|^Depends:||g" # FIXME: we need execute package name section too return ;; *) fatal "Have no suitable command for $PMTYPE" ;; esac [ -n "$pkg_files" ] && docmd $CMD $pkg_files # by package name case $PMTYPE in apt-rpm|urpm-rpm|zypper-rpm) # FIXME: use hi level commands CMD="rpm -q --requires" ;; yum-rpm) CMD="yum deplist" ;; pacman) CMD="pactree" ;; apt-dpkg) CMD="apt-cache depends" ;; *) fatal "Have no suitable command for $PMTYPE" ;; esac [ -n "$pkg_names" ] && docmd $CMD $pkg_names }