Compare commits
4 commits
Author | SHA1 | Date | |
---|---|---|---|
Tobias Reisinger | 67fed76c68 | ||
Tobias Reisinger | 2aa4ae8b58 | ||
Tobias Reisinger | 1b891407a3 | ||
Tobias Reisinger | aed681d0b0 |
|
@ -5,7 +5,7 @@ completions=${args[--completions]:-}
|
||||||
target=${args[target]:?}
|
target=${args[target]:?}
|
||||||
url=${args[url]:?}
|
url=${args[url]:?}
|
||||||
|
|
||||||
if [ "${action:-file}" = "exe" ]
|
if [ "${action:-file}" = "exe" ] && ! echo "$target" | grep -q "/"
|
||||||
then
|
then
|
||||||
if [ -x "$(command -v "$target")" ]
|
if [ -x "$(command -v "$target")" ]
|
||||||
then
|
then
|
||||||
|
|
|
@ -4,7 +4,7 @@ group=${args[group]:?}
|
||||||
file=${args[--file]:-}
|
file=${args[--file]:-}
|
||||||
clean=${args[--clean]:-}
|
clean=${args[--clean]:-}
|
||||||
|
|
||||||
_handle_entry() {
|
_install_entry() {
|
||||||
type="$1"
|
type="$1"
|
||||||
source="$2"
|
source="$2"
|
||||||
target="$3"
|
target="$3"
|
||||||
|
@ -32,13 +32,36 @@ _handle_entry() {
|
||||||
|
|
||||||
if [[ $source = \$* ]]
|
if [[ $source = \$* ]]
|
||||||
then
|
then
|
||||||
source=$(eval "echo $source")
|
source=$(eval "echo $source")
|
||||||
fi
|
fi
|
||||||
install_args+=("$source")
|
install_args+=("$source")
|
||||||
|
|
||||||
install_args+=("$(eval "echo $target")")
|
install_args+=("$(eval "echo $target")")
|
||||||
|
|
||||||
"$0" "${install_args[@]}" || true # Continue on error
|
"$0" "${install_args[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
_handle_entry() {
|
||||||
|
unset AUTOINSTALL_ITEM_TYPE \
|
||||||
|
AUTOINSTALL_ITEM_SOURCE \
|
||||||
|
AUTOINSTALL_ITEM_TARGET \
|
||||||
|
AUTOINSTALL_ITEM_HOOK \
|
||||||
|
AUTOINSTALL_ITEM_PIPE \
|
||||||
|
AUTOINSTALL_ITEM_COMPLETIONS
|
||||||
|
|
||||||
|
eval "$1"
|
||||||
|
|
||||||
|
# check if we have the required vars
|
||||||
|
if [[ -z "${AUTOINSTALL_ITEM_TYPE:-}" \
|
||||||
|
|| -z "${AUTOINSTALL_ITEM_SOURCE:-}" \
|
||||||
|
|| -z "${AUTOINSTALL_ITEM_TARGET:-}" ]]
|
||||||
|
then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
_install_entry "$AUTOINSTALL_ITEM_TYPE" "$AUTOINSTALL_ITEM_SOURCE" \
|
||||||
|
"$AUTOINSTALL_ITEM_TARGET" "${AUTOINSTALL_ITEM_HOOK:-}" "${AUTOINSTALL_ITEM_PIPE:-}" "${AUTOINSTALL_ITEM_COMPLETIONS:-}"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
file_lines=$(wc -l < "$file")
|
file_lines=$(wc -l < "$file")
|
||||||
|
@ -52,33 +75,14 @@ while [[ $line -lt $file_lines ]]; do
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
unset AUTOINSTALL_ITEM_TYPE \
|
|
||||||
AUTOINSTALL_ITEM_SOURCE \
|
|
||||||
AUTOINSTALL_ITEM_TARGET \
|
|
||||||
AUTOINSTALL_ITEM_HOOK \
|
|
||||||
AUTOINSTALL_ITEM_PIPE \
|
|
||||||
AUTOINSTALL_ITEM_COMPLETIONS \
|
|
||||||
AUTOINSTALL_ITEM_GROUPS
|
|
||||||
eval "$entry"
|
|
||||||
|
|
||||||
# check if we have the required vars
|
|
||||||
if [[ -z "${AUTOINSTALL_ITEM_TYPE:-}" \
|
|
||||||
|| -z "${AUTOINSTALL_ITEM_SOURCE:-}" \
|
|
||||||
|| -z "${AUTOINSTALL_ITEM_TARGET:-}" \
|
|
||||||
|| -z "${AUTOINSTALL_ITEM_GROUPS:-}" ]]
|
|
||||||
then
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$group" != "all" ]]
|
if [[ "$group" != "all" ]]
|
||||||
then
|
then
|
||||||
# check if group is in groups
|
# check if group is in groups
|
||||||
if [[ ! "${AUTOINSTALL_ITEM_GROUPS}" =~ (^|,)$group(,|$) ]]
|
if ! echo "$entry" | grep -qE "^AUTOINSTALL_ITEM_GROUPS=\"(.*,)?$group(,.*)?\"$"
|
||||||
then
|
then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
_handle_entry "$AUTOINSTALL_ITEM_TYPE" "$AUTOINSTALL_ITEM_SOURCE" \
|
_handle_entry "$entry" || true # ignore errors
|
||||||
"$AUTOINSTALL_ITEM_TARGET" "${AUTOINSTALL_ITEM_HOOK:-}" "${AUTOINSTALL_ITEM_PIPE:-}" "${AUTOINSTALL_ITEM_COMPLETIONS:-}"
|
|
||||||
done
|
done
|
||||||
|
|
Loading…
Reference in a new issue