From 579c1a09840a73b2171bac2637cd70a7e0274aa8 Mon Sep 17 00:00:00 2001 From: Julien Cristau Date: Tue, 17 Mar 2026 18:38:47 +0100 Subject: [PATCH] flatpak: split dev and runtime dependencies --- pushflatpakscript/docker.d/image_setup.sh | 2 +- .../docker/pushflatpakscript/Dockerfile | 32 +++++++++++++------ 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/pushflatpakscript/docker.d/image_setup.sh b/pushflatpakscript/docker.d/image_setup.sh index 819bb4156..e7b0a110f 100755 --- a/pushflatpakscript/docker.d/image_setup.sh +++ b/pushflatpakscript/docker.d/image_setup.sh @@ -2,5 +2,5 @@ set -o errexit -o pipefail apt-get update -apt-get install --no-install-recommends -y curl gir1.2-ostree-1.0 libgirepository-2.0-dev ostree gcc libcairo2-dev +apt-get install --no-install-recommends -y gir1.2-ostree-1.0 libgirepository-2.0-0 ostree apt-get clean diff --git a/taskcluster/docker/pushflatpakscript/Dockerfile b/taskcluster/docker/pushflatpakscript/Dockerfile index 1fc0d8d21..1a5ff4500 100644 --- a/taskcluster/docker/pushflatpakscript/Dockerfile +++ b/taskcluster/docker/pushflatpakscript/Dockerfile @@ -2,21 +2,14 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -FROM $DOCKER_IMAGE_PARENT - -# %include pushflatpakscript -ADD --chown=app:app topsrcdir/pushflatpakscript /app/pushflatpakscript +FROM $DOCKER_IMAGE_PARENT AS flat_manager USER root -RUN /app/pushflatpakscript/docker.d/image_setup.sh +RUN apt-get update && apt-get install --no-install-recommends -y curl gcc pkg-config libgirepository-2.0-dev libcairo2-dev USER app -RUN cp -R /app/pushflatpakscript/docker.d/* /app/docker.d/ \ - && . /app/.venv/bin/activate \ - && uv sync --no-dev --active --frozen --package pushflatpakscript \ - && deactivate \ - && uv venv /app/flat_manager_venv \ +RUN uv venv /app/flat_manager_venv \ && . /app/flat_manager_venv/bin/activate \ && uv sync --no-dev --active --frozen --package pushflatpakscript --only-group flat-manager \ && curl -Ls \ @@ -24,3 +17,22 @@ RUN cp -R /app/pushflatpakscript/docker.d/* /app/docker.d/ \ sed -e '1i#!/app/flat_manager_venv/bin/python' -e '1d' > /app/flat_manager_venv/bin/flat-manager-client \ && chmod 755 /app/flat_manager_venv/bin/flat-manager-client \ && echo "2e55c0d3797f948b5b2eb86b897d42ce318b829749a23b903d8a9ed7b3bcea59 /app/flat_manager_venv/bin/flat-manager-client" | sha256sum -c + +FROM $DOCKER_IMAGE_PARENT + +# %include pushflatpakscript +ADD --chown=app:app topsrcdir/pushflatpakscript /app/pushflatpakscript + +USER root +RUN /app/pushflatpakscript/docker.d/image_setup.sh + +USER app + +RUN cp -R /app/pushflatpakscript/docker.d/* /app/docker.d/ \ + && . /app/.venv/bin/activate \ + && uv sync --no-dev --active --frozen --package pushflatpakscript + +COPY --from=flat_manager /app/flat_manager_venv /app/flat_manager_venv + +# Ensure flat-manager-client minimally works (e.g. no missing libs) +RUN /app/flat_manager_venv/bin/flat-manager-client --help