common.sh 1.77 KB
Newer Older
1 2 3 4 5 6 7 8
#!/bin/sh

fatal()
{
    echo "FATAL: $*" >&2
    exit 1
}

9 10 11 12 13 14
get_latest_version()
{
    local URL="https://eepm.ru/app-versions"
    epm tool eget -q -O- "$URL/$1"
}

15 16 17 18 19 20 21
print_product_alt()
{
    [ -n "$1" ] || return
    shift
    echo "$*"
}

22 23 24 25 26
case "$1" in
    "--remove")
        epm remove $PKGNAME
        exit
        ;;
27 28 29 30 31 32 33 34
    "--help")
        if [ -n "$PRODUCTALT" ] ; then
            echo "Help about additional parameters."
            echo "Use epm play $(basename $0 .sh) [$(echo "$PRODUCTALT" | sed -e 's@ @|@g')]"
        fi
        [ -n "$TIPS" ] && echo "$TIPS"
        exit
        ;;
35
    "--package-name")
36 37 38
        echo "$PKGNAME"
        exit
        ;;
39 40 41 42
    "--product-alternatives")
        print_product_alt $PRODUCTALT
        exit
        ;;
43 44 45 46
    "--installed")
        epm installed $PKGNAME
        exit
        ;;
47 48 49 50
    "--installed-version")
        epm print version for package $PKGNAME
        exit
        ;;
51 52 53 54 55 56 57 58 59
    "--description")
        echo "$DESCRIPTION"
        exit
        ;;
    "--update")
        if ! epm installed $PKGNAME ; then
            echo "Skipping update of $PKGNAME (package is not installed)"
            exit
        fi
60 61
        pkgver="$(epm print version for package $PKGNAME)"
        if [ -n "$pkgver" ] && [ "$(get_latest_version $PKGNAME)" = "$pkgver" ] ; then
62
            echo "There is no newer version of $PKGNAME then installed version $pkgver."
63 64
            exit
        fi
65 66 67 68 69 70 71 72
        ;;
    "--run")
        # just pass
        ;;
    *)
        fatal "Unknown command $1"
        ;;
esac
73

74 75 76 77 78 79 80 81 82 83 84 85 86

check_supported_arch()
{
    # skip checking if no arches
    [ -n "$1" ] || return 0
    for i in $* ; do
        [ "$(epm print info -a)" = "$i" ] && return 0
    done

    return 1
}

check_supported_arch $SUPPORTEDARCHES || fatal "Only $SUPPORTEDARCHES is supported"