#!/bin/sh # # Copyright (C) 2012, 2016 Etersoft # Copyright (C) 2012, 2016 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/>. # __alt_local_content_search() { load_helper epm-sh-altlinux local CI="$(get_local_alt_contents_index)" [ -n "$CI" ] || fatal "Have no local contents index" #local OUTCMD="less" #[ -n "$USETTY" ] || OUTCMD="cat" OUTCMD="cat" { [ -n "$USETTY" ] && info "Search in $CI for $1..." # note! tabulation below! grep -h -- ".*$1.* " $CI | sed -e "s|\(.*\)\t\(.*\)|\2: \1|g" } | $OUTCMD } epm_search_file() { local CMD [ -n "$pkg_filenames" ] || fatal "Search file: missing file name(s)" case $PMTYPE in apt-rpm) __alt_local_content_search $pkg_filenames return ;; apt-dpkg|aptitude-dpkg) assure_exists apt-file sudocmd apt-file update docmd apt-file search $pkg_filenames return ;; yum-rpm) # TODO info "Search by full packages list does not realized" CMD="yum provides" ;; dnf-rpm) # TODO info "Search by full packages list does not realized" CMD="dnf provides" ;; urpm-rpm) CMD="urpmf" ;; zypper-rpm) CMD="zypper wp vi" ;; pacman) CMD="pacman -Qo" ;; slackpkg) CMD="/usr/sbin/slackpkg file-search" ;; ipkg) CMD="ipkg search" ;; xbps) CMD="xbps-query -Ro" ;; aptcyg) docmd apt-cyg searchall $(echo " $pkg_filenames" | sed -e "s| /| |g") return ;; *) fatal "Have no suitable search file command for $PMTYPE" ;; esac docmd $CMD $pkg_filenames }