removie configuation questions openhamclock

This commit is contained in:
David Young
2026-04-10 12:28:53 -06:00
parent 3768ddd88a
commit 5761a5200a
2 changed files with 21 additions and 5 deletions

View File

@@ -261,12 +261,20 @@ process_app() {
process_conf() {
local app="" git_url="" wget_url="" install_path="" steps="" version="" desktop="" gui=""
# Collect all app configs into parallel arrays first, so stdin is
# free for interactive prompts when process_app runs afterwards
local -a all_apps all_git all_wget all_install all_steps all_versions all_desktops all_guis
local idx=0
while IFS= read -r line || [ -n "$line" ]; do
[[ -z "$line" || "$line" == \#* ]] && continue
if [[ "$line" =~ ^\[(.+)\]$ ]]; then
if [ -n "$app" ]; then
process_app "$app" "$git_url" "$wget_url" "$install_path" "$steps" "$version" "$desktop" "$gui"
all_apps[$idx]="$app"; all_git[$idx]="$git_url"; all_wget[$idx]="$wget_url"
all_install[$idx]="$install_path"; all_steps[$idx]="$steps"
all_versions[$idx]="$version"; all_desktops[$idx]="$desktop"; all_guis[$idx]="$gui"
((idx++))
fi
app="${BASH_REMATCH[1]}"
git_url="" wget_url="" install_path="" steps="" version="" desktop="" gui=""
@@ -276,7 +284,6 @@ process_conf() {
local key="${line%%=*}"
local raw_value="${line#*=}"
# Steps are stored raw so quotes and variables expand correctly at eval time
if [ "$key" = "steps" ]; then
steps="$raw_value"
continue
@@ -296,10 +303,19 @@ process_conf() {
done < "$CONF_FILE"
# Process the last app in the file
# Store the last app
if [ -n "$app" ]; then
process_app "$app" "$git_url" "$wget_url" "$install_path" "$steps" "$version" "$desktop" "$gui"
all_apps[$idx]="$app"; all_git[$idx]="$git_url"; all_wget[$idx]="$wget_url"
all_install[$idx]="$install_path"; all_steps[$idx]="$steps"
all_versions[$idx]="$version"; all_desktops[$idx]="$desktop"; all_guis[$idx]="$gui"
((idx++))
fi
# Now process each app — stdin is the terminal, so read -rp works
for ((i=0; i<idx; i++)); do
process_app "${all_apps[$i]}" "${all_git[$i]}" "${all_wget[$i]}" "${all_install[$i]}" \
"${all_steps[$i]}" "${all_versions[$i]}" "${all_desktops[$i]}" "${all_guis[$i]}"
done
}
# --- Main ---