flush out validate_selected_distro

This commit is contained in:
2025-07-29 18:48:28 -05:00
parent 90b441c93a
commit 4d275482ef

View File

@@ -1,13 +1,18 @@
#!/usr/bin/env bash #!/usr/bin/env bash
validate_selected_distro() { validate_selected_distro() {
local distro="${1:-}" local selectedDistro="${1:-}"
local validDistros=('debian:bookworm' 'ubuntu:24.04' 'archlinux:latest' 'fedora:42') local validDistros=('debian:bookworm' 'ubuntu:24.04' 'archlinux:latest' 'fedora:42')
if [[ ${DISTRO} == '' ]]; then for distro in "${validDistros[@]}"; do
DISTROS=("${validDistros[@]}") if [[ ${selectedDistro} == ${distro} ]]; then
else DISTROS+=("${distro}")
DISTROS=("${DISTRO}") fi
done
if [[ ${DISTROS[*]} == '' ]]; then
echo_fail "${selectedDistro} is not valid"
return 1
fi fi
echo_warn "${FUNCNAME[0]}" "${DISTROS[@]}"
} }
# shellcheck disable=SC2154 # shellcheck disable=SC2154
@@ -16,7 +21,7 @@ FB_FUNC_NAMES+=('docker_build_images')
# shellcheck disable=SC2034 # shellcheck disable=SC2034
FB_FUNC_DESCS['docker_build_images']='build docker images with required dependencies pre-installed' FB_FUNC_DESCS['docker_build_images']='build docker images with required dependencies pre-installed'
docker_build_images() { docker_build_images() {
validate_selected_distro "$@" validate_selected_distro "$@" || return 1
DOCKERFILE_DIR="${IGN_DIR}/Dockerfiles" DOCKERFILE_DIR="${IGN_DIR}/Dockerfiles"
test -d "${DOCKERFILE_DIR}" && rm -rf "${DOCKERFILE_DIR}" test -d "${DOCKERFILE_DIR}" && rm -rf "${DOCKERFILE_DIR}"
mkdir -p "${DOCKERFILE_DIR}" mkdir -p "${DOCKERFILE_DIR}"
@@ -35,6 +40,7 @@ docker_build_images() {
"${distro}" \ "${distro}" \
bash -c "./scripts/print_pkg_mgr.sh" | tr -d '\r' >"${distroFmtPkgMgr}" bash -c "./scripts/print_pkg_mgr.sh" | tr -d '\r' >"${distroFmtPkgMgr}"
# shellcheck disable=SC1090 # shellcheck disable=SC1090
cat "${distroFmtPkgMgr}"
source "${distroFmtPkgMgr}" source "${distroFmtPkgMgr}"
dockerfile="${DOCKERFILE_DIR}/Dockerfile_${distroFmt}" dockerfile="${DOCKERFILE_DIR}/Dockerfile_${distroFmt}"
@@ -67,7 +73,7 @@ FB_FUNC_NAMES+=('docker_run_image')
# shellcheck disable=SC2034 # shellcheck disable=SC2034
FB_FUNC_DESCS['docker_run_image']='run docker images to build ffmpeg' FB_FUNC_DESCS['docker_run_image']='run docker images to build ffmpeg'
docker_run_image() { docker_run_image() {
docker_build_images "$@" docker_build_images "$@" || return 1
for distro in "${DISTROS[@]}"; do for distro in "${DISTROS[@]}"; do
image_tag="ffmpeg_builder_${distro}" image_tag="ffmpeg_builder_${distro}"
echo_info "running ffmpeg build for ${image_tag}" echo_info "running ffmpeg build for ${image_tag}"