From 7ed76a8724e0178f16729384bf607e9b34ec1e9c Mon Sep 17 00:00:00 2001 From: BtbN Date: Thu, 21 Dec 2023 01:31:23 +0100 Subject: [PATCH] Overhaul cache system --- .github/workflows/build.yml | 54 ++++++++++------------ .github/workflows/pr.yml | 11 +++++ build.sh | 3 +- download.sh | 65 +++++++++++++++++++++++++++ generate.sh | 58 ++++++------------------ images/base/Dockerfile | 3 -- images/base/retry-tool.sh | 4 +- makeimage.sh | 19 +------- scripts.d/10-mingw-std-threads.sh | 2 - scripts.d/10-mingw.sh | 4 +- scripts.d/10-xorg-macros.sh | 2 - scripts.d/20-libiconv.sh | 6 +-- scripts.d/20-libxml2.sh | 2 - scripts.d/20-zlib.sh | 2 - scripts.d/25-fftw3.sh | 2 - scripts.d/25-freetype.sh | 2 - scripts.d/25-fribidi.sh | 2 - scripts.d/25-gmp.sh | 2 - scripts.d/25-libogg.sh | 2 - scripts.d/25-openssl.sh | 6 +-- scripts.d/25-xz.sh | 2 - scripts.d/35-fontconfig.sh | 2 - scripts.d/45-harfbuzz.sh | 2 - scripts.d/45-libsamplerate.sh | 2 - scripts.d/45-libudfread.sh | 2 - scripts.d/45-libvorbis.sh | 2 - scripts.d/45-opencl.sh | 6 +-- scripts.d/45-pulseaudio.sh | 4 +- scripts.d/45-vmaf.sh | 2 - scripts.d/45-x11/10-xcbproto.sh | 2 - scripts.d/45-x11/10-xproto.sh | 2 - scripts.d/45-x11/10-xtrans.sh | 2 - scripts.d/45-x11/20-libxau.sh | 2 - scripts.d/45-x11/30-libxcb.sh | 2 - scripts.d/45-x11/40-libx11.sh | 2 - scripts.d/45-x11/50-libxext.sh | 2 - scripts.d/45-x11/50-libxfixes.sh | 2 - scripts.d/45-x11/50-libxi.sh | 2 - scripts.d/45-x11/50-libxinerama.sh | 2 - scripts.d/45-x11/50-libxrender.sh | 2 - scripts.d/45-x11/50-libxscrnsaver.sh | 2 - scripts.d/45-x11/50-libxxf86vm.sh | 2 - scripts.d/45-x11/60-libglvnd.sh | 2 - scripts.d/45-x11/60-libxcursor.sh | 2 - scripts.d/45-x11/60-libxrandr.sh | 2 - scripts.d/45-x11/60-libxv.sh | 2 - scripts.d/50-amf.sh | 2 - scripts.d/50-aom.sh | 4 +- scripts.d/50-aribb24/25-libpng.sh | 2 - scripts.d/50-aribb24/50-libaribb24.sh | 4 +- scripts.d/50-avisynth.sh | 2 - scripts.d/50-chromaprint.sh | 2 - scripts.d/50-dav1d.sh | 2 - scripts.d/50-davs2.sh | 4 +- scripts.d/50-fdk-aac.sh | 2 - scripts.d/50-ffnvcodec.sh | 6 +-- scripts.d/50-frei0r.sh | 2 - scripts.d/50-gme.sh | 2 - scripts.d/50-kvazaar.sh | 2 - scripts.d/50-libaribcaption.sh | 2 - scripts.d/50-libass.sh | 2 - scripts.d/50-libbluray.sh | 2 - scripts.d/50-libjxl/45-brotli.sh | 2 - scripts.d/50-libjxl/45-lcms2.sh | 2 - scripts.d/50-libjxl/50-libjxl.sh | 6 +-- scripts.d/50-libmp3lame.sh | 4 +- scripts.d/50-libopus.sh | 2 - scripts.d/50-librist/40-mbedtls.sh | 2 - scripts.d/50-librist/50-librist.sh | 2 - scripts.d/50-libssh.sh | 2 - scripts.d/50-libtheora.sh | 2 - scripts.d/50-libvpx.sh | 2 - scripts.d/50-libwebp.sh | 2 - scripts.d/50-lilv/96-lv2.sh | 2 - scripts.d/50-lilv/96-serd.sh | 2 - scripts.d/50-lilv/96-zix.sh | 2 - scripts.d/50-lilv/97-sord.sh | 2 - scripts.d/50-lilv/98-sratom.sh | 2 - scripts.d/50-lilv/99-lilv.sh | 2 - scripts.d/50-onevpl.sh | 2 - scripts.d/50-openal.sh | 2 - scripts.d/50-opencore-amr.sh | 2 - scripts.d/50-openh264.sh | 2 - scripts.d/50-openjpeg.sh | 2 - scripts.d/50-openmpt.sh | 4 +- scripts.d/50-rav1e.sh | 2 - scripts.d/50-rubberband.sh | 2 - scripts.d/50-schannel.sh | 6 +-- scripts.d/50-sdl.sh | 2 - scripts.d/50-soxr.sh | 2 - scripts.d/50-srt.sh | 2 - scripts.d/50-svtav1.sh | 4 +- scripts.d/50-twolame.sh | 2 - scripts.d/50-uavs3d.sh | 4 +- scripts.d/50-vaapi/30-libpciaccess.sh | 2 - scripts.d/50-vaapi/40-libdrm.sh | 2 - scripts.d/50-vaapi/50-libva.sh | 2 - scripts.d/50-vaapi/99-finalize.sh | 2 +- scripts.d/50-vidstab.sh | 2 - scripts.d/50-vulkan/45-vulkan.sh | 2 - scripts.d/50-vulkan/50-shaderc.sh | 6 +-- scripts.d/50-vulkan/55-spirv-cross.sh | 2 - scripts.d/50-vulkan/60-libplacebo.sh | 6 +-- scripts.d/50-vulkan/99-enable.sh | 2 +- scripts.d/50-x264.sh | 2 - scripts.d/50-x265.sh | 4 +- scripts.d/50-xavs2.sh | 3 +- scripts.d/50-xvid.sh | 4 +- scripts.d/50-zimg.sh | 6 +-- scripts.d/50-zvbi.sh | 6 +-- scripts.d/99-rpath.sh | 6 +-- util/clean_cache.sh | 4 ++ util/dl_functions.sh | 9 ++++ util/get_dl_cache_tag.sh | 4 +- {images/base => util}/run_stage.sh | 13 +++--- util/vars.sh | 17 +------ 116 files changed, 179 insertions(+), 358 deletions(-) create mode 100755 download.sh create mode 100755 util/clean_cache.sh create mode 100644 util/dl_functions.sh rename {images/base => util}/run_stage.sh (74%) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1343a04..85fbb0a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -63,11 +63,8 @@ jobs: id: imagename run: | IMG="${GITHUB_REPOSITORY,,}/base" - DLIMG="${GITHUB_REPOSITORY,,}/dl_cache" echo "name=ghcr.io/${IMG/ /-}" >> $GITHUB_OUTPUT echo "rawname=${IMG/ /-}" >> $GITHUB_OUTPUT - echo "dlname=ghcr.io/${DLIMG/ /-}" >> $GITHUB_OUTPUT - echo "dlrawname=${DLIMG/ /-}" >> $GITHUB_OUTPUT - name: Stop Commands run: T="$(echo -n ${{ github.token }} | sha256sum | head -c 64)" && echo -e "::add-mask::${T}\n::stop-commands::${T}" - name: Build target base image @@ -80,23 +77,22 @@ jobs: tags: ${{ steps.imagename.outputs.name }}:latest cache-to: type=registry,mode=max,ref=${{ steps.imagename.outputs.name }}:cache cache-from: type=registry,ref=${{ steps.imagename.outputs.name }}:cache - - name: Generate download cache Dockerfile + - name: Get download cache key id: dl_cache run: | - ./generate.sh dl only echo "dltagname=$(./util/get_dl_cache_tag.sh)" >> $GITHUB_OUTPUT - cat Dockerfile.dl - - name: Build download cache image - uses: docker/build-push-action@v5 + - name: Cache + uses: actions/cache@v3 with: - context: . - file: Dockerfile.dl - pull: true - push: true - provenance: false - tags: ${{ steps.imagename.outputs.dlname }}:${{ steps.dl_cache.outputs.dltagname }} - cache-to: type=registry,mode=max,ref=${{ steps.imagename.outputs.dlname }}:cache - cache-from: type=registry,ref=${{ steps.imagename.outputs.dlname }}:cache + path: .cache/downloads + key: download-cache-${{ steps.dl_cache.outputs.dltagname }} + restore-keys: | + download-cache- + - name: Update Cache + run: | + set -e + ./download.sh + ./util/clean_cache.sh - name: Cleanup if: ${{ env.HAVE_CLEANUP_PAT == 'true' }} continue-on-error: true @@ -108,18 +104,6 @@ jobs: repository: ${{ github.repository }} owner_type: user untagged_only: true - - name: Cleanup Download Cache - if: ${{ env.HAVE_CLEANUP_PAT == 'true' }} - continue-on-error: true - uses: BtbN/delete-untagged-ghcr-action@main - with: - token: ${{ secrets.CLEANUP_PAT }} - package_name: ${{ steps.imagename.outputs.dlrawname }} - repository_owner: ${{ github.repository_owner }} - repository: ${{ github.repository }} - owner_type: user - untagged_only: false - keep_latest: 20 build_target_bases: name: Build target base image if: ${{ github.event.inputs.buildOnly != 'true' }} @@ -201,16 +185,26 @@ jobs: registry: ghcr.io username: ${{ github.actor }} password: ${{ github.token }} - - name: Generate Dockerfile - run: ./generate.sh ${{ matrix.target }} ${{ matrix.variant }} - name: Image Name id: imagename run: | IMG="${GITHUB_REPOSITORY,,}/${{ matrix.target }}-${{ matrix.variant }}" echo "name=ghcr.io/${IMG/ /-}" >> $GITHUB_OUTPUT echo "rawname=${IMG/ /-}" >> $GITHUB_OUTPUT + - name: Get download cache key + id: dl_cache + run: | + echo "dltagname=$(./util/get_dl_cache_tag.sh)" >> $GITHUB_OUTPUT - name: Stop Commands run: T="$(echo -n ${{ github.token }} | sha256sum | head -c 64)" && echo -e "::add-mask::${T}\n::stop-commands::${T}" + - name: Generate Dockerfile + run: ./generate.sh ${{ matrix.target }} ${{ matrix.variant }} + - name: Cache + uses: actions/cache/restore@v3 + with: + path: .cache/downloads + key: download-cache-${{ steps.dl_cache.outputs.dltagname }} + fail-on-cache-miss: true - name: Build target base image uses: docker/build-push-action@v5 with: diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 5997e5f..30f23ce 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -40,6 +40,17 @@ jobs: with: config: .github/buildkit.toml driver: docker + - name: Get download cache key + id: dl_cache + run: | + echo "dltagname=$(./util/get_dl_cache_tag.sh)" >> $GITHUB_OUTPUT + - name: Cache + uses: actions/cache/restore@v3 + with: + path: .cache/downloads + key: download-cache-${{ steps.dl_cache.outputs.dltagname }} + restore-keys: | + download-cache- - name: Build Image run: ./makeimage.sh ${{ matrix.target }} ${{ matrix.variant }} env: diff --git a/build.sh b/build.sh index 532535a..ed69d1c 100755 --- a/build.sh +++ b/build.sh @@ -46,6 +46,7 @@ docker run --rm -v "$PWD:/uidtestdir" "$IMAGE" touch "/uidtestdir/$TESTFILE" DOCKERUID="$(stat -c "%u" "$TESTFILE")" rm -f "$TESTFILE" [[ "$DOCKERUID" != "$(id -u)" ]] && UIDARGS=( -u "$(id -u):$(id -g)" ) || UIDARGS=() +unset TESTFILE rm -rf ffbuild mkdir ffbuild @@ -76,7 +77,7 @@ EOF [[ -t 1 ]] && TTY_ARG="-t" || TTY_ARG="" -docker run --rm -i $TTY_ARG "${UIDARGS[@]}" -v $PWD/ffbuild:/ffbuild -v "$BUILD_SCRIPT":/build.sh "$IMAGE" bash /build.sh +docker run --rm -i $TTY_ARG "${UIDARGS[@]}" -v "$PWD/ffbuild":/ffbuild -v "$BUILD_SCRIPT":/build.sh "$IMAGE" bash /build.sh mkdir -p artifacts ARTIFACTS_PATH="$PWD/artifacts" diff --git a/download.sh b/download.sh new file mode 100755 index 0000000..33539e3 --- /dev/null +++ b/download.sh @@ -0,0 +1,65 @@ +#!/bin/bash +set -xe +cd "$(dirname "$0")" +source util/vars.sh dl only + +TESTFILE="uidtestfile" +rm -f "$TESTFILE" +docker run --rm -v "$PWD:/uidtestdir" "${REGISTRY}/${REPO}/base:latest" touch "/uidtestdir/$TESTFILE" +DOCKERUID="$(stat -c "%u" "$TESTFILE")" +rm -f "$TESTFILE" +[[ "$DOCKERUID" != "$(id -u)" ]] && UIDARGS=( -u "$(id -u):$(id -g)" ) || UIDARGS=() +unset TESTFILE + +[[ -t 1 ]] && TTY_ARG="-t" || TTY_ARG="" + +DL_SCRIPT_DIR="$(mktemp -d)" +trap "rm -rf -- '$DL_SCRIPT_DIR'" EXIT + +mkdir -p "${PWD}"/.cache/downloads + +for STAGE in scripts.d/*.sh scripts.d/*/*.sh; do + STAGENAME="$(basename "$STAGE" | sed 's/.sh$//')" + + cat <<-EOF >"${DL_SCRIPT_DIR}/${STAGENAME}.sh" + set -xe -o pipefail + shopt -s dotglob + + source /dl_functions.sh + source "/$STAGE" + STG="\$(ffbuild_dockerdl)" + + if [[ -z "\$STG" ]]; then + exit 0 + fi + + DLHASH="\$(sha256sum <<<"\$STG" | cut -d" " -f1)" + DLNAME="$STAGENAME" + + if [[ "$1" == "hashonly" ]]; then + echo "\$DLHASH" + exit 0 + fi + + TGT="/dldir/\${DLNAME}_\${DLHASH}.tar.xz" + if [[ -f "\$TGT" ]]; then + rm -f "/dldir/\${DLNAME}.tar.xz" + ln -s "\${DLNAME}_\${DLHASH}.tar.xz" "/dldir/\${DLNAME}.tar.xz" + exit 0 + fi + + WORKDIR="\$(mktemp -d)" + trap "rm -rf -- '\$WORKDIR'" EXIT + cd "\$WORKDIR" + + eval "\$STG" + + tar cpJf "\$TGT.tmp" . + mv "\$TGT.tmp" "\$TGT" + rm -f "/dldir/\${DLNAME}.tar.xz" + ln -s "\${DLNAME}_\${DLHASH}.tar.xz" "/dldir/\${DLNAME}.tar.xz" + EOF +done + +docker run -i $TTY_ARG --rm "${UIDARGS[@]}" -v "${DL_SCRIPT_DIR}":/stages -v "${PWD}/.cache/downloads":/dldir -v "${PWD}/scripts.d":/scripts.d -v "${PWD}/util/dl_functions.sh":/dl_functions.sh "${REGISTRY}/${REPO}/base:latest" \ + bash -c 'set -xe && for STAGE in /stages/*.sh; do bash $STAGE; done' diff --git a/generate.sh b/generate.sh index c9fda9b..f7d6b18 100755 --- a/generate.sh +++ b/generate.sh @@ -18,49 +18,6 @@ to_df() { echo >> "$_of" } -default_dl() { - to_df "RUN git-mini-clone \"$SCRIPT_REPO\" \"$SCRIPT_COMMIT\" \"$1\"" -} - -### -### Generate download Dockerfile -### - -exec_dockerstage_dl() { - SCRIPT="$1" - ( - SELF="$SCRIPT" - SELFLAYER="$(layername "$STAGE")" - source "$SCRIPT" - ffbuild_dockerdl || exit $? - TODF="Dockerfile.dl.final" ffbuild_dockerlayer_dl || exit $? - ) -} - -export TODF="Dockerfile.dl" - -to_df "FROM ${REGISTRY}/${REPO}/base:latest AS base" -to_df "ENV TARGET=$TARGET VARIANT=$VARIANT REPO=$REPO ADDINS_STR=$ADDINS_STR" -to_df "WORKDIR \$FFBUILD_DLDIR" - -for STAGE in scripts.d/*.sh scripts.d/*/*.sh; do - to_df "FROM base AS $(layername "$STAGE")" - exec_dockerstage_dl "$STAGE" -done - -to_df "FROM base AS intermediate" -cat Dockerfile.dl.final >> "$TODF" -rm Dockerfile.dl.final - -to_df "FROM scratch" -to_df "COPY --from=intermediate /opt/ffdl/. /" - -if [[ "$TARGET" == "dl" && "$VARIANT" == "only" ]]; then - exit 0 -fi - -DL_IMAGE="${DL_IMAGE_RAW}:$(./util/get_dl_cache_tag.sh)" - ### ### Generate main Dockerfile ### @@ -69,11 +26,23 @@ exec_dockerstage() { SCRIPT="$1" ( SELF="$SCRIPT" + STAGENAME="$(basename "$SCRIPT" | sed 's/.sh$//')" + source util/dl_functions.sh source "$SCRIPT" ffbuild_enabled || exit 0 - to_df "ENV SELF=\"$SELF\"" + to_df "ENV SELF=\"$SELF\" STAGENAME=\"$STAGENAME\"" + + set -x + + STG="$(ffbuild_dockerdl)" + if [[ -n "$STG" ]]; then + HASH="$(sha256sum <<<"$STG" | cut -d" " -f1)" + to_df "ADD .cache/downloads/${STAGENAME}_${HASH}.tar.xz /${STAGENAME}" + to_df "WORKDIR /${STAGENAME}" + fi + ffbuild_dockerstage || exit $? ) } @@ -82,6 +51,7 @@ export TODF="Dockerfile" to_df "FROM ${REGISTRY}/${REPO}/base-${TARGET}:latest AS base" to_df "ENV TARGET=$TARGET VARIANT=$VARIANT REPO=$REPO ADDINS_STR=$ADDINS_STR" +to_df "COPY util/run_stage.sh /usr/bin/run_stage" for addin in "${ADDINS[@]}"; do ( diff --git a/images/base/Dockerfile b/images/base/Dockerfile index 9725cf4..cbc9ade 100644 --- a/images/base/Dockerfile +++ b/images/base/Dockerfile @@ -1,10 +1,7 @@ FROM ubuntu:23.04 -ENV FFBUILD_DLDIR="/opt/ffdl" - ENV DEBIAN_FRONTEND noninteractive RUN \ - mkdir -p "$FFBUILD_DLDIR" && \ apt-get -y update && \ apt-get -y dist-upgrade && \ apt-get -y install build-essential yasm nasm \ diff --git a/images/base/retry-tool.sh b/images/base/retry-tool.sh index 75c8b8d..8845355 100755 --- a/images/base/retry-tool.sh +++ b/images/base/retry-tool.sh @@ -1,11 +1,11 @@ #!/bin/bash -set -xe +set -xe -o pipefail RETRY_COUNTER=0 MAX_RETRY=10 CUR_TIMEOUT=120 while [[ $RETRY_COUNTER -lt $MAX_RETRY ]]; do - timeout $CUR_TIMEOUT "$@" && break || sleep $(shuf -i 5-90 -n 1) + (timeout $CUR_TIMEOUT "$@") && break || sleep $(shuf -i 5-90 -n 1) RETRY_COUNTER=$(( $RETRY_COUNTER + 1 )) CUR_TIMEOUT=$(( $CUR_TIMEOUT + 60 )) echo "Retry $RETRY_COUNTER..." diff --git a/makeimage.sh b/makeimage.sh index 2b73e37..cd4e81d 100755 --- a/makeimage.sh +++ b/makeimage.sh @@ -23,8 +23,6 @@ docker container inspect ffbuildreg &>/dev/null || \ LOCAL_REG_PORT="$(docker container inspect --format='{{range $p, $conf := .NetworkSettings.Ports}}{{(index $conf 0).HostPort}}{{end}}' ffbuildreg)" LOCAL_ROOT="127.0.0.1:${LOCAL_REG_PORT}/local" -export REGISTRY_OVERRIDE_DL="127.0.0.1:${LOCAL_REG_PORT}" GITHUB_REPOSITORY_DL="local" - if [[ -z "$QUICKBUILD" ]]; then if grep "FROM.*base.*" "images/base-${TARGET}/Dockerfile" >/dev/null 2>&1; then docker buildx --builder ffbuilder build \ @@ -39,24 +37,11 @@ if [[ -z "$QUICKBUILD" ]]; then --push --tag "${LOCAL_ROOT}/base-${TARGET}:latest" \ --build-arg GH_REPO="$LOCAL_ROOT" "images/base-${TARGET}" - export REGISTRY_OVERRIDE="$REGISTRY_OVERRIDE_DL" GITHUB_REPOSITORY="$GITHUB_REPOSITORY_DL" + export REGISTRY_OVERRIDE="127.0.0.1:${LOCAL_REG_PORT}" GITHUB_REPOSITORY="local" fi +./download.sh ./generate.sh "$TARGET" "$VARIANT" "${ADDINS[@]}" -DL_CACHE_TAG="$(./util/get_dl_cache_tag.sh)" -DL_IMAGE="${DL_IMAGE_RAW}:${DL_CACHE_TAG}" - -if docker pull "${DL_IMAGE}"; then - export REGISTRY_OVERRIDE_DL="$REGISTRY" GITHUB_REPOSITORY_DL="$REPO" - ./generate.sh "$TARGET" "$VARIANT" "${ADDINS[@]}" -else - DL_IMAGE="${LOCAL_ROOT}/dl_cache:${DL_CACHE_TAG}" - docker manifest inspect --insecure "${DL_IMAGE}" >/dev/null || - docker buildx --builder ffbuilder build -f Dockerfile.dl \ - --cache-from=type=local,src=.cache/dl_image_cache \ - --cache-to=type=local,mode=max,dest=.cache/dl_image_cache \ - --push --tag "${DL_IMAGE}" . -fi docker buildx --builder ffbuilder build \ --cache-from=type=local,src=.cache/"${IMAGE/:/_}" \ diff --git a/scripts.d/10-mingw-std-threads.sh b/scripts.d/10-mingw-std-threads.sh index 135a614..a856a82 100755 --- a/scripts.d/10-mingw-std-threads.sh +++ b/scripts.d/10-mingw-std-threads.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir -p "$FFBUILD_PREFIX"/include cp *.h "$FFBUILD_PREFIX"/include } diff --git a/scripts.d/10-mingw.sh b/scripts.d/10-mingw.sh index e6a1c17..ee56fd1 100755 --- a/scripts.d/10-mingw.sh +++ b/scripts.d/10-mingw.sh @@ -18,12 +18,10 @@ ffbuild_dockerfinal() { } ffbuild_dockerdl() { - to_df "RUN retry-tool sh -c \"rm -rf mingw && git clone '$SCRIPT_REPO' mingw\" && cd mingw && git checkout \"$SCRIPT_COMMIT\"" + echo "retry-tool sh -c \"rm -rf mingw && git clone '$SCRIPT_REPO' mingw\" && cd mingw && git checkout \"$SCRIPT_COMMIT\"" } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/mingw" - cd mingw-w64-headers unset CFLAGS diff --git a/scripts.d/10-xorg-macros.sh b/scripts.d/10-xorg-macros.sh index d336ff1..845dbd2 100755 --- a/scripts.d/10-xorg-macros.sh +++ b/scripts.d/10-xorg-macros.sh @@ -14,8 +14,6 @@ ffbuild_dockerlayer() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - autoreconf -i ./configure --prefix="$FFBUILD_PREFIX" make -j"$(nproc)" diff --git a/scripts.d/20-libiconv.sh b/scripts.d/20-libiconv.sh index 583d75b..e260524 100755 --- a/scripts.d/20-libiconv.sh +++ b/scripts.d/20-libiconv.sh @@ -8,13 +8,11 @@ ffbuild_enabled() { } ffbuild_dockerdl() { - to_df "RUN retry-tool sh -c \"rm -rf $SELF && git clone '$SCRIPT_REPO' $SELF\" && git -C $SELF checkout \"$SCRIPT_COMMIT\"" - to_df "RUN cd $SELF && retry-tool ./autopull.sh --one-time" + echo "retry-tool sh -c \"rm -rf iconv && git clone '$SCRIPT_REPO' iconv\" && git -C iconv checkout \"$SCRIPT_COMMIT\"" + echo "cd iconv && retry-tool ./autopull.sh --one-time" } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - (unset CC CFLAGS GMAKE && ./autogen.sh) local myconf=( diff --git a/scripts.d/20-libxml2.sh b/scripts.d/20-libxml2.sh index c7a682a..8c6c7b2 100755 --- a/scripts.d/20-libxml2.sh +++ b/scripts.d/20-libxml2.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - local myconf=( --prefix="$FFBUILD_PREFIX" --without-python diff --git a/scripts.d/20-zlib.sh b/scripts.d/20-zlib.sh index ed01906..ec80ec0 100755 --- a/scripts.d/20-zlib.sh +++ b/scripts.d/20-zlib.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - local myconf=( --prefix="$FFBUILD_PREFIX" --static diff --git a/scripts.d/25-fftw3.sh b/scripts.d/25-fftw3.sh index 23d7045..2193867 100755 --- a/scripts.d/25-fftw3.sh +++ b/scripts.d/25-fftw3.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - local myconf=( --prefix="$FFBUILD_PREFIX" --enable-maintainer-mode diff --git a/scripts.d/25-freetype.sh b/scripts.d/25-freetype.sh index 82f7a79..ea8418d 100755 --- a/scripts.d/25-freetype.sh +++ b/scripts.d/25-freetype.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - ./autogen.sh local myconf=( diff --git a/scripts.d/25-fribidi.sh b/scripts.d/25-fribidi.sh index faaccde..6c32774 100755 --- a/scripts.d/25-fribidi.sh +++ b/scripts.d/25-fribidi.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build local myconf=( diff --git a/scripts.d/25-gmp.sh b/scripts.d/25-gmp.sh index e300824..d73a714 100755 --- a/scripts.d/25-gmp.sh +++ b/scripts.d/25-gmp.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - ./.bootstrap local myconf=( diff --git a/scripts.d/25-libogg.sh b/scripts.d/25-libogg.sh index 066f8fa..a42e13f 100755 --- a/scripts.d/25-libogg.sh +++ b/scripts.d/25-libogg.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - ./autogen.sh local myconf=( diff --git a/scripts.d/25-openssl.sh b/scripts.d/25-openssl.sh index 2fe6615..b259f8f 100755 --- a/scripts.d/25-openssl.sh +++ b/scripts.d/25-openssl.sh @@ -9,13 +9,11 @@ ffbuild_enabled() { } ffbuild_dockerdl() { - default_dl "$SELF" - to_df "RUN git -C \"$SELF\" submodule update --init --recursive --depth=1" + default_dl . + echo "git submodule update --init --recursive --depth=1" } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - local myconf=( threads zlib diff --git a/scripts.d/25-xz.sh b/scripts.d/25-xz.sh index c667606..02b15ef 100755 --- a/scripts.d/25-xz.sh +++ b/scripts.d/25-xz.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - ./autogen.sh --no-po4a --no-doxygen local myconf=( diff --git a/scripts.d/35-fontconfig.sh b/scripts.d/35-fontconfig.sh index 3a5b369..d3dfde8 100755 --- a/scripts.d/35-fontconfig.sh +++ b/scripts.d/35-fontconfig.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - ./autogen.sh --noconf local myconf=( diff --git a/scripts.d/45-harfbuzz.sh b/scripts.d/45-harfbuzz.sh index 87150d2..093484f 100755 --- a/scripts.d/45-harfbuzz.sh +++ b/scripts.d/45-harfbuzz.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - local myconf=( --prefix="$FFBUILD_PREFIX" --disable-shared diff --git a/scripts.d/45-libsamplerate.sh b/scripts.d/45-libsamplerate.sh index a4b39ee..3881a33 100755 --- a/scripts.d/45-libsamplerate.sh +++ b/scripts.d/45-libsamplerate.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build cd build diff --git a/scripts.d/45-libudfread.sh b/scripts.d/45-libudfread.sh index 58b5780..f140614 100755 --- a/scripts.d/45-libudfread.sh +++ b/scripts.d/45-libudfread.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - ./bootstrap local myconf=( diff --git a/scripts.d/45-libvorbis.sh b/scripts.d/45-libvorbis.sh index 4b5cde8..95ac9f1 100755 --- a/scripts.d/45-libvorbis.sh +++ b/scripts.d/45-libvorbis.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - ./autogen.sh local myconf=( diff --git a/scripts.d/45-opencl.sh b/scripts.d/45-opencl.sh index 02ddb04..d157d4f 100755 --- a/scripts.d/45-opencl.sh +++ b/scripts.d/45-opencl.sh @@ -11,13 +11,11 @@ ffbuild_enabled() { } ffbuild_dockerdl() { - default_dl opencl/headers - to_df "RUN git-mini-clone \"$SCRIPT_REPO2\" \"$SCRIPT_COMMIT2\" opencl/loader" + default_dl headers + echo "git-mini-clone \"$SCRIPT_REPO2\" \"$SCRIPT_COMMIT2\" loader" } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR"/opencl - mkdir -p "$FFBUILD_PREFIX"/include/CL cp -r headers/CL/* "$FFBUILD_PREFIX"/include/CL/. diff --git a/scripts.d/45-pulseaudio.sh b/scripts.d/45-pulseaudio.sh index e57dc94..a71e2b8 100755 --- a/scripts.d/45-pulseaudio.sh +++ b/scripts.d/45-pulseaudio.sh @@ -9,12 +9,10 @@ ffbuild_enabled() { } ffbuild_dockerdl() { - to_df "RUN git clone --filter=blob:none \"$SCRIPT_REPO\" \"$SELF\" && git -C \"$SELF\" checkout \"$SCRIPT_COMMIT\"" + echo "git clone --filter=blob:none \"$SCRIPT_REPO\" . && git checkout \"$SCRIPT_COMMIT\"" } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - # Kill build of utils and their sndfile dep echo > src/utils/meson.build echo > src/pulsecore/sndfile-util.c diff --git a/scripts.d/45-vmaf.sh b/scripts.d/45-vmaf.sh index f7abe22..809cfe4 100755 --- a/scripts.d/45-vmaf.sh +++ b/scripts.d/45-vmaf.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - # Kill build of unused and broken tools echo > libvmaf/tools/meson.build diff --git a/scripts.d/45-x11/10-xcbproto.sh b/scripts.d/45-x11/10-xcbproto.sh index 8fd2651..6434574 100755 --- a/scripts.d/45-x11/10-xcbproto.sh +++ b/scripts.d/45-x11/10-xcbproto.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - autoreconf -i local myconf=( diff --git a/scripts.d/45-x11/10-xproto.sh b/scripts.d/45-x11/10-xproto.sh index d808441..7b02698 100755 --- a/scripts.d/45-x11/10-xproto.sh +++ b/scripts.d/45-x11/10-xproto.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - autoreconf -i local myconf=( diff --git a/scripts.d/45-x11/10-xtrans.sh b/scripts.d/45-x11/10-xtrans.sh index 02b406c..4a3905a 100755 --- a/scripts.d/45-x11/10-xtrans.sh +++ b/scripts.d/45-x11/10-xtrans.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - autoreconf -i local myconf=( diff --git a/scripts.d/45-x11/20-libxau.sh b/scripts.d/45-x11/20-libxau.sh index 3c87207..1b66d68 100755 --- a/scripts.d/45-x11/20-libxau.sh +++ b/scripts.d/45-x11/20-libxau.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - autoreconf -i local myconf=( diff --git a/scripts.d/45-x11/30-libxcb.sh b/scripts.d/45-x11/30-libxcb.sh index eb66e75..039a791 100755 --- a/scripts.d/45-x11/30-libxcb.sh +++ b/scripts.d/45-x11/30-libxcb.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - autoreconf -i local myconf=( diff --git a/scripts.d/45-x11/40-libx11.sh b/scripts.d/45-x11/40-libx11.sh index a241f4d..2cde5a3 100755 --- a/scripts.d/45-x11/40-libx11.sh +++ b/scripts.d/45-x11/40-libx11.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - autoreconf -i local myconf=( diff --git a/scripts.d/45-x11/50-libxext.sh b/scripts.d/45-x11/50-libxext.sh index 17fff75..f7e6165 100755 --- a/scripts.d/45-x11/50-libxext.sh +++ b/scripts.d/45-x11/50-libxext.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - autoreconf -i local myconf=( diff --git a/scripts.d/45-x11/50-libxfixes.sh b/scripts.d/45-x11/50-libxfixes.sh index 80fa4dd..7299fc0 100755 --- a/scripts.d/45-x11/50-libxfixes.sh +++ b/scripts.d/45-x11/50-libxfixes.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - autoreconf -i local myconf=( diff --git a/scripts.d/45-x11/50-libxi.sh b/scripts.d/45-x11/50-libxi.sh index fcb13b5..b0596da 100755 --- a/scripts.d/45-x11/50-libxi.sh +++ b/scripts.d/45-x11/50-libxi.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - autoreconf -i local myconf=( diff --git a/scripts.d/45-x11/50-libxinerama.sh b/scripts.d/45-x11/50-libxinerama.sh index 6f24a94..abb7e07 100755 --- a/scripts.d/45-x11/50-libxinerama.sh +++ b/scripts.d/45-x11/50-libxinerama.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - autoreconf -i local myconf=( diff --git a/scripts.d/45-x11/50-libxrender.sh b/scripts.d/45-x11/50-libxrender.sh index 165ac41..43f9538 100755 --- a/scripts.d/45-x11/50-libxrender.sh +++ b/scripts.d/45-x11/50-libxrender.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - autoreconf -i local myconf=( diff --git a/scripts.d/45-x11/50-libxscrnsaver.sh b/scripts.d/45-x11/50-libxscrnsaver.sh index fec2cab..f20c892 100755 --- a/scripts.d/45-x11/50-libxscrnsaver.sh +++ b/scripts.d/45-x11/50-libxscrnsaver.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - autoreconf -i local myconf=( diff --git a/scripts.d/45-x11/50-libxxf86vm.sh b/scripts.d/45-x11/50-libxxf86vm.sh index 72dd8fa..145fd52 100755 --- a/scripts.d/45-x11/50-libxxf86vm.sh +++ b/scripts.d/45-x11/50-libxxf86vm.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - autoreconf -i local myconf=( diff --git a/scripts.d/45-x11/60-libglvnd.sh b/scripts.d/45-x11/60-libglvnd.sh index 5e789be..5f77aa5 100755 --- a/scripts.d/45-x11/60-libglvnd.sh +++ b/scripts.d/45-x11/60-libglvnd.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build local myconf=( diff --git a/scripts.d/45-x11/60-libxcursor.sh b/scripts.d/45-x11/60-libxcursor.sh index e4ea96d..aaa7cc8 100755 --- a/scripts.d/45-x11/60-libxcursor.sh +++ b/scripts.d/45-x11/60-libxcursor.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - autoreconf -i local myconf=( diff --git a/scripts.d/45-x11/60-libxrandr.sh b/scripts.d/45-x11/60-libxrandr.sh index 002f3f7..b582bcc 100755 --- a/scripts.d/45-x11/60-libxrandr.sh +++ b/scripts.d/45-x11/60-libxrandr.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - autoreconf -i local myconf=( diff --git a/scripts.d/45-x11/60-libxv.sh b/scripts.d/45-x11/60-libxv.sh index 980490e..aa7bddf 100755 --- a/scripts.d/45-x11/60-libxv.sh +++ b/scripts.d/45-x11/60-libxv.sh @@ -10,8 +10,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - autoreconf -i local myconf=( diff --git a/scripts.d/50-amf.sh b/scripts.d/50-amf.sh index e078b5b..151dbb1 100755 --- a/scripts.d/50-amf.sh +++ b/scripts.d/50-amf.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir -p "$FFBUILD_PREFIX"/include mv amf/public/include "$FFBUILD_PREFIX"/include/AMF } diff --git a/scripts.d/50-aom.sh b/scripts.d/50-aom.sh index 65574c2..da0e955 100755 --- a/scripts.d/50-aom.sh +++ b/scripts.d/50-aom.sh @@ -8,12 +8,10 @@ ffbuild_enabled() { } ffbuild_dockerstage() { - to_df "RUN --mount=src=${SELF},dst=/stage.sh --mount=src=/,dst=\$FFBUILD_DLDIR,from=${DL_IMAGE},rw --mount=src=patches/aom,dst=/patches run_stage /stage.sh" + to_df "RUN --mount=src=${SELF},dst=/stage.sh --mount=src=patches/aom,dst=/patches run_stage /stage.sh" } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - for patch in /patches/*.patch; do echo "Applying $patch" git am < "$patch" diff --git a/scripts.d/50-aribb24/25-libpng.sh b/scripts.d/50-aribb24/25-libpng.sh index f0515fb..2088070 100755 --- a/scripts.d/50-aribb24/25-libpng.sh +++ b/scripts.d/50-aribb24/25-libpng.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - autoreconf -i local myconf=( diff --git a/scripts.d/50-aribb24/50-libaribb24.sh b/scripts.d/50-aribb24/50-libaribb24.sh index c032178..8a14531 100755 --- a/scripts.d/50-aribb24/50-libaribb24.sh +++ b/scripts.d/50-aribb24/50-libaribb24.sh @@ -8,12 +8,10 @@ ffbuild_enabled() { } ffbuild_dockerstage() { - to_df "RUN --mount=src=${SELF},dst=/stage.sh --mount=src=/,dst=\$FFBUILD_DLDIR,from=${DL_IMAGE},rw --mount=src=patches/aribb24,dst=/patches run_stage /stage.sh" + to_df "RUN --mount=src=${SELF},dst=/stage.sh --mount=src=patches/aribb24,dst=/patches run_stage /stage.sh" } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - for patch in /patches/*.patch; do echo "Applying $patch" git am < "$patch" diff --git a/scripts.d/50-avisynth.sh b/scripts.d/50-avisynth.sh index 64d43be..e55ac5f 100755 --- a/scripts.d/50-avisynth.sh +++ b/scripts.d/50-avisynth.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - # their version check is insistant on a tag to exist, so make one git tag -a ffbuild -m "FFbuild Version" diff --git a/scripts.d/50-chromaprint.sh b/scripts.d/50-chromaprint.sh index cdec6d4..5812d76 100755 --- a/scripts.d/50-chromaprint.sh +++ b/scripts.d/50-chromaprint.sh @@ -12,8 +12,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DBUILD_SHARED_LIBS=OFF -DBUILD_TOOLS=OFF -DBUILD_TESTS=OFF -DFFT_LIB=fftw3 .. diff --git a/scripts.d/50-dav1d.sh b/scripts.d/50-dav1d.sh index a1233a2..0a32923 100755 --- a/scripts.d/50-dav1d.sh +++ b/scripts.d/50-dav1d.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build local myconf=( diff --git a/scripts.d/50-davs2.sh b/scripts.d/50-davs2.sh index 1e4cd15..11b1d24 100755 --- a/scripts.d/50-davs2.sh +++ b/scripts.d/50-davs2.sh @@ -12,11 +12,11 @@ ffbuild_enabled() { } ffbuild_dockerdl() { - to_df "RUN git clone \"$SCRIPT_REPO\" \"$SELF\" && git -C \"$SELF\" checkout \"$SCRIPT_COMMIT\"" + default_dl . + echo "git fetch --unshallow" } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" cd build/linux local myconf=( diff --git a/scripts.d/50-fdk-aac.sh b/scripts.d/50-fdk-aac.sh index 26d887a..e7d7875 100755 --- a/scripts.d/50-fdk-aac.sh +++ b/scripts.d/50-fdk-aac.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - ./autogen.sh local myconf=( diff --git a/scripts.d/50-ffnvcodec.sh b/scripts.d/50-ffnvcodec.sh index 439c2f8..3507fd4 100755 --- a/scripts.d/50-ffnvcodec.sh +++ b/scripts.d/50-ffnvcodec.sh @@ -14,14 +14,14 @@ ffbuild_enabled() { ffbuild_dockerdl() { default_dl ffnvcodec - to_df "RUN git-mini-clone \"$SCRIPT_REPO2\" \"$SCRIPT_COMMIT2\" ffnvcodec2" + echo "git-mini-clone \"$SCRIPT_REPO2\" \"$SCRIPT_COMMIT2\" ffnvcodec2" } ffbuild_dockerbuild() { if [[ $ADDINS_STR == *4.4* || $ADDINS_STR == *5.0* || $ADDINS_STR == *5.1* ]]; then - cd "$FFBUILD_DLDIR"/ffnvcodec2 + cd ffnvcodec2 else - cd "$FFBUILD_DLDIR"/ffnvcodec + cd ffnvcodec fi make PREFIX="$FFBUILD_PREFIX" install diff --git a/scripts.d/50-frei0r.sh b/scripts.d/50-frei0r.sh index 554d5a6..acd523f 100755 --- a/scripts.d/50-frei0r.sh +++ b/scripts.d/50-frei0r.sh @@ -10,8 +10,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" .. diff --git a/scripts.d/50-gme.sh b/scripts.d/50-gme.sh index 35fcc15..64e2e6a 100755 --- a/scripts.d/50-gme.sh +++ b/scripts.d/50-gme.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DCMAKE_DISABLE_FIND_PACKAGE_SDL2=1 -DBUILD_SHARED_LIBS=OFF -DENABLE_UBSAN=OFF .. diff --git a/scripts.d/50-kvazaar.sh b/scripts.d/50-kvazaar.sh index 46f8fca..861fc27 100755 --- a/scripts.d/50-kvazaar.sh +++ b/scripts.d/50-kvazaar.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - ./autogen.sh local myconf=( diff --git a/scripts.d/50-libaribcaption.sh b/scripts.d/50-libaribcaption.sh index 5071166..a3d9123 100755 --- a/scripts.d/50-libaribcaption.sh +++ b/scripts.d/50-libaribcaption.sh @@ -13,8 +13,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build cd build diff --git a/scripts.d/50-libass.sh b/scripts.d/50-libass.sh index 8c42b9b..23b30ce 100755 --- a/scripts.d/50-libass.sh +++ b/scripts.d/50-libass.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - ./autogen.sh local myconf=( diff --git a/scripts.d/50-libbluray.sh b/scripts.d/50-libbluray.sh index 8d23987..c7f9c9e 100755 --- a/scripts.d/50-libbluray.sh +++ b/scripts.d/50-libbluray.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - ./bootstrap local myconf=( diff --git a/scripts.d/50-libjxl/45-brotli.sh b/scripts.d/50-libjxl/45-brotli.sh index 6e833c0..22e099c 100755 --- a/scripts.d/50-libjxl/45-brotli.sh +++ b/scripts.d/50-libjxl/45-brotli.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" \ diff --git a/scripts.d/50-libjxl/45-lcms2.sh b/scripts.d/50-libjxl/45-lcms2.sh index 4d0b83b..a4239af 100755 --- a/scripts.d/50-libjxl/45-lcms2.sh +++ b/scripts.d/50-libjxl/45-lcms2.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build local myconf=( diff --git a/scripts.d/50-libjxl/50-libjxl.sh b/scripts.d/50-libjxl/50-libjxl.sh index c7ee408..83cf6d2 100755 --- a/scripts.d/50-libjxl/50-libjxl.sh +++ b/scripts.d/50-libjxl/50-libjxl.sh @@ -12,13 +12,11 @@ ffbuild_enabled() { } ffbuild_dockerdl() { - default_dl "$SELF" - to_df "RUN git -C \"$SELF\" submodule update --init --recursive --depth 1 --recommend-shallow third_party/highway" + default_dl . + echo "git submodule update --init --recursive --depth 1 --recommend-shallow third_party/highway" } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build if [[ $TARGET == linux* ]]; then diff --git a/scripts.d/50-libmp3lame.sh b/scripts.d/50-libmp3lame.sh index e51bec7..0119ea3 100755 --- a/scripts.d/50-libmp3lame.sh +++ b/scripts.d/50-libmp3lame.sh @@ -8,12 +8,10 @@ ffbuild_enabled() { } ffbuild_dockerdl() { - to_df "RUN retry-tool sh -c \"rm -rf lame && svn checkout '${SCRIPT_REPO}@${SCRIPT_REV}' lame\"" + echo "retry-tool sh -c \"rm -rf lame && svn checkout '${SCRIPT_REPO}@${SCRIPT_REV}' lame\" && cd lame" } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR"/lame - autoreconf -i local myconf=( diff --git a/scripts.d/50-libopus.sh b/scripts.d/50-libopus.sh index 5bb58d1..8d11421 100755 --- a/scripts.d/50-libopus.sh +++ b/scripts.d/50-libopus.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - ./autogen.sh local myconf=( diff --git a/scripts.d/50-librist/40-mbedtls.sh b/scripts.d/50-librist/40-mbedtls.sh index d45a278..924c75f 100755 --- a/scripts.d/50-librist/40-mbedtls.sh +++ b/scripts.d/50-librist/40-mbedtls.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - if [[ $TARGET == win32 ]]; then python3 scripts/config.py unset MBEDTLS_AESNI_C fi diff --git a/scripts.d/50-librist/50-librist.sh b/scripts.d/50-librist/50-librist.sh index 16d10cc..4955fd3 100755 --- a/scripts.d/50-librist/50-librist.sh +++ b/scripts.d/50-librist/50-librist.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build local myconf=( diff --git a/scripts.d/50-libssh.sh b/scripts.d/50-libssh.sh index 8f19dbd..2176362 100755 --- a/scripts.d/50-libssh.sh +++ b/scripts.d/50-libssh.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build cmake -GNinja -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" \ diff --git a/scripts.d/50-libtheora.sh b/scripts.d/50-libtheora.sh index 79b7603..9e6a12d 100755 --- a/scripts.d/50-libtheora.sh +++ b/scripts.d/50-libtheora.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - ./autogen.sh local myconf=( diff --git a/scripts.d/50-libvpx.sh b/scripts.d/50-libvpx.sh index bea461f..e0d391f 100755 --- a/scripts.d/50-libvpx.sh +++ b/scripts.d/50-libvpx.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - local myconf=( --disable-shared --enable-static diff --git a/scripts.d/50-libwebp.sh b/scripts.d/50-libwebp.sh index 8c2757a..04f960f 100755 --- a/scripts.d/50-libwebp.sh +++ b/scripts.d/50-libwebp.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - ./autogen.sh local myconf=( diff --git a/scripts.d/50-lilv/96-lv2.sh b/scripts.d/50-lilv/96-lv2.sh index 9a85a98..cbd7853 100755 --- a/scripts.d/50-lilv/96-lv2.sh +++ b/scripts.d/50-lilv/96-lv2.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build local myconf=( diff --git a/scripts.d/50-lilv/96-serd.sh b/scripts.d/50-lilv/96-serd.sh index 0ccd030..eca5d17 100755 --- a/scripts.d/50-lilv/96-serd.sh +++ b/scripts.d/50-lilv/96-serd.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build local myconf=( diff --git a/scripts.d/50-lilv/96-zix.sh b/scripts.d/50-lilv/96-zix.sh index 257b004..40ee123 100755 --- a/scripts.d/50-lilv/96-zix.sh +++ b/scripts.d/50-lilv/96-zix.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build local myconf=( diff --git a/scripts.d/50-lilv/97-sord.sh b/scripts.d/50-lilv/97-sord.sh index 95c32af..3608187 100755 --- a/scripts.d/50-lilv/97-sord.sh +++ b/scripts.d/50-lilv/97-sord.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build local myconf=( diff --git a/scripts.d/50-lilv/98-sratom.sh b/scripts.d/50-lilv/98-sratom.sh index f29bddc..af85d35 100755 --- a/scripts.d/50-lilv/98-sratom.sh +++ b/scripts.d/50-lilv/98-sratom.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build local myconf=( diff --git a/scripts.d/50-lilv/99-lilv.sh b/scripts.d/50-lilv/99-lilv.sh index d4e8926..675faf2 100755 --- a/scripts.d/50-lilv/99-lilv.sh +++ b/scripts.d/50-lilv/99-lilv.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build local myconf=( diff --git a/scripts.d/50-onevpl.sh b/scripts.d/50-onevpl.sh index 582c9a0..60ca4a1 100755 --- a/scripts.d/50-onevpl.sh +++ b/scripts.d/50-onevpl.sh @@ -12,8 +12,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build cmake -GNinja -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" \ diff --git a/scripts.d/50-openal.sh b/scripts.d/50-openal.sh index 0ff7449..9591f57 100755 --- a/scripts.d/50-openal.sh +++ b/scripts.d/50-openal.sh @@ -11,8 +11,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir cm_build && cd cm_build cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" \ diff --git a/scripts.d/50-opencore-amr.sh b/scripts.d/50-opencore-amr.sh index 02309a4..179a10b 100755 --- a/scripts.d/50-opencore-amr.sh +++ b/scripts.d/50-opencore-amr.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - autoreconf -i local myconf=( diff --git a/scripts.d/50-openh264.sh b/scripts.d/50-openh264.sh index 555d5ff..8462df2 100755 --- a/scripts.d/50-openh264.sh +++ b/scripts.d/50-openh264.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - local myconf=( PREFIX="$FFBUILD_PREFIX" INCLUDE_PREFIX="$FFBUILD_PREFIX"/include/wels diff --git a/scripts.d/50-openjpeg.sh b/scripts.d/50-openjpeg.sh index 18613ca..d2f491b 100755 --- a/scripts.d/50-openjpeg.sh +++ b/scripts.d/50-openjpeg.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DBUILD_SHARED_LIBS=OFF -DBUILD_PKGCONFIG_FILES=ON -DBUILD_CODEC=OFF -DWITH_ASTYLE=OFF -DBUILD_TESTING=OFF .. diff --git a/scripts.d/50-openmpt.sh b/scripts.d/50-openmpt.sh index cc2b85d..c6e3cff 100755 --- a/scripts.d/50-openmpt.sh +++ b/scripts.d/50-openmpt.sh @@ -8,12 +8,10 @@ ffbuild_enabled() { } ffbuild_dockerdl() { - to_df "RUN retry-tool sh -c \"rm -rf openmpt && svn checkout '${SCRIPT_REPO}@${SCRIPT_REV}' openmpt\"" + echo "retry-tool sh -c \"rm -rf openmpt && svn checkout '${SCRIPT_REPO}@${SCRIPT_REV}' openmpt\" && cd openmpt" } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR"/openmpt - local myconf=( PREFIX="$FFBUILD_PREFIX" CXXSTDLIB_PCLIBSPRIVATE="-lstdc++" diff --git a/scripts.d/50-rav1e.sh b/scripts.d/50-rav1e.sh index f1c440b..1b1dc1f 100755 --- a/scripts.d/50-rav1e.sh +++ b/scripts.d/50-rav1e.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - local myconf=( --prefix="$FFBUILD_PREFIX" --library-type=staticlib diff --git a/scripts.d/50-rubberband.sh b/scripts.d/50-rubberband.sh index 22fbedb..a635d4a 100755 --- a/scripts.d/50-rubberband.sh +++ b/scripts.d/50-rubberband.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build local myconf=( diff --git a/scripts.d/50-schannel.sh b/scripts.d/50-schannel.sh index 2ea5efa..5fd37c6 100755 --- a/scripts.d/50-schannel.sh +++ b/scripts.d/50-schannel.sh @@ -7,7 +7,7 @@ ffbuild_enabled() { } ffbuild_dockerdl() { - return 0 + true } ffbuild_dockerstage() { @@ -18,10 +18,6 @@ ffbuild_dockerbuild() { return 0 } -ffbuild_dockerlayer_dl() { - return 0 -} - ffbuild_configure() { echo --enable-schannel } diff --git a/scripts.d/50-sdl.sh b/scripts.d/50-sdl.sh index 9433bbb..39fb19a 100755 --- a/scripts.d/50-sdl.sh +++ b/scripts.d/50-sdl.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build local mycmake=( diff --git a/scripts.d/50-soxr.sh b/scripts.d/50-soxr.sh index f3651aa..0269d86 100755 --- a/scripts.d/50-soxr.sh +++ b/scripts.d/50-soxr.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DWITH_OPENMP=ON -DBUILD_TESTS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF .. diff --git a/scripts.d/50-srt.sh b/scripts.d/50-srt.sh index 9a037d8..c8e8913 100755 --- a/scripts.d/50-srt.sh +++ b/scripts.d/50-srt.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" \ diff --git a/scripts.d/50-svtav1.sh b/scripts.d/50-svtav1.sh index 42f873c..6bc3705 100755 --- a/scripts.d/50-svtav1.sh +++ b/scripts.d/50-svtav1.sh @@ -9,12 +9,10 @@ ffbuild_enabled() { } ffbuild_dockerdl() { - to_df "RUN git clone \"$SCRIPT_REPO\" \"$SELF\" && git -C \"$SELF\" checkout \"$SCRIPT_COMMIT\"" + echo "git clone \"$SCRIPT_REPO\" . && git checkout \"$SCRIPT_COMMIT\"" } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTING=OFF -DBUILD_APPS=OFF -DENABLE_AVX512=ON .. diff --git a/scripts.d/50-twolame.sh b/scripts.d/50-twolame.sh index 8e8a60b..facb2ae 100755 --- a/scripts.d/50-twolame.sh +++ b/scripts.d/50-twolame.sh @@ -8,8 +8,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - NOCONFIGURE=1 ./autogen.sh touch doc/twolame.1 diff --git a/scripts.d/50-uavs3d.sh b/scripts.d/50-uavs3d.sh index 38e56bd..e0b1e4c 100755 --- a/scripts.d/50-uavs3d.sh +++ b/scripts.d/50-uavs3d.sh @@ -9,12 +9,10 @@ ffbuild_enabled() { } ffbuild_dockerdl() { - to_df "RUN git clone \"$SCRIPT_REPO\" \"$SELF\" && git -C \"$SELF\" checkout \"$SCRIPT_COMMIT\"" + echo "git clone \"$SCRIPT_REPO\" . && git checkout \"$SCRIPT_COMMIT\"" } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build/linux cd build/linux diff --git a/scripts.d/50-vaapi/30-libpciaccess.sh b/scripts.d/50-vaapi/30-libpciaccess.sh index 945ae5b..6975489 100755 --- a/scripts.d/50-vaapi/30-libpciaccess.sh +++ b/scripts.d/50-vaapi/30-libpciaccess.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build local myconf=( diff --git a/scripts.d/50-vaapi/40-libdrm.sh b/scripts.d/50-vaapi/40-libdrm.sh index 1e02373..1fc585e 100755 --- a/scripts.d/50-vaapi/40-libdrm.sh +++ b/scripts.d/50-vaapi/40-libdrm.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build local myconf=( diff --git a/scripts.d/50-vaapi/50-libva.sh b/scripts.d/50-vaapi/50-libva.sh index 30b5336..b8688ab 100755 --- a/scripts.d/50-vaapi/50-libva.sh +++ b/scripts.d/50-vaapi/50-libva.sh @@ -13,8 +13,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - # This works around an issue of our libxcb-dri3 implib-wrapper not exporting data symbols. # Under normal circumstances, this would break horribly. # But we only want to generate another import lib for libva, so it doesn't matter. diff --git a/scripts.d/50-vaapi/99-finalize.sh b/scripts.d/50-vaapi/99-finalize.sh index 54c7a93..7c89e27 100755 --- a/scripts.d/50-vaapi/99-finalize.sh +++ b/scripts.d/50-vaapi/99-finalize.sh @@ -7,7 +7,7 @@ ffbuild_enabled() { } ffbuild_dockerdl() { - return 0 + true } ffbuild_dockerbuild() { diff --git a/scripts.d/50-vidstab.sh b/scripts.d/50-vidstab.sh index c9a3b4c..2dbb56d 100755 --- a/scripts.d/50-vidstab.sh +++ b/scripts.d/50-vidstab.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build local mycmake=( diff --git a/scripts.d/50-vulkan/45-vulkan.sh b/scripts.d/50-vulkan/45-vulkan.sh index f185fca..03c55df 100755 --- a/scripts.d/50-vulkan/45-vulkan.sh +++ b/scripts.d/50-vulkan/45-vulkan.sh @@ -10,8 +10,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" .. diff --git a/scripts.d/50-vulkan/50-shaderc.sh b/scripts.d/50-vulkan/50-shaderc.sh index d29c53c..6fa2695 100755 --- a/scripts.d/50-vulkan/50-shaderc.sh +++ b/scripts.d/50-vulkan/50-shaderc.sh @@ -9,13 +9,11 @@ ffbuild_enabled() { } ffbuild_dockerdl() { - default_dl "$SELF" - to_df "RUN cd \"$SELF\" && ./utils/git-sync-deps" + default_dl . + echo "./utils/git-sync-deps" } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - mkdir build && cd build cmake -GNinja -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" \ diff --git a/scripts.d/50-vulkan/55-spirv-cross.sh b/scripts.d/50-vulkan/55-spirv-cross.sh index f549a3e..6813fbb 100755 --- a/scripts.d/50-vulkan/55-spirv-cross.sh +++ b/scripts.d/50-vulkan/55-spirv-cross.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - VER_MAJ="$(grep 'set(spirv-cross-abi-major' CMakeLists.txt | sed -re 's/.* ([0-9]+)\)/\1/')" VER_MIN="$(grep 'set(spirv-cross-abi-minor' CMakeLists.txt | sed -re 's/.* ([0-9]+)\)/\1/')" VER_PCH="$(grep 'set(spirv-cross-abi-patch' CMakeLists.txt | sed -re 's/.* ([0-9]+)\)/\1/')" diff --git a/scripts.d/50-vulkan/60-libplacebo.sh b/scripts.d/50-vulkan/60-libplacebo.sh index 630384b..edc3620 100755 --- a/scripts.d/50-vulkan/60-libplacebo.sh +++ b/scripts.d/50-vulkan/60-libplacebo.sh @@ -12,13 +12,11 @@ ffbuild_enabled() { } ffbuild_dockerdl() { - default_dl "$SELF" - to_df "RUN git -C \"$SELF\" submodule update --init --recursive" + default_dl . + echo "git submodule update --init --recursive" } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - sed -i 's/DPL_EXPORT/DPL_STATIC/' src/meson.build mkdir build && cd build diff --git a/scripts.d/50-vulkan/99-enable.sh b/scripts.d/50-vulkan/99-enable.sh index d83e3cb..40e39d1 100755 --- a/scripts.d/50-vulkan/99-enable.sh +++ b/scripts.d/50-vulkan/99-enable.sh @@ -8,7 +8,7 @@ ffbuild_enabled() { } ffbuild_dockerdl() { - return 0 + true } ffbuild_dockerbuild() { diff --git a/scripts.d/50-x264.sh b/scripts.d/50-x264.sh index 0060cf3..0955207 100755 --- a/scripts.d/50-x264.sh +++ b/scripts.d/50-x264.sh @@ -9,8 +9,6 @@ ffbuild_enabled() { } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - local myconf=( --disable-cli --enable-static diff --git a/scripts.d/50-x265.sh b/scripts.d/50-x265.sh index 1ec22ed..5e9ce44 100755 --- a/scripts.d/50-x265.sh +++ b/scripts.d/50-x265.sh @@ -9,12 +9,10 @@ ffbuild_enabled() { } ffbuild_dockerdl() { - to_df "RUN git clone \"$SCRIPT_REPO\" \"$SELF\" && git -C \"$SELF\" checkout \"$SCRIPT_COMMIT\"" + echo "git clone \"$SCRIPT_REPO\" . && git checkout \"$SCRIPT_COMMIT\"" } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - local common_config=( -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" diff --git a/scripts.d/50-xavs2.sh b/scripts.d/50-xavs2.sh index 36b1e65..dd8256e 100755 --- a/scripts.d/50-xavs2.sh +++ b/scripts.d/50-xavs2.sh @@ -12,11 +12,10 @@ ffbuild_enabled() { } ffbuild_dockerdl() { - to_df "RUN git clone \"$SCRIPT_REPO\" \"$SELF\" && git -C \"$SELF\" checkout \"$SCRIPT_COMMIT\"" + echo "git clone \"$SCRIPT_REPO\" . && git checkout \"$SCRIPT_COMMIT\"" } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" cd build/linux local myconf=( diff --git a/scripts.d/50-xvid.sh b/scripts.d/50-xvid.sh index 484d2fa..4fe0e2b 100755 --- a/scripts.d/50-xvid.sh +++ b/scripts.d/50-xvid.sh @@ -9,12 +9,10 @@ ffbuild_enabled() { } ffbuild_dockerdl() { - to_df "RUN retry-tool sh -c \"rm -rf xvid && svn checkout --username 'anonymous' --password '' '${SCRIPT_REPO}@${SCRIPT_REV}' xvid\"" + echo "retry-tool sh -c \"rm -rf xvid && svn checkout --username 'anonymous' --password '' '${SCRIPT_REPO}@${SCRIPT_REV}' xvid\" && cd xvid" } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR"/xvid - cd build/generic # The original code fails on a two-digit major... diff --git a/scripts.d/50-zimg.sh b/scripts.d/50-zimg.sh index 3e99a01..d7bab6b 100755 --- a/scripts.d/50-zimg.sh +++ b/scripts.d/50-zimg.sh @@ -8,13 +8,11 @@ ffbuild_enabled() { } ffbuild_dockerdl() { - default_dl "$SELF" - to_df "RUN git -C \"$SELF\" submodule update --init --recursive --depth=1" + default_dl . + echo "git submodule update --init --recursive --depth=1" } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - ./autogen.sh local myconf=( diff --git a/scripts.d/50-zvbi.sh b/scripts.d/50-zvbi.sh index 5f7cb97..7667fcd 100755 --- a/scripts.d/50-zvbi.sh +++ b/scripts.d/50-zvbi.sh @@ -8,16 +8,14 @@ ffbuild_enabled() { } ffbuild_dockerstage() { - to_df "RUN --mount=src=${SELF},dst=/stage.sh --mount=src=/,dst=\$FFBUILD_DLDIR,from=${DL_IMAGE},rw --mount=src=patches/zvbi,dst=/patches run_stage /stage.sh" + to_df "RUN --mount=src=${SELF},dst=/stage.sh --mount=src=patches/zvbi,dst=/patches run_stage /stage.sh" } ffbuild_dockerdl() { - to_df "RUN retry-tool sh -c \"rm -rf $SELF && svn checkout '${SCRIPT_REPO}@${SCRIPT_REV}' $SELF\"" + echo "retry-tool sh -c \"rm -rf zvbi && svn checkout '${SCRIPT_REPO}@${SCRIPT_REV}' zvbi\" && cd zvbi" } ffbuild_dockerbuild() { - cd "$FFBUILD_DLDIR/$SELF" - for patch in /patches/*.patch; do echo "Applying $patch" patch -p1 < "$patch" diff --git a/scripts.d/99-rpath.sh b/scripts.d/99-rpath.sh index be7bc33..1f90281 100755 --- a/scripts.d/99-rpath.sh +++ b/scripts.d/99-rpath.sh @@ -11,7 +11,7 @@ ffbuild_dockerfinal() { } ffbuild_dockerdl() { - return 0 + true } ffbuild_dockerlayer() { @@ -22,10 +22,6 @@ ffbuild_dockerstage() { return 0 } -ffbuild_dockerlayer_dl() { - return 0 -} - ffbuild_dockerbuild() { return 0 } diff --git a/util/clean_cache.sh b/util/clean_cache.sh new file mode 100755 index 0000000..a3754d2 --- /dev/null +++ b/util/clean_cache.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -xe +cd "$(dirname "$0")"/../.cache/downloads +find . $(printf "! -name %s " $(find . -type l -exec basename -a {} + -exec readlink {} +)) -delete diff --git a/util/dl_functions.sh b/util/dl_functions.sh new file mode 100644 index 0000000..8346e1d --- /dev/null +++ b/util/dl_functions.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +default_dl() { + echo "git-mini-clone \"$SCRIPT_REPO\" \"$SCRIPT_COMMIT\" \"$1\"" +} + +ffbuild_dockerdl() { + default_dl . +} diff --git a/util/get_dl_cache_tag.sh b/util/get_dl_cache_tag.sh index 4ca3a36..71abadb 100755 --- a/util/get_dl_cache_tag.sh +++ b/util/get_dl_cache_tag.sh @@ -1,4 +1,4 @@ #!/bin/bash set -eo pipefail -printf dlcache_ -tail -n+3 Dockerfile.dl | sha256sum | cut -d' ' -f1 +cd "$(dirname "$0")" +../download.sh hashonly | sha256sum | cut -d" " -f1 diff --git a/images/base/run_stage.sh b/util/run_stage.sh similarity index 74% rename from images/base/run_stage.sh rename to util/run_stage.sh index baf52b1..8280b02 100755 --- a/images/base/run_stage.sh +++ b/util/run_stage.sh @@ -8,15 +8,16 @@ export RAW_LDFLAGS="$LDFLAGS" [[ -n "$STAGE_CXXFLAGS" ]] && export CXXFLAGS="$CXXFLAGS $STAGE_CXXFLAGS" [[ -n "$STAGE_LDFLAGS" ]] && export LDFLAGS="$LDFLAGS $STAGE_LDFLAGS" -mkdir -p /stage +git config --global --add safe.directory "$PWD" + source "$1" -cd /stage -if [[ -n "$3" ]]; then - cd "$3" -fi if [[ -z "$2" ]]; then ffbuild_dockerbuild else "$2" fi -rm -rf /stage "$FFBUILD_PREFIX"/bin +rm -rf "$FFBUILD_PREFIX"/bin + +if [[ -n "$STAGENAME" ]]; then + rm -rf "/$STAGENAME" +fi diff --git a/util/vars.sh b/util/vars.sh index 0fd91ef..656ac06 100644 --- a/util/vars.sh +++ b/util/vars.sh @@ -37,23 +37,8 @@ BASE_IMAGE="${REGISTRY}/${REPO}/base:latest" TARGET_IMAGE="${REGISTRY}/${REPO}/base-${TARGET}:latest" IMAGE="${REGISTRY}/${REPO}/${TARGET}-${VARIANT}${ADDINS_STR:+-}${ADDINS_STR}:latest" -DL_IMAGE_RAW="${REGISTRY}/${REPO}/dl_cache" -if [[ -n "$REGISTRY_OVERRIDE_DL" && -n "$GITHUB_REPOSITORY_DL" ]]; then - DL_IMAGE_RAW="${REGISTRY_OVERRIDE_DL}/${GITHUB_REPOSITORY_DL}/dl_cache" - DL_IMAGE_RAW="${DL_IMAGE_RAW,,}" -fi -DL_IMAGE="${DL_IMAGE_RAW}:unset" - -ffbuild_dockerdl() { - default_dl "$SELF" -} - -ffbuild_dockerlayer_dl() { - to_df "COPY --from=${SELFLAYER} \$FFBUILD_DLDIR/. \$FFBUILD_DLDIR" -} - ffbuild_dockerstage() { - to_df "RUN --mount=src=${SELF},dst=/stage.sh --mount=src=/,dst=\$FFBUILD_DLDIR,from=${DL_IMAGE},rw run_stage /stage.sh" + to_df "RUN --mount=src=${SELF},dst=/stage.sh run_stage /stage.sh" } ffbuild_dockerlayer() {