#!/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/>. # load_helper epm-query __epm_filelist_file() { local CMD [ -z "$*" ] && return case $PMTYPE in apt-rpm|yum-rpm|urpm-rpm|zypper-rpm) CMD="rpm -qlp" ;; apt-dpkg) CMD="dpkg --contents" ;; *) fatal "Do not known query command for $PMTYPE" ;; esac docmd $CMD $@ } __epm_filelist_name() { local CMD [ -z "$*" ] && return case $PMTYPE in apt-rpm) CMD="rpm -ql" ;; apt-dpkg) CMD="dpkg -L" ;; yum-rpm) CMD="rpm -ql" ;; urpm-rpm) CMD="rpm -ql" ;; zypper-rpm) CMD="rpm -ql" ;; pacman) docmd pacman -Ql $pkg_names | sed -e "s|.* ||g" return ;; slackpkg) is_installed $pkg_names || fatal "Query filelist for non installed packages does not realized" docmd awk 'BEGIN{desk=1}{if(/^FILE LIST:$/){desk=0} else if (desk==0) {print}}' /var/log/packages/${pkg_filenames}* return ;; *) fatal "Do not known query command for $PMTYPE" ;; esac docmd $CMD $pkg_names && return is_installed $pkg_names || fatal "Query filelist for non installed packages does not realized" } epm_filelist() { [ -n "$pkg_filenames" ] || fatal "Run query without names" __epm_filelist_file $pkg_files || return __epm_filelist_name $pkg_names || return }