more small fixes

This commit is contained in:
2025-08-13 16:35:16 -05:00
parent f07486cb11
commit 7175dcf7ba
2 changed files with 18 additions and 9 deletions

2
Jenkinsfile vendored
View File

@@ -9,7 +9,7 @@ pipeline {
name 'DISTRO' name 'DISTRO'
values 'ubuntu-22.04', 'ubuntu-24.04', values 'ubuntu-22.04', 'ubuntu-24.04',
'debian-12', 'fedora-42', 'debian-12', 'fedora-42',
'ogarcia/archlinux-latest' 'archlinux-latest'
} }
axis { axis {
name 'ARCH' name 'ARCH'

View File

@@ -4,7 +4,7 @@ VALID_DOCKER_IMAGES=(
'ubuntu-22.04' 'ubuntu-24.04' 'ubuntu-22.04' 'ubuntu-24.04'
'fedora-41' 'fedora-42' 'fedora-41' 'fedora-42'
'debian-12' 'debian-12'
'ogarcia/archlinux-latest' 'archlinux-latest'
) )
DOCKER_WORKDIR='/workdir' DOCKER_WORKDIR='/workdir'
DOCKER_RUN_FLAGS=( DOCKER_RUN_FLAGS=(
@@ -78,13 +78,15 @@ docker_build_image() {
PLATFORM="${PLATFORM:-$(echo_platform)}" PLATFORM="${PLATFORM:-$(echo_platform)}"
for distro in "${DISTROS[@]}"; do for distro in "${DISTROS[@]}"; do
image_tag="$(set_distro_image_tag "${distro}")" echo_info "sourcing package manager for ${distro}"
echo_info "sourcing package manager for ${image_tag}"
# custom multi-arch image for archlinux
test "${distro}" == 'archlinux-latest' && \
distro='ogarcia/archlinux-latest'
# docker expects colon instead of dash # docker expects colon instead of dash
dockerDistro="${distro//-/:}" dockerDistro="${distro//-/:}"
# specific file for evaluated package manager info # specific file for evaluated package manager info
distroPkgMgr="${DOCKER_DIR}/$(bash_basename "${distro}")-pkg_mgr)" distroPkgMgr="${DOCKER_DIR}/$(bash_basename "${distro}")-pkg_mgr"
# get package manager info # get package manager info
# TODO REMOVE # TODO REMOVE
@@ -147,6 +149,7 @@ docker_build_image() {
} >"${dockerfile}" } >"${dockerfile}"
image_tag="$(set_distro_image_tag "${distro}")"
docker buildx build \ docker buildx build \
--platform "${PLATFORM}" \ --platform "${PLATFORM}" \
-t "${image_tag}" \ -t "${image_tag}" \
@@ -208,29 +211,35 @@ docker_run_image() {
check_docker || return 1 check_docker || return 1
for distro in "${DISTROS[@]}"; do for distro in "${DISTROS[@]}"; do
image_tag="$(set_distro_image_tag "${distro}")" # custom multi-arch image for arch
test "${distro}" == 'archlinux-latest' && \
distro='ogarcia/archlinux-latest'
# docker expects colon instead of dash
dockerDistro="${distro//-/:}"
# TODO REMOVE # TODO REMOVE
if is_root_owned "${IGN_DIR}"; then if is_root_owned "${IGN_DIR}"; then
docker run \ docker run \
"${DOCKER_RUN_FLAGS[@]}" \ "${DOCKER_RUN_FLAGS[@]}" \
"${image_tag}" \ "${dockerDistro}" \
chown -R "$(id -u):$(id -g)" "${DOCKER_WORKDIR}"/gitignore chown -R "$(id -u):$(id -g)" "${DOCKER_WORKDIR}"/gitignore
fi fi
if ! echo_if_fail ls; then if ! echo_if_fail ls; then
docker run \ docker run \
"${DOCKER_RUN_FLAGS[@]}" \ "${DOCKER_RUN_FLAGS[@]}" \
"${image_tag}" \ "${dockerDistro}" \
chown -R "$(id -u):$(id -g)" "${DOCKER_WORKDIR}"/gitignore chown -R "$(id -u):$(id -g)" "${DOCKER_WORKDIR}"/gitignore
fi fi
testfile="${PREFIX}/ffmpeg-build-testfile" testfile="${PREFIX}/ffmpeg-build-testfile"
if ! touch "${testfile}" 2>/dev/null; then if ! touch "${testfile}" 2>/dev/null; then
docker run \ docker run \
"${DOCKER_RUN_FLAGS[@]}" \ "${DOCKER_RUN_FLAGS[@]}" \
"${image_tag}" \ "${dockerDistro}" \
chown -R "$(id -u):$(id -g)" "${DOCKER_WORKDIR}"/gitignore chown -R "$(id -u):$(id -g)" "${DOCKER_WORKDIR}"/gitignore
fi fi
image_tag="$(set_distro_image_tag "${distro}")"
# if a docker registry is defined, pull from it # if a docker registry is defined, pull from it
if [[ ${DOCKER_REGISTRY} != '' ]]; then if [[ ${DOCKER_REGISTRY} != '' ]]; then
docker_login || return 1 docker_login || return 1