wackman/versionselect.sh
2025-10-02 13:30:32 +02:00

45 lines
No EOL
1.6 KiB
Bash
Executable file

#!/bin/bash
selectversion() {
versions=()
count=0
for profile_dir in profiles/*/; do
# Remove the trailing slash to get clean directory name
count=$[count+1]
echo $profile_dir
source $profile_dir/metadata
echo $prettyname
versions+=("$version" "$prettyname")
done
exec 3>&1;
sel=$(dialog --menu "Select major version" 20 60 10 "${versions[@]}" 2>&1 1>&3)
for profile_dir in profiles/*/; do
source $profile_dir/metadata
if [[ "$sel" == "$version" ]]; then
profile=$(basename $profile_dir)
versions2=()
count=0
while IFS=, read -r vhd version identifier backingversion parent_identifier parent_filename
do
echo $vhd
count=$[count+1]
versions2+=("$version" "$vhd")
done < images/lookup/phase1_$profile.csv
exec 3>&1;
sel=$(dialog --menu "Select an item:" 20 60 10 "${versions2[@]}" 2>&1 1>&3)
sed -i "s/VERSION=.*/VERSION=\"$sel\"/" .config
fi
done
}
setserver() {
source .config
exec 3>&1;
hostname=$(dialog --inputbox "Modify server hostname" 10 30 "${NET_HOSTNAME:-hostname.tld}" 2>&1 1>&3)
keychip=$(dialog --inputbox "Modify keychip id" 10 30 "${NET_KEYCHIP_ID:-A$(printf "%02d" $((RANDOM % 100)))$(shuf -e E X | head -n1)-$(shuf -e 01 20 | head -n1)$(shuf -e A B C D U | head -n1)$(tr -dc 0-9 </dev/urandom | head -c 8)}" 2>&1 1>&3)
sed -i "s/NET_HOSTNAME=.*/NET_HOSTNAME=\"$hostname\"/" .config
sed -i "s/NET_KEYCHIP_ID=.*/NET_KEYCHIP_ID=\"$keychip\"/" .config
}
setserver
# selectversion