Overhaul cache system

pull/294/head
BtbN 2023-12-21 01:31:23 +01:00
parent 75902682ba
commit 7ed76a8724
116 changed files with 179 additions and 358 deletions

View File

@ -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:

View File

@ -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:

View File

@ -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"

65
download.sh Executable file
View File

@ -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'

View File

@ -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
(

View File

@ -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 \

View File

@ -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..."

View File

@ -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/:/_}" \

View File

@ -9,8 +9,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
mkdir -p "$FFBUILD_PREFIX"/include
cp *.h "$FFBUILD_PREFIX"/include
}

View File

@ -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

View File

@ -14,8 +14,6 @@ ffbuild_dockerlayer() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
autoreconf -i
./configure --prefix="$FFBUILD_PREFIX"
make -j"$(nproc)"

View File

@ -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=(

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
local myconf=(
--prefix="$FFBUILD_PREFIX"
--without-python

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
local myconf=(
--prefix="$FFBUILD_PREFIX"
--static

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
local myconf=(
--prefix="$FFBUILD_PREFIX"
--enable-maintainer-mode

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
./autogen.sh
local myconf=(

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
mkdir build && cd build
local myconf=(

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
./.bootstrap
local myconf=(

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
./autogen.sh
local myconf=(

View File

@ -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

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
./autogen.sh --no-po4a --no-doxygen
local myconf=(

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
./autogen.sh --noconf
local myconf=(

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
local myconf=(
--prefix="$FFBUILD_PREFIX"
--disable-shared

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
mkdir build
cd build

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
./bootstrap
local myconf=(

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
./autogen.sh
local myconf=(

View File

@ -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/.

View File

@ -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

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
# Kill build of unused and broken tools
echo > libvmaf/tools/meson.build

View File

@ -9,8 +9,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
autoreconf -i
local myconf=(

View File

@ -9,8 +9,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
autoreconf -i
local myconf=(

View File

@ -9,8 +9,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
autoreconf -i
local myconf=(

View File

@ -9,8 +9,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
autoreconf -i
local myconf=(

View File

@ -9,8 +9,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
autoreconf -i
local myconf=(

View File

@ -9,8 +9,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
autoreconf -i
local myconf=(

View File

@ -9,8 +9,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
autoreconf -i
local myconf=(

View File

@ -9,8 +9,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
autoreconf -i
local myconf=(

View File

@ -9,8 +9,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
autoreconf -i
local myconf=(

View File

@ -9,8 +9,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
autoreconf -i
local myconf=(

View File

@ -9,8 +9,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
autoreconf -i
local myconf=(

View File

@ -9,8 +9,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
autoreconf -i
local myconf=(

View File

@ -9,8 +9,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
autoreconf -i
local myconf=(

View File

@ -9,8 +9,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
mkdir build && cd build
local myconf=(

View File

@ -9,8 +9,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
autoreconf -i
local myconf=(

View File

@ -9,8 +9,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
autoreconf -i
local myconf=(

View File

@ -10,8 +10,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
autoreconf -i
local myconf=(

View File

@ -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
}

View File

@ -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"

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
autoreconf -i
local myconf=(

View File

@ -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"

View File

@ -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"

View File

@ -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 ..

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
mkdir build && cd build
local myconf=(

View File

@ -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=(

View File

@ -9,8 +9,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
./autogen.sh
local myconf=(

View File

@ -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

View File

@ -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" ..

View File

@ -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 ..

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
./autogen.sh
local myconf=(

View File

@ -13,8 +13,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
mkdir build
cd build

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
./autogen.sh
local myconf=(

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
./bootstrap
local myconf=(

View File

@ -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" \

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
mkdir build && cd build
local myconf=(

View File

@ -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

View File

@ -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=(

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
./autogen.sh
local myconf=(

View File

@ -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

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
mkdir build && cd build
local myconf=(

View File

@ -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" \

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
./autogen.sh
local myconf=(

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
local myconf=(
--disable-shared
--enable-static

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
./autogen.sh
local myconf=(

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
mkdir build && cd build
local myconf=(

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
mkdir build && cd build
local myconf=(

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
mkdir build && cd build
local myconf=(

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
mkdir build && cd build
local myconf=(

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
mkdir build && cd build
local myconf=(

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
mkdir build && cd build
local myconf=(

View File

@ -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" \

View File

@ -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" \

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
autoreconf -i
local myconf=(

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
local myconf=(
PREFIX="$FFBUILD_PREFIX"
INCLUDE_PREFIX="$FFBUILD_PREFIX"/include/wels

View File

@ -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 ..

View File

@ -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++"

View File

@ -9,8 +9,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
local myconf=(
--prefix="$FFBUILD_PREFIX"
--library-type=staticlib

View File

@ -9,8 +9,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
mkdir build && cd build
local myconf=(

View File

@ -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
}

View File

@ -9,8 +9,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
mkdir build && cd build
local mycmake=(

View File

@ -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 ..

View File

@ -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" \

View File

@ -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 ..

View File

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
NOCONFIGURE=1 ./autogen.sh
touch doc/twolame.1

View File

@ -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

View File

@ -9,8 +9,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
mkdir build && cd build
local myconf=(

View File

@ -9,8 +9,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
mkdir build && cd build
local myconf=(

View File

@ -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.

View File

@ -7,7 +7,7 @@ ffbuild_enabled() {
}
ffbuild_dockerdl() {
return 0
true
}
ffbuild_dockerbuild() {

View File

@ -9,8 +9,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
mkdir build && cd build
local mycmake=(

View File

@ -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" ..

Some files were not shown because too many files have changed in this diff Show More