#!/bin/sh # # Copyright (C) 2012, 2016, 2019, 2020, 2021 Etersoft # Copyright (C) 2012, 2016, 2019, 2020, 2021 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-sh-altlinux __print_apt_sources_list() { local i for i in $@ ; do test -r "$i" || continue grep -v -- "^.*#" $i done | grep -v -- "^ *\$" } __print_apt_sources_list_full() { local i for i in $@ ; do test -r "$i" || continue grep -- "^[[:space:]]*#*[[:space:]]*rpm" $i done | grep -v -- "^ *\$" } # TODO: remove __print_apt_sources_list_list() { local i for i in $@ ; do test -r "$i" || continue grep -v -- "^.*#" $i | grep -v -- "^ *\$" | grep -q . && echo "$i" done } __info_cyan() { set_boldcolor $CYAN echo "$*" >&2 restore_color } __print_apt_sources_list_verbose() { local i for i in $@ ; do test -r "$i" || continue grep -v -- "^.*#" $i | grep -v -- "^ *\$" | grep -q . && __info_cyan "$i:" || continue grep -v -- "^.*#" $i | grep -v -- "^ *\$" | sed -e 's|^| |' done } __print_apt_sources_list_verbose_full() { local i for i in $@ ; do test -r "$i" || continue grep -- "^[[:space:]]*#*[[:space:]]*rpm" $i | grep -v -- "^ *\$" | grep -q . && echo && __info_cyan "$i:" || continue grep -- "^[[:space:]]*#*[[:space:]]*rpm" $i | grep -v -- "^ *\$" | sed -e 's|^| |' -e "s|\(.*#.*\)|$(set_color $WHITE)\1$(restore_color)|" done } print_apt_sources_list() { local LISTS='/etc/apt/sources.list /etc/apt/sources.list.d/*.list' if [ "$1" = "-a" ] || [ "$1" = "--all" ] ; then if [ -n "$quiet" ] ; then __print_apt_sources_list_full $LISTS else __print_apt_sources_list_verbose_full $LISTS fi return fi if [ -n "$quiet" ] ; then __print_apt_sources_list $LISTS else __print_apt_sources_list_verbose $LISTS fi } epm_repolist() { # TODO [ -z "$*" ] || [ "$PMTYPE" = "apt-rpm" ] || [ "$PMTYPE" = "apt-dpkg" ] || fatal "No arguments are allowed here" case $PMTYPE in apt-rpm) #assure_exists apt-repo if tasknumber "$1" >/dev/null ; then get_task_packages "$@" else print_apt_sources_list "$@" #docmd apt-repo list fi ;; deepsolver-rpm) docmd ds-conf ;; apt-dpkg|aptitude-dpkg) print_apt_sources_list "$@" ;; yum-rpm) docmd yum repolist $verbose [ -n "$verbose" ] || info "Use --verbose if you need detail information." ;; dnf-rpm|dnf5-rpm) docmd dnf repolist $verbose [ -n "$verbose" ] || info "Use --verbose if you need detail information." ;; urpm-rpm) docmd urpmq --list-media active --list-url ;; apk) cat /etc/apk/repositories ;; zypper-rpm) docmd zypper sl -d ;; packagekit) docmd pkcon repo-list ;; emerge) docmd eselect profile list docmd layman -L ;; xbps) docmd xbps-query -L ;; winget) docmd winget source list ;; eoget) docmd eoget list-repo ;; pacman) if [ -f /etc/pacman.d/mirrorlist ] ; then docmd grep -v -- "^#\|^$" /etc/pacman.d/mirrorlist | grep "^Server =" | sed -e 's|^Server = ||' else docmd grep -v -- "^#\|^$" /etc/pacman.conf fi ;; slackpkg) docmd grep -v -- "^#\|^$" /etc/slackpkg/mirrors ;; *) fatal 'Have no suitable command for $PMTYPE' ;; esac }