mirror of
https://github.com/chocolate-doom/chocpkg.git
synced 2025-02-15 08:21:00 +00:00
Use ${!array[@]} syntax to iterate over arrays.
Bash 3 accepts ${array[@]:0} but this is invalid in bash 4 for empty arrays. Instead, use ${!array[@]} to get indexes into the array and look up entries using them.
This commit is contained in:
parent
a5917ce635
commit
abb68241a3
2 changed files with 32 additions and 18 deletions
|
@ -62,9 +62,9 @@ dependencies() {
|
||||||
}
|
}
|
||||||
|
|
||||||
set_dependencies_native() {
|
set_dependencies_native() {
|
||||||
local i=0
|
local i
|
||||||
while [ $i -lt ${#DEPENDENCIES[@]} ]; do
|
for i in ${!DEPENDENCIES[@]}; do
|
||||||
dep="${DEPENDENCIES[$i]}"
|
local dep="${DEPENDENCIES[$i]}"
|
||||||
if [[ "$PACKAGE_TYPE" = native ]] && ! [[ "$dep" =~ native: ]]; then
|
if [[ "$PACKAGE_TYPE" = native ]] && ! [[ "$dep" =~ native: ]]; then
|
||||||
DEPENDENCIES[$i]="native:$dep"
|
DEPENDENCIES[$i]="native:$dep"
|
||||||
fi
|
fi
|
||||||
|
@ -82,8 +82,9 @@ variant() {
|
||||||
|
|
||||||
# Check if the given variant was declared in the package file.
|
# Check if the given variant was declared in the package file.
|
||||||
valid_variant() {
|
valid_variant() {
|
||||||
local for_variant=$1
|
local i for_variant=$1
|
||||||
for v in "${ALL_VARIANTS[@]}"; do
|
for i in "${!ALL_VARIANTS[@]}"; do
|
||||||
|
local v="${ALL_VARIANTS[$i]}"
|
||||||
if [ "$v" = "$for_variant" ]; then
|
if [ "$v" = "$for_variant" ]; then
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
@ -94,8 +95,9 @@ valid_variant() {
|
||||||
# Get the default variant for the specified package. Usually this is the
|
# Get the default variant for the specified package. Usually this is the
|
||||||
# stable variant but it can be overridden.
|
# stable variant but it can be overridden.
|
||||||
package_default_variant() {
|
package_default_variant() {
|
||||||
local for_package=$1
|
local i for_package=$1
|
||||||
for v in "${LATEST_PACKAGES[@]}"; do
|
for i in "${!LATEST_PACKAGES[@]}"; do
|
||||||
|
local v="${LATEST_PACKAGES[$i]}"
|
||||||
if [ "$v" = "$for_package" ]; then
|
if [ "$v" = "$for_package" ]; then
|
||||||
echo "latest"
|
echo "latest"
|
||||||
return
|
return
|
||||||
|
@ -142,6 +144,7 @@ configure_for_package() {
|
||||||
if [ "${#ALL_VARIANTS[@]}" -eq 0 ]; then
|
if [ "${#ALL_VARIANTS[@]}" -eq 0 ]; then
|
||||||
ALL_VARIANTS=(stable)
|
ALL_VARIANTS=(stable)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! valid_variant "$PACKAGE_VARIANT"; then
|
if ! valid_variant "$PACKAGE_VARIANT"; then
|
||||||
error_exit "Unknown variant $PACKAGE_VARIANT for package $package."
|
error_exit "Unknown variant $PACKAGE_VARIANT for package $package."
|
||||||
fi
|
fi
|
||||||
|
@ -205,7 +208,9 @@ setup_build_environment() {
|
||||||
}
|
}
|
||||||
|
|
||||||
install_dependencies() {
|
install_dependencies() {
|
||||||
for dep in "${DEPENDENCIES[@]:0}"; do
|
local i
|
||||||
|
for i in "${!DEPENDENCIES[@]}"; do
|
||||||
|
local dep="${DEPENDENCIES[$i]}"
|
||||||
chocpkg install "$dep"
|
chocpkg install "$dep"
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
@ -216,6 +221,7 @@ cmd_installed() {
|
||||||
}
|
}
|
||||||
|
|
||||||
cmd_fetch() {
|
cmd_fetch() {
|
||||||
|
check_valid_variant
|
||||||
do_fetch
|
do_fetch
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -287,8 +293,9 @@ package_info() {
|
||||||
printf "\n"
|
printf "\n"
|
||||||
|
|
||||||
printf "variants:"
|
printf "variants:"
|
||||||
for v in "${ALL_VARIANTS[@]}"; do
|
local i
|
||||||
printf "%s\n" "$v"
|
for i in "${!ALL_VARIANTS[@]}"; do
|
||||||
|
printf "%s\n" "${ALL_VARIANTS[$i]}"
|
||||||
done | sort | uniq | while read v; do
|
done | sort | uniq | while read v; do
|
||||||
printf " %s" "$v"
|
printf " %s" "$v"
|
||||||
done
|
done
|
||||||
|
@ -310,7 +317,9 @@ cmd_info() {
|
||||||
}
|
}
|
||||||
|
|
||||||
cmd_dependencies() {
|
cmd_dependencies() {
|
||||||
for dep in "${DEPENDENCIES[@]:0}"; do
|
local i
|
||||||
|
for i in "${!DEPENDENCIES[@]}"; do
|
||||||
|
local dep="${DEPENDENCIES[$i]}"
|
||||||
echo "$dep"
|
echo "$dep"
|
||||||
chocpkg dependencies "$dep"
|
chocpkg dependencies "$dep"
|
||||||
done | sort | uniq
|
done | sort | uniq
|
||||||
|
|
|
@ -17,20 +17,24 @@ do_build() {
|
||||||
# Installing a package group means installing all its packages; we don't
|
# Installing a package group means installing all its packages; we don't
|
||||||
# trigger the build step like 'install' usually does (we don't have one).
|
# trigger the build step like 'install' usually does (we don't have one).
|
||||||
cmd_install() {
|
cmd_install() {
|
||||||
for package in "${DEPENDENCIES[@]:0}"; do
|
local i
|
||||||
chocpkg install "$package"
|
for i in "${!DEPENDENCIES[@]}"; do
|
||||||
|
chocpkg install "${DEPENDENCIES[$i]}"
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
# Reinstalling a package group means reinstalling *all* its packages.
|
# Reinstalling a package group means reinstalling *all* its packages.
|
||||||
cmd_reinstall() {
|
cmd_reinstall() {
|
||||||
for package in "${DEPENDENCIES[@]:0}"; do
|
local i
|
||||||
chocpkg reinstall "$package"
|
for i in "${!DEPENDENCIES[@]}"; do
|
||||||
|
chocpkg reinstall "${DEPENDENCIES[$i]}"
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
cmd_dependencies() {
|
cmd_dependencies() {
|
||||||
for package in "${DEPENDENCIES[@]:0}"; do
|
local i
|
||||||
|
for i in "${!DEPENDENCIES[@]}"; do
|
||||||
|
local package="${DEPENDENCIES[$i]}"
|
||||||
echo "$package"
|
echo "$package"
|
||||||
chocpkg dependencies "$package"
|
chocpkg dependencies "$package"
|
||||||
done | sort | uniq
|
done | sort | uniq
|
||||||
|
@ -38,8 +42,9 @@ cmd_dependencies() {
|
||||||
|
|
||||||
# Package group is installed if all its packages are installed.
|
# Package group is installed if all its packages are installed.
|
||||||
cmd_installed() {
|
cmd_installed() {
|
||||||
for package in "${DEPENDENCIES[@]:0}"; do
|
local i
|
||||||
chocpkg installed "$package"
|
for i in "${!DEPENDENCIES[@]}"; do
|
||||||
|
chocpkg installed "${DEPENDENCIES[$i]}"
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue