From 5d246a2610c437360386efec3a8ab7bb40f67fad Mon Sep 17 00:00:00 2001 From: aptalca <541623+aptalca@users.noreply.github.com> Date: Wed, 22 May 2024 15:18:06 -0400 Subject: [PATCH 1/3] Bump Mesa to 24.1.0 --- Dockerfile | 2 +- Jenkinsfile | 40 ++++++++++------------------------------ README.md | 2 ++ readme-vars.yml | 2 ++ 4 files changed, 15 insertions(+), 31 deletions(-) diff --git a/Dockerfile b/Dockerfile index c99a2c9..664dae4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -35,7 +35,7 @@ ENV \ LIBVIDSTAB=1.1.1 \ LIBVMAF=3.0.0 \ LIBVPL=2.11.0 \ - MESA=24.0.7 \ + MESA=24.1.0 \ NVCODEC=n12.2.72.0 \ OGG=1.3.5 \ OPENCOREAMR=0.1.6 \ diff --git a/Jenkinsfile b/Jenkinsfile index 05c8e4f..ee1f38b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -288,7 +288,7 @@ pipeline { echo "Jenkinsfile is up to date." fi echo "Starting Stage 2 - Delete old templates" - OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml Dockerfile.armhf" + OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml" for i in ${OLD_TEMPLATES}; do if [[ -f "${i}" ]]; then TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}" @@ -484,6 +484,7 @@ pipeline { --label \"org.opencontainers.image.title=Ffmpeg\" \ --label \"org.opencontainers.image.description=ffmpeg image by linuxserver.io\" \ --no-cache --pull -t ${IMAGE}:${META_TAG} --platform=linux/amd64 \ + --provenance=false --sbom=false \ --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." } } @@ -515,6 +516,7 @@ pipeline { --label \"org.opencontainers.image.title=Ffmpeg\" \ --label \"org.opencontainers.image.description=ffmpeg image by linuxserver.io\" \ --no-cache --pull -t ${IMAGE}:amd64-${META_TAG} --platform=linux/amd64 \ + --provenance=false --sbom=false \ --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." } } @@ -543,6 +545,7 @@ pipeline { --label \"org.opencontainers.image.title=Ffmpeg\" \ --label \"org.opencontainers.image.description=ffmpeg image by linuxserver.io\" \ --no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} --platform=linux/arm64 \ + --provenance=false --sbom=false \ --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}" retry(5) { @@ -666,7 +669,6 @@ pipeline { --shm-size=1gb \ -v /var/run/docker.sock:/var/run/docker.sock \ -e IMAGE=\"${IMAGE}\" \ - -e DELAY_START=\"${CI_DELAY}\" \ -e TAGS=\"${CI_TAGS}\" \ -e META_TAG=\"${META_TAG}\" \ -e PORT=\"${CI_PORT}\" \ @@ -774,35 +776,13 @@ pipeline { docker push ${MANIFESTIMAGE}:amd64-${SEMVER} docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER} fi - docker manifest push --purge ${MANIFESTIMAGE}:latest || : - docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest - docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8 - docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || : - docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} - docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8 - docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} || : - docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} - docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8 + done + for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do + docker buildx imagetools create -t ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest + docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} + docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} if [ -n "${SEMVER}" ]; then - docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || : - docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} - docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8 - fi - token=$(curl -sX GET "https://ghcr.io/token?scope=repository%3Alinuxserver%2F${CONTAINER_NAME}%3Apull" | jq -r '.token') - digest=$(curl -s \ - --header "Accept: application/vnd.docker.distribution.manifest.v2+json" \ - --header "Authorization: Bearer ${token}" \ - "https://ghcr.io/v2/linuxserver/${CONTAINER_NAME}/manifests/arm32v7-latest") - if [[ $(echo "$digest" | jq -r '.layers') != "null" ]]; then - docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-latest || : - docker manifest create ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:amd64-latest - docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-latest - fi - docker manifest push --purge ${MANIFESTIMAGE}:latest - docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} - docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} - if [ -n "${SEMVER}" ]; then - docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} + docker buildx imagetools create -t ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} fi done ''' diff --git a/README.md b/README.md index 0de372b..9865d9a 100644 --- a/README.md +++ b/README.md @@ -174,6 +174,8 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **22.05.24:** - Bump Mesa to 24.1.0. +* **20.05.24:** - Bump libsvtav1. * **09.05.24:** - Bump libaom, fribidi, kvazaar, various Intel drivers and libs, Mesa, opus, shaderc, webp and x265. * **11.04.24:** - Explicitly disable libdrm on aarch64, add new lib `libxcb-shm0`. Add quick test at the end of build. * **10.04.24:** - Compile ffmpeg with `libfribidi`, `libharfbuzz` and `libfontconfig`, compile libharfbuzz. diff --git a/readme-vars.yml b/readme-vars.yml index 99ba0ee..1e08b20 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -178,6 +178,8 @@ full_custom_readme: | ## Versions + * **22.05.24:** - Bump Mesa to 24.1.0. + * **20.05.24:** - Bump libsvtav1. * **09.05.24:** - Bump libaom, fribidi, kvazaar, various Intel drivers and libs, Mesa, opus, shaderc, webp and x265. * **11.04.24:** - Explicitly disable libdrm on aarch64, add new lib `libxcb-shm0`. Add quick test at the end of build. * **10.04.24:** - Compile ffmpeg with `libfribidi`, `libharfbuzz` and `libfontconfig`, compile libharfbuzz. From 5150cb2824f6047d304a2af892ec9575b4a4eed2 Mon Sep 17 00:00:00 2001 From: aptalca <541623+aptalca@users.noreply.github.com> Date: Wed, 22 May 2024 16:26:24 -0400 Subject: [PATCH 2/3] add new mesa deps, add cargo bin to path --- Dockerfile | 7 ++++--- Dockerfile.aarch64 | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 664dae4..651eec2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,7 +9,8 @@ ARG FFMPEG_VERSION # common env ENV \ DEBIAN_FRONTEND="noninteractive" \ - MAKEFLAGS="-j4" + MAKEFLAGS="-j4" \ + PATH="/root/.cargo/bin:${PATH}" # versions ENV \ @@ -109,13 +110,13 @@ RUN \ tar xf /tmp/rust.tar.gz -C /tmp/rust --strip-components=1 && \ cd /tmp/rust && \ ./install.sh && \ - cargo install cargo-c && \ + cargo install cargo-c cbindgen syn paste && \ python3 -m venv /lsiopy && \ pip install -U --no-cache-dir \ pip \ setuptools \ wheel && \ - pip install --no-cache-dir meson cmake mako + pip install --no-cache-dir meson cmake mako ply # compile 3rd party libs RUN \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 3273728..93406f6 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -9,7 +9,8 @@ ARG FFMPEG_VERSION # common env ENV \ DEBIAN_FRONTEND="noninteractive" \ - MAKEFLAGS="-j4" + MAKEFLAGS="-j4" \ + PATH="/root/.cargo/bin:${PATH}" # versions ENV \ From 881a15fc12360e853a0e6a133c4cf6d7db164a58 Mon Sep 17 00:00:00 2001 From: aptalca <541623+aptalca@users.noreply.github.com> Date: Wed, 22 May 2024 16:33:08 -0400 Subject: [PATCH 3/3] third time's a charm --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 651eec2..200abcc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -110,7 +110,7 @@ RUN \ tar xf /tmp/rust.tar.gz -C /tmp/rust --strip-components=1 && \ cd /tmp/rust && \ ./install.sh && \ - cargo install cargo-c cbindgen syn paste && \ + cargo install cargo-c cbindgen && \ python3 -m venv /lsiopy && \ pip install -U --no-cache-dir \ pip \