epm-list 2.13 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
#!/bin/sh
#
# Copyright (C) 2023  Etersoft
# Copyright (C) 2023  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_list_help()
{
    cat <<EOF
epm list - list packages
Usage: epm list [options] [package]

Options:
  --available           list only available packages
  --installed           list only installed packages
29
  --upgradable          list only upgradable packages
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
EOF
#  --all                 list all packages (default)
}

epm_list()
{
    local option="$1"

    if [ -z "$1" ] ; then
        # locally installed packages by default
        load_helper epm-packages
        epm_packages "$@"
        return
    fi

    shift

    case "$option" in
        -h|--help)
            epm_list_help
            return
            ;;
        #--all)
        #    # TODO: exclude locally installed?
        #    epm_list_available
        #    return
        #    ;;
        --available)
            # TODO: exclude locally installed?
            load_helper epm-list_available
            epm_list_available "$@"
            return
            ;;
        --installed)
            load_helper epm-packages
            epm_packages "$@"
            return
            ;;
68 69 70 71 72 73
        --upgradable)
            # TODO: exclude locally installed?
            load_helper epm-list_upgradable
            epm_list_upgradable "$@"
            return
            ;;
74 75 76 77 78 79 80 81
        *)
            fatal "Unknown option $option, use epm list --help to get info"
            ;;
    esac

    epm_list_help >&2
    fatal "Run with appropriate option"
}