Was supposed to be a linux distribution, now just a collection of build scripts for packages on top of (ideally) any distribution.
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.

91 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