build-distro: simplify build loop, remove dead code in option parsing

parent d9364696
......@@ -126,7 +126,7 @@ move_iso() {
mv -vf "$TMP"/out/ximper-*.iso "$VMDIR"/"$DFILENAME"
}
OPTS=$(getopt -o h --long help,nvidia,debug,clean,all,de:,net,network,repos: -- "$@") || {
OPTS=$(getopt -o h --long help,nvidia,all,debug,clean,de:,net,network,repos: -- "$@") || {
print_error "Ошибка обработки опций."
}
......@@ -146,7 +146,7 @@ while true; do
printf "\n"
printf " Настройки образа:\n"
printf " --nvidia Собрать дистрибутив с драйверами NVIDIA\n"
printf " --all Собрать все дистрибутивы (default + nvidia)\n"
printf " --all Собрать все варианты (default + nvidia)\n"
printf " -r | --repos Установить используемые репозитории\n"
printf " (По умолчанию: deferred,ximper)\n"
printf " (репозитории используются тольок во время сборки)\n"
......@@ -196,16 +196,6 @@ while true; do
shift
break
;;
"")
shift
;;
*)
if [ -n "$REPOS" ] && [ "$1" = "$REPOS" ]; then
shift
continue
fi
print_error "Неверная опция: $1"
;;
esac
done
......@@ -233,32 +223,21 @@ fi
print_build_info
# Генерация списка задач на сборку
build_list=()
pushd "$PROFILESDIR" > /dev/null || exit
handle_uncommitted_changes
for desktop_env in "${DESKTOP_ENVS[@]}"; do
if [ "$ALLDISTROS" == true ]; then
build_list+=("$desktop_env:nvidia")
build_list+=("$desktop_env:default")
makebuild "default" "$desktop_env"
makebuild "nvidia" "$desktop_env"
elif [ "$NVIDIA" == true ]; then
makebuild "nvidia" "$desktop_env"
else
if [ "$NVIDIA" == true ]; then
build_list+=("$desktop_env:nvidia")
else
build_list+=("$desktop_env:default")
fi
makebuild "default" "$desktop_env"
fi
done
pushd "$PROFILESDIR" > /dev/null || exit
handle_uncommitted_changes
# Выполнение сборки для каждого элемента в списке
for build_item in "${build_list[@]}"; do
IFS=':' read -r desktop_env build_type <<< "$build_item"
makebuild "$build_type" "$desktop_env"
done
revert_temp_commit
cleartmp
popd > /dev/null || exit
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment