removie configuation questions openhamclock
This commit is contained in:
@@ -9,7 +9,7 @@ steps=cd src| make| make hamclock-1600x960| mv hamclock-1600x960 $HOME/.local/bi
|
||||
version=26.1.3
|
||||
git=https://github.com/accius/openhamclock.git
|
||||
install=$HOME/.local/bin/openhamclock
|
||||
steps=npm ci| cp .env.example .env| read -rp "What is your call sign? " CALLSIGN && sed -i "s/CALLSIGN=NOCALL/CALLSIGN=$CALLSIGN/" .env| read -rp "What is the host IP address or domain name? " HOST && sed -i "s/HOST=localhost/HOST=$HOST/" .env| read -rp "What is your locator code? " LOCATOR && sed -i "s/LOCATOR=FN31/LOCATOR=$LOCATOR/" .env
|
||||
steps=npm ci| cp .env.example .env
|
||||
|
||||
[direwolf]
|
||||
version=1.8.1
|
||||
|
||||
@@ -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 ---
|
||||
|
||||
Reference in New Issue
Block a user