epm-prescription 1.7 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
#!/bin/sh
#
# Copyright (C) 2015, 2017, 2019, 2020  Etersoft
# Copyright (C) 2015, 2017, 2019, 2020  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/>.
#

20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
# TODO
epm_vardir=/var/lib/eepm


__epm_prescription_run()
{
    local script="$psdir/$1.sh"
    shift
    local option="$1"

    if [ ! -x "$script" ] ; then
        fatal "Can't find $script prescription."
    fi

    # allow use EGET in the scripts
    __set_EGET
    # also we will have DISTRVENDOR there
    export PATH=$PROGDIR:$PATH

    #info "Running $($script --description 2>/dev/null) ..."
    docmd $script $option
}

43 44 45 46 47
epm_prescription()
{

local psdir="$CONFIGDIR/prescription.d"

48 49 50
if [ "$1" = "-h" ] || [ "$1" = "--help" ] ; then
    cat <<EOF
Options:
51 52
    receipt        - run receipt
    --list-all     - list all available receipts
53 54
EOF
    exit
55 56
fi

57 58 59 60 61
if [ "$1" == "--list-all" ] || [ -z "$*" ] ; then
    echo "Run with a name of a prescription to run:"
    for i in $psdir/*.sh ; do
        printf "  %-20s - %s\n" "$(basename $i .sh)" "$($i --description 2>/dev/null)"
    done
62
    echo
63 64
    exit
fi
65

66
__epm_prescription_run "$1" --run
67
}