You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
2.0 KiB
90 lines
2.0 KiB
#!/bin/sh
|
|
set -eu
|
|
|
|
# Helper functions for programs that work with satellite files.
|
|
|
|
show_help() {
|
|
echo "!! THIS PROGRAM HAS BEEN DEPRECATED !!
|
|
This was a hack at best, and since freshnaut has been deprecated, it won't be needed anymore.
|
|
|
|
Script with helper functions for working with satellite files.
|
|
Usage: $0 <satellite file> <function> [arguments]
|
|
|
|
Functions:
|
|
variable <name> | Get variable set in the header
|
|
downloads | Get all download urls
|
|
options | List all available options and their descriptions"
|
|
}
|
|
|
|
if [ $# -lt 2 ]; then
|
|
show_help
|
|
exit 1
|
|
fi
|
|
|
|
satellite="$(realpath "$1")"
|
|
function="$2"
|
|
|
|
# Functions reused in all wrappers
|
|
global="$(printf '
|
|
download_only=true
|
|
name_sat="%s"
|
|
name="$name_sat"
|
|
|
|
import() {
|
|
. "%s/functions/$1.sh"
|
|
}
|
|
|
|
# Allowed external utility commands
|
|
cut() { "%s" "$@"; }
|
|
expr() { "%s" "$@"; }
|
|
' "$(basename "$satellite" .sat)" "$(dirname "$satellite")" "$(command -v cut)" "$(command -v expr)")"
|
|
|
|
case "$function" in
|
|
variable)
|
|
if [ "$#" -lt 3 ]; then
|
|
show_help
|
|
exit 1
|
|
fi
|
|
name="$3"
|
|
|
|
printf "$global"'
|
|
_() {
|
|
variable="$%s"
|
|
[ "$variable" ] && echo "$variable"
|
|
exit $?
|
|
}
|
|
. %s
|
|
' "$name" "$satellite" | PATH= /bin/sh 2> /dev/null
|
|
;;
|
|
|
|
downloads)
|
|
printf "$global"'
|
|
download() {
|
|
[ "$1" ] && echo "$1"
|
|
}
|
|
dlextract() {
|
|
[ "$1" ] && echo "$1"
|
|
}
|
|
dlfile() {
|
|
[ "$1" ] && echo "$1"
|
|
}
|
|
_() { exit 0; }
|
|
. %s
|
|
' "$satellite" | PATH= /bin/sh 2> /dev/null
|
|
;;
|
|
|
|
options)
|
|
printf "$global"'
|
|
define_option() {
|
|
[ "$1" ] && echo "$1"
|
|
}
|
|
_() { exit 0; }
|
|
. %s
|
|
' "$satellite" | PATH= /bin/sh 2> /dev/null
|
|
;;
|
|
|
|
*)
|
|
show_help
|
|
exit 1
|
|
;;
|
|
esac
|
|
|