mirror of
https://github.com/levogevo/ffmpeg-builder.git
synced 2026-01-15 19:06:17 +00:00
updates
This commit is contained in:
@@ -24,10 +24,11 @@ echo_if_fail() {
|
||||
local cmd=("$@")
|
||||
local out="${TMP_DIR}/.stdout-${RANDOM}"
|
||||
local err="${TMP_DIR}/.stderr-${RANDOM}"
|
||||
test -d "${TMP_DIR}" || mkdir -p "${TMP_DIR}"
|
||||
|
||||
# set trace to the cmdEvalTrace and open file descriptor
|
||||
local cmdEvalTrace="${TMP_DIR}/.cmdEvalTrace-${RANDOM}"
|
||||
touch "${cmdEvalTrace}" || ${SUDO} rm -rf "${TMP_DIR}"
|
||||
test -d "${TMP_DIR}" || mkdir -p "${TMP_DIR}"
|
||||
exec 5>"${cmdEvalTrace}"
|
||||
export BASH_XTRACEFD=5
|
||||
|
||||
|
||||
@@ -47,7 +47,6 @@ docker_build_image() {
|
||||
validate_selected_image "$@" || return 1
|
||||
check_docker || return 1
|
||||
test -d "${DOCKER_DIR}" || mkdir -p "${DOCKER_DIR}"
|
||||
local platform="${PLATFORM:-linux/amd64}"
|
||||
for distro in "${DISTROS[@]}"; do
|
||||
image_tag="$(set_distro_image_tag "${distro}")"
|
||||
echo_info "sourcing package manager for ${image_tag}"
|
||||
@@ -58,7 +57,6 @@ docker_build_image() {
|
||||
distroPkgMgr="${DOCKER_DIR}/${distro}-pkg_mgr"
|
||||
# get package manager info
|
||||
docker run --rm \
|
||||
--platform "${platform}" \
|
||||
-v "${REPO_DIR}":/workdir \
|
||||
-w /workdir \
|
||||
"${dockerDistro}" \
|
||||
@@ -86,7 +84,6 @@ docker_build_image() {
|
||||
|
||||
echo_info "building ${image_tag}"
|
||||
docker build \
|
||||
--platform "${platform}" \
|
||||
-t "${image_tag}" \
|
||||
-f "${dockerfile}" \
|
||||
. || return 1
|
||||
@@ -100,11 +97,10 @@ FB_FUNC_COMPLETION['docker_save_image']="${VALID_DOCKER_IMAGES[*]}"
|
||||
docker_save_image() {
|
||||
validate_selected_image "$@" || return 1
|
||||
check_docker || return 1
|
||||
local platform="${PLATFORM:-linux/amd64}"
|
||||
for distro in "${DISTROS[@]}"; do
|
||||
image_tag="$(set_distro_image_tag "${distro}")"
|
||||
echo_info "saving docker image for ${image_tag}"
|
||||
docker save --platform "${platform}" "${image_tag}" |
|
||||
docker save "${image_tag}" |
|
||||
zstd -T0 >"${DOCKER_DIR}/$(docker_image_archive_name "${image_tag}")" ||
|
||||
return 1
|
||||
done
|
||||
@@ -116,7 +112,6 @@ FB_FUNC_COMPLETION['docker_load_image']="${VALID_DOCKER_IMAGES[*]}"
|
||||
docker_load_image() {
|
||||
validate_selected_image "$@" || return 1
|
||||
check_docker || return 1
|
||||
local platform="${PLATFORM:-linux/amd64}"
|
||||
for distro in "${DISTROS[@]}"; do
|
||||
image_tag="$(set_distro_image_tag "${distro}")"
|
||||
echo_info "loading docker image for ${image_tag}"
|
||||
@@ -134,28 +129,14 @@ FB_FUNC_COMPLETION['docker_run_image']="${VALID_DOCKER_IMAGES[*]}"
|
||||
docker_run_image() {
|
||||
validate_selected_image "$@" || return 1
|
||||
check_docker || return 1
|
||||
local platform="${PLATFORM:-linux/amd64}"
|
||||
for distro in "${DISTROS[@]}"; do
|
||||
image_tag="$(set_distro_image_tag "${distro}")"
|
||||
echo_info "running ffmpeg build for ${image_tag}"
|
||||
docker run --rm \
|
||||
--platform "${platform}" \
|
||||
-v "${REPO_DIR}":/workdir \
|
||||
-w /workdir \
|
||||
-e DEBUG="${DEBUG}" \
|
||||
"${image_tag}" \
|
||||
./scripts/build.sh || return 1
|
||||
done
|
||||
}
|
||||
|
||||
FB_FUNC_NAMES+=('docker_run_amd64_image_on_arm64')
|
||||
FB_FUNC_DESCS['docker_run_amd64_image_on_arm64']='run docker image to build ffmpeg for amd64 on arm64'
|
||||
FB_FUNC_COMPLETION['docker_run_amd64_image_on_arm64']="${VALID_DOCKER_IMAGES[*]}"
|
||||
docker_run_amd64_image_on_arm64() {
|
||||
if missing_cmd qemu-x86_64-static; then
|
||||
determine_pkg_mgr || return 1
|
||||
${pkg_install} qemu-user-static || return 1
|
||||
fi
|
||||
check_docker || return 1
|
||||
docker run --privileged --rm tonistiigi/binfmt --install all || return 1
|
||||
docker_run_image "$@"
|
||||
}
|
||||
|
||||
@@ -96,6 +96,12 @@ print_pkg_mgr() {
|
||||
echo "export req_pkgs=\"$(print_req_pkgs)\""
|
||||
}
|
||||
|
||||
print_os() {
|
||||
if [[ -f /etc/os-release ]]; then
|
||||
source /etc/os-release ; echo "${ID}-${VERSION_ID}"
|
||||
fi
|
||||
}
|
||||
|
||||
check_for_req_pkgs() {
|
||||
echo_info "checking for required packages"
|
||||
local missing_pkgs=()
|
||||
|
||||
Reference in New Issue
Block a user