From 204c1da235dfe3beb4a71a2593c76a600e13b835 Mon Sep 17 00:00:00 2001 From: "aurelien.vaillant" Date: Fri, 19 Jun 2026 16:39:09 +0200 Subject: [PATCH 01/21] Fix the build with latest release --- ...le.run.xml => Build BlenderDocker.run.xml} | 10 ++-- Dockerfile | 55 +++++++++---------- README.md | 2 +- 3 files changed, 32 insertions(+), 35 deletions(-) rename .run/{Dockerfile.run.xml => Build BlenderDocker.run.xml} (69%) diff --git a/.run/Dockerfile.run.xml b/.run/Build BlenderDocker.run.xml similarity index 69% rename from .run/Dockerfile.run.xml rename to .run/Build BlenderDocker.run.xml index a98f925..bf35d50 100644 --- a/.run/Dockerfile.run.xml +++ b/.run/Build BlenderDocker.run.xml @@ -1,20 +1,21 @@ - + - + + \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index c58c1ea..6cce705 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,8 @@ -FROM ubuntu:22.04 AS blender +FROM ubuntu:25.04 AS BlenderDocker # Setup all software version request -ARG b3d_vs_major=2.90 +ARG b3d_vs_major=5.1 ARG b3d_vs_minor=0 -ARG subversion=63014 LABEL Author="stilobique" LABEL Title="Blender Docker for Unit Test" @@ -13,41 +12,37 @@ RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # Install dependencies RUN apt-get update && apt-get install -y \ - build-essential \ - gcc \ git \ - cmake \ - libc6-dev \ - libx11-dev \ + git-lfs \ + python3 \ + build-essential \ subversion \ - libxrandr-dev \ - libxcursor-dev \ + cmake \ + libx11-dev \ libxxf86vm-dev \ - libxinerama-dev \ - libglew-dev \ + libxcursor-dev \ libxi-dev \ - python3 - -# Debug -RUN echo Build Blender v${b3d_vs_major}.${b3d_vs_minor} - -ADD . /opt/blender-git + libxrandr-dev \ + libxinerama-dev \ + libegl-dev \ + libwayland-dev \ + wayland-protocols \ + libxkbcommon-dev \ + libdbus-1-dev \ + linux-libc-dev # Compile Blender -RUN cd /opt/blender-git/ \ - && git checkout v${b3d_vs_major}.${b3d_vs_minor} \ - && git config --global user.email "contact@aurelien-vaillant.net" \ - && git config --global user.name "Aurelien Vaillant" \ - && mkdir /opt/blender-git/lib \ - && cd /opt/blender-git/lib \ - && svn checkout -r${subversion} \ - && make +RUN git clone --depth 1 --branch v${b3d_vs_major}.${b3d_vs_minor} \ + https://projects.blender.org/blender/blender.git /opt/blender -# Setup a Multistage optimisation -FROM ubuntu:22.04 -COPY --from=blender /opt/blender-git/build_linux/bin /opt/blender +RUN cd /opt/blender && make update +RUN cd /opt/blender && make + +## Setup a Multistage optimisation +FROM ubuntu:25.04 +COPY --from=BlenderDocker /opt/blender/build_linux/bin /opt/blender ARG b3d_vs_major -ENV B3D_ADDON_PATH "$HOME/.config/blender/${b3d_vs_major}/scripts/addons" +#ENV B3D_ADDON_PATH "$HOME/.config/blender/${b3d_vs_major}/scripts/addons" RUN apt-get update && apt-get install -y \ libxi6 \ diff --git a/README.md b/README.md index a913d12..35cd3bf 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Blender](https://img.shields.io/badge/blender-3.0.0-%23F5792A.svg?style=flat&logo=blender&logoColor=white)](https://www.blender.org/download/) +[![Blender](https://img.shields.io/badge/blender-5.1.2-%23F5792A.svg?style=flat&logo=blender&logoColor=white)](https://www.blender.org/download/) [![pipeline status](https://gitlab.com/stilobique/blender-docker/badges/main/pipeline.svg)](https://gitlab.com/stilobique/blender-docker/-/commits/main) -- 2.39.5 From 5ed95e455cbdb50208d11471ef0071ba7a926062 Mon Sep 17 00:00:00 2001 From: "aurelien.vaillant" Date: Fri, 19 Jun 2026 16:58:32 +0200 Subject: [PATCH 02/21] Fix image build --- Dockerfile | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 6cce705..2416c70 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:25.04 AS BlenderDocker +FROM ubuntu:25.04 AS b3dock # Setup all software version request ARG b3d_vs_major=5.1 @@ -40,15 +40,17 @@ RUN cd /opt/blender && make ## Setup a Multistage optimisation FROM ubuntu:25.04 -COPY --from=BlenderDocker /opt/blender/build_linux/bin /opt/blender -ARG b3d_vs_major -#ENV B3D_ADDON_PATH "$HOME/.config/blender/${b3d_vs_major}/scripts/addons" RUN apt-get update && apt-get install -y \ libxi6 \ libxxf86vm1 \ - libxrender1 \ - libgl1-mesa-glx + libxrender1 + +USER bld +COPY --from=b3dock /opt/build_linux/bin/blender /opt/blender +ARG b3d_vs_major +ENV B3D_ADDON_PATH="/home/bld/.config/blender/${b3d_vs_major}/scripts/addons" + # Working Directory setup WORKDIR / \ No newline at end of file -- 2.39.5 From 029a7c3b3832748da22d85510cd8f2e5cdacbeec Mon Sep 17 00:00:00 2001 From: "aurelien.vaillant" Date: Fri, 19 Jun 2026 18:02:24 +0200 Subject: [PATCH 03/21] Fix build and documente check info --- Dockerfile | 59 +++++++++++++++++++++++++++++++++++++++++++-------- README.md | 7 +++++- entrypoint.sh | 7 ++++++ 3 files changed, 63 insertions(+), 10 deletions(-) create mode 100644 entrypoint.sh diff --git a/Dockerfile b/Dockerfile index 2416c70..ce93b87 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,9 +7,10 @@ ARG b3d_vs_minor=0 LABEL Author="stilobique" LABEL Title="Blender Docker for Unit Test" -ENV TZ=Europe/Paris -RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone +#ENV TZ=Europe/Paris +#RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone +## 01. Start First stage to build blender # Install dependencies RUN apt-get update && apt-get install -y \ git \ @@ -34,23 +35,63 @@ RUN apt-get update && apt-get install -y \ # Compile Blender RUN git clone --depth 1 --branch v${b3d_vs_major}.${b3d_vs_minor} \ https://projects.blender.org/blender/blender.git /opt/blender - + RUN cd /opt/blender && make update -RUN cd /opt/blender && make +RUN cd /opt/blender && make -j$(nproc) + +## 02. Collecte all dependencies +FROM b3dock AS collector +# Rassemble toutes les .so des precompiled libs dans un dossier plat +# -not -type d : ignore les dossiers +# cp -P : préserve les symlinks relatifs (libFoo.so -> libFoo.so.1.0) +RUN mkdir -p /collected-libs && \ + find /opt/blender/lib/linux_x64 \ + -name "*.so*" \ + -not -type d \ + -exec cp -P {} /collected-libs/ \; + + +## 03. Build optimissed image ## Setup a Multistage optimisation FROM ubuntu:25.04 RUN apt-get update && apt-get install -y \ + libx11-6 \ libxi6 \ libxxf86vm1 \ - libxrender1 + libxrender1 \ + libxrandr2 \ + libxinerama1 \ + libxcursor1 \ + libxfixes3 \ + libxkbcommon0 \ + libwayland-client0 \ + libwayland-egl1 \ + libegl1 \ + libgl1 \ + libdbus-1-3 \ + libxcb1 \ + libtbb12 \ + libopenal1 \ + libsm6 \ + libice6 \ + && rm -rf /var/lib/apt/lists/* + +RUN useradd -m -s /bin/bash bld + +COPY --from=b3dock /opt/build_linux/bin/blender /usr/local/bin/blender +COPY --from=collector /collected-libs /usr/local/lib/blender + +RUN echo "/usr/local/lib/blender" > /etc/ld.so.conf.d/blender.conf \ + && ldconfig -USER bld -COPY --from=b3dock /opt/build_linux/bin/blender /opt/blender ARG b3d_vs_major ENV B3D_ADDON_PATH="/home/bld/.config/blender/${b3d_vs_major}/scripts/addons" - +USER bld # Working Directory setup -WORKDIR / \ No newline at end of file +WORKDIR /home/bld + +ENTRYPOINT ["/usr/local/bin/blender"] +CMD ["--version"] \ No newline at end of file diff --git a/README.md b/README.md index 35cd3bf..0e8a83d 100644 --- a/README.md +++ b/README.md @@ -25,4 +25,9 @@ Call this function with blender inside this container ````shell #!/bin/sh /opt/blender/blender --background --python "install.py" -```` \ No newline at end of file +```` + +# Check Image build +```shell +docker run --rm stilobique/blender:5.1.2 blender --version +``` \ No newline at end of file diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 0000000..1216e96 --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -e + +LIB_PATHS="$(find /opt/blender-libs -type d -name lib | paste -sd: -)" +export LD_LIBRARY_PATH="${LIB_PATHS}:${LD_LIBRARY_PATH}" + +exec /usr/local/bin/blender "$@" \ No newline at end of file -- 2.39.5 From 39b44c9a0808743ab06bb015a2d058f8ffb4ce4f Mon Sep 17 00:00:00 2001 From: "aurelien.vaillant" Date: Thu, 25 Jun 2026 13:42:25 +0200 Subject: [PATCH 04/21] REfactoring to work with blender 5.1.x --- Dockerfile | 68 ++++++++++++++++++++++++------------------------- README.md | 16 +++++++++++- collect_deps.sh | 44 ++++++++++++++++++++++++++++++++ 3 files changed, 92 insertions(+), 36 deletions(-) create mode 100644 collect_deps.sh diff --git a/Dockerfile b/Dockerfile index ce93b87..a1916bb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -39,59 +39,57 @@ RUN git clone --depth 1 --branch v${b3d_vs_major}.${b3d_vs_minor} \ RUN cd /opt/blender && make update RUN cd /opt/blender && make -j$(nproc) +# Check if this folder exist +RUN ls /opt/build_linux/bin/ -## 02. Collecte all dependencies -FROM b3dock AS collector -# Rassemble toutes les .so des precompiled libs dans un dossier plat -# -not -type d : ignore les dossiers -# cp -P : préserve les symlinks relatifs (libFoo.so -> libFoo.so.1.0) -RUN mkdir -p /collected-libs && \ - find /opt/blender/lib/linux_x64 \ - -name "*.so*" \ - -not -type d \ - -exec cp -P {} /collected-libs/ \; +### 02. Collecte all dependencies +#FROM b3dock AS collector +# +#RUN apt-get update && apt-get install -y \ +# binutils \ +# && rm -rf /var/lib/apt/lists/* +# +#COPY collect_deps.sh /usr/local/bin/collect_deps.sh +#RUN chmod +x /usr/local/bin/collect_deps.sh +# +#RUN collect_deps.sh /opt/build_linux/bin/blender /collected-libs +# +## Strip des symboles debug +#RUN find /collected-libs -name "*.so*" -not -type l \ +# -exec strip --strip-debug {} \; 2>/dev/null || true +# +#RUN strip --strip-debug /opt/build_linux/bin/blender 2>/dev/null || true ## 03. Build optimissed image ## Setup a Multistage optimisation -FROM ubuntu:25.04 +FROM ubuntu:25.04 AS final RUN apt-get update && apt-get install -y \ - libx11-6 \ + libsm6 \ libxi6 \ libxxf86vm1 \ libxrender1 \ - libxrandr2 \ - libxinerama1 \ - libxcursor1 \ libxfixes3 \ libxkbcommon0 \ - libwayland-client0 \ - libwayland-egl1 \ - libegl1 \ - libgl1 \ - libdbus-1-3 \ - libxcb1 \ - libtbb12 \ - libopenal1 \ - libsm6 \ - libice6 \ - && rm -rf /var/lib/apt/lists/* + libgl1 RUN useradd -m -s /bin/bash bld -COPY --from=b3dock /opt/build_linux/bin/blender /usr/local/bin/blender -COPY --from=collector /collected-libs /usr/local/lib/blender +#COPY --from=b3dock /opt/build_linux/bin/blender /usr/local/bin/blender +COPY --from=b3dock /opt/build_linux/bin /opt/blender +RUN ls -la /opt/blender +#COPY --from=collector /collected-libs /usr/local/lib/blender -RUN echo "/usr/local/lib/blender" > /etc/ld.so.conf.d/blender.conf \ - && ldconfig +RUN #echo "/usr/local/lib/blender" > /etc/ld.so.conf.d/blender.conf \ +# && ldconfig -ARG b3d_vs_major -ENV B3D_ADDON_PATH="/home/bld/.config/blender/${b3d_vs_major}/scripts/addons" +# ARG b3d_vs_major +# ENV B3D_ADDON_PATH="/home/bld/.config/blender/${b3d_vs_major}/scripts/addons" USER bld # Working Directory setup -WORKDIR /home/bld +WORKDIR /opt/blender -ENTRYPOINT ["/usr/local/bin/blender"] -CMD ["--version"] \ No newline at end of file +#ENTRYPOINT ["/usr/local/bin"] +#CMD ["--version"] \ No newline at end of file diff --git a/README.md b/README.md index 0e8a83d..66fdfd8 100644 --- a/README.md +++ b/README.md @@ -29,5 +29,19 @@ Call this function with blender inside this container # Check Image build ```shell -docker run --rm stilobique/blender:5.1.2 blender --version +docker run --rm stilobique/blender:5.1.2 --version +``` + +```shell +# Taille de l'image +docker image inspect stilobique/blender:5.1.2 \ + --format='{{.Size}}' | numfmt --to=iec + +# Dépendances manquantes +docker run --rm --entrypoint /bin/bash stilobique/blender:5.1.2 -c \ + 'ldd /usr/local/bin/blender | grep "not found" || echo "All deps OK"' + +# Test fonctionnel +docker run --rm stilobique/blender:5.1.2 \ + -b --python-expr "import bpy; print('OK:', bpy.app.version_string)" ``` \ No newline at end of file diff --git a/collect_deps.sh b/collect_deps.sh new file mode 100644 index 0000000..992de79 --- /dev/null +++ b/collect_deps.sh @@ -0,0 +1,44 @@ +#!/bin/bash +set -e + +OUTDIR="$1" +SEARCH_PREFIX="/opt/blender/lib/linux_x64" + +if [ -z "$OUTDIR" ]; then + echo "Usage: $0 " + exit 1 +fi + +# Libs dont la version dans apt est trop ancienne pour Blender 5.x +NEEDED_PREFIXES=( + "libOpenColorIO" # apt=2.1 besoin=2.5 + "libOpenImageIO" # apt=2.4 besoin=3.1 + "libOpenImageIO_Util" + "libopenvdb" # apt=10 besoin=13 + "libosdCPU" # apt=3.5 besoin=3.7 + "libosdGPU" # apt=3.5 besoin=3.7 + "libOpenEXR" # pas dispo en bonne version + "libIex" + "libImath" + "libusd" # pas dans apt + "libceres" # pas dans apt + "liboslcomp" # pas dans apt + "liboslexec" # pas dans apt + "liboslquery" # pas dans apt + "libMaterialX" # pas dans apt + "libembree4" # à vérifier +) + +mkdir -p "$OUTDIR" + +echo "=== Collecte des libs Blender spécifiques ===" + +for prefix in "${NEEDED_PREFIXES[@]}"; do + find "$SEARCH_PREFIX" \ + -name "${prefix}*" \ + -not -type d \ + -exec cp -Pn {} "$OUTDIR/" \; 2>/dev/null || true +done + +echo "Fichiers collectés : $(ls "$OUTDIR" | wc -l)" +du -sh "$OUTDIR" \ No newline at end of file -- 2.39.5 From 816e8f5c120f7e2ba5fcb2e04c9cc88d22c5ece2 Mon Sep 17 00:00:00 2001 From: "aurelien.vaillant" Date: Thu, 25 Jun 2026 13:52:02 +0200 Subject: [PATCH 05/21] Update readme file, and clear docker file --- Dockerfile | 31 ++----------------------------- README.md | 12 ++++-------- 2 files changed, 6 insertions(+), 37 deletions(-) diff --git a/Dockerfile b/Dockerfile index a1916bb..0c08985 100644 --- a/Dockerfile +++ b/Dockerfile @@ -42,26 +42,8 @@ RUN cd /opt/blender && make -j$(nproc) # Check if this folder exist RUN ls /opt/build_linux/bin/ -### 02. Collecte all dependencies -#FROM b3dock AS collector -# -#RUN apt-get update && apt-get install -y \ -# binutils \ -# && rm -rf /var/lib/apt/lists/* -# -#COPY collect_deps.sh /usr/local/bin/collect_deps.sh -#RUN chmod +x /usr/local/bin/collect_deps.sh -# -#RUN collect_deps.sh /opt/build_linux/bin/blender /collected-libs -# -## Strip des symboles debug -#RUN find /collected-libs -name "*.so*" -not -type l \ -# -exec strip --strip-debug {} \; 2>/dev/null || true -# -#RUN strip --strip-debug /opt/build_linux/bin/blender 2>/dev/null || true - -## 03. Build optimissed image +## 02. Build optimissed image ## Setup a Multistage optimisation FROM ubuntu:25.04 AS final @@ -76,20 +58,11 @@ RUN apt-get update && apt-get install -y \ RUN useradd -m -s /bin/bash bld -#COPY --from=b3dock /opt/build_linux/bin/blender /usr/local/bin/blender +USER bld COPY --from=b3dock /opt/build_linux/bin /opt/blender -RUN ls -la /opt/blender -#COPY --from=collector /collected-libs /usr/local/lib/blender - -RUN #echo "/usr/local/lib/blender" > /etc/ld.so.conf.d/blender.conf \ -# && ldconfig # ARG b3d_vs_major # ENV B3D_ADDON_PATH="/home/bld/.config/blender/${b3d_vs_major}/scripts/addons" -USER bld # Working Directory setup WORKDIR /opt/blender - -#ENTRYPOINT ["/usr/local/bin"] -#CMD ["--version"] \ No newline at end of file diff --git a/README.md b/README.md index 66fdfd8..369575a 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ [![Blender](https://img.shields.io/badge/blender-5.1.2-%23F5792A.svg?style=flat&logo=blender&logoColor=white)](https://www.blender.org/download/) -[![pipeline status](https://gitlab.com/stilobique/blender-docker/badges/main/pipeline.svg)](https://gitlab.com/stilobique/blender-docker/-/commits/main) # Blender Docker @@ -29,19 +28,16 @@ Call this function with blender inside this container # Check Image build ```shell -docker run --rm stilobique/blender:5.1.2 --version +docker run --rm stilobique/blender:5.1.2 ./blender --version ``` ```shell # Taille de l'image -docker image inspect stilobique/blender:5.1.2 \ - --format='{{.Size}}' | numfmt --to=iec +docker image inspect stilobique/blender:5.1.2 --format='{{.Size}}' | numfmt --to=iec # Dépendances manquantes -docker run --rm --entrypoint /bin/bash stilobique/blender:5.1.2 -c \ - 'ldd /usr/local/bin/blender | grep "not found" || echo "All deps OK"' +docker run --rm --entrypoint /bin/bash stilobique/blender:5.1.2 -c 'ldd /opt/blender/blender | grep "not found" || echo "All deps OK"' # Test fonctionnel -docker run --rm stilobique/blender:5.1.2 \ - -b --python-expr "import bpy; print('OK:', bpy.app.version_string)" +docker run --rm stilobique/blender:5.1.2 ./blender -b --python-expr "import bpy; print('OK:', bpy.app.version_string)" ``` \ No newline at end of file -- 2.39.5 From 1ad119e7d2dea45a0393d7ed952316f0ab041a13 Mon Sep 17 00:00:00 2001 From: "aurelien.vaillant" Date: Thu, 25 Jun 2026 16:02:17 +0200 Subject: [PATCH 06/21] Clear old files --- .gitlab-ci.yml | 38 -------------------------------------- build.json | 34 +--------------------------------- build.yaml | 2 ++ collect_deps.sh | 44 -------------------------------------------- entrypoint.sh | 7 ------- image/Dockerfile-csv | 7 ------- 6 files changed, 3 insertions(+), 129 deletions(-) delete mode 100644 .gitlab-ci.yml create mode 100644 build.yaml delete mode 100644 collect_deps.sh delete mode 100644 entrypoint.sh delete mode 100644 image/Dockerfile-csv diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index 908e3dc..0000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,38 +0,0 @@ -cache: - key: blender-source - paths: - - /opt/blender-git/blender # Blender git repository source - - /opt/blender-git/lib # Blender Subversion lib package - policy: pull - -update-cache: - stage: .pre - cache: - key: blender-source - image: stilobique/csv:latest - script: - - mkdir -p /opt/blender-git/lib - - cd /opt/blender-git - - git clone https://projects.blender.org/blender/blender.git - - cd /opt/blender-git/blender - - git submodule update --init --recursive - - cd /opt/blender-git/lib - - svn checkout https://svn.blender.org/svnroot/bf-blender/trunk/lib/linux_centos7_x86_64 - -build-dockerfile: - image: docker:19.03.12 - rules: - - changes: - - build.json - stage: build - services: - - docker:dind - cache: - key: blender-source - script: - - apk add python3 - - apk add py3-pip - - python3 -m pip install --upgrade pip - - python3 -m pip install -r requirement-build.txt - - python3 main.py - - python3 main.py --tag=latest diff --git a/build.json b/build.json index 0092fee..af44176 100644 --- a/build.json +++ b/build.json @@ -1,40 +1,8 @@ { "tags": [{ - "b3d_vs_major": 3.4, - "b3d_vs_minor": 1 - }, - { - "b3d_vs_major": 3.4, - "b3d_vs_minor": 0 - }, - { - "b3d_vs_major": 3.3, + "b3d_vs_major": 5.1, "b3d_vs_minor": 2 - }, - { - "b3d_vs_major": 3.3, - "b3d_vs_minor": 1 - }, - { - "b3d_vs_major": 3.3, - "b3d_vs_minor": 0 - }, - { - "b3d_vs_major": 3.2, - "b3d_vs_minor": 1 - }, - { - "b3d_vs_major": 3.2, - "b3d_vs_minor": 0 - }, - { - "b3d_vs_major": 3.1, - "b3d_vs_minor": 2 - }, - { - "b3d_vs_major": 3.1, - "b3d_vs_minor": 0 } ] } \ No newline at end of file diff --git a/build.yaml b/build.yaml new file mode 100644 index 0000000..10baeb8 --- /dev/null +++ b/build.yaml @@ -0,0 +1,2 @@ +- major: 5.1 + minor: 2 \ No newline at end of file diff --git a/collect_deps.sh b/collect_deps.sh deleted file mode 100644 index 992de79..0000000 --- a/collect_deps.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/bash -set -e - -OUTDIR="$1" -SEARCH_PREFIX="/opt/blender/lib/linux_x64" - -if [ -z "$OUTDIR" ]; then - echo "Usage: $0 " - exit 1 -fi - -# Libs dont la version dans apt est trop ancienne pour Blender 5.x -NEEDED_PREFIXES=( - "libOpenColorIO" # apt=2.1 besoin=2.5 - "libOpenImageIO" # apt=2.4 besoin=3.1 - "libOpenImageIO_Util" - "libopenvdb" # apt=10 besoin=13 - "libosdCPU" # apt=3.5 besoin=3.7 - "libosdGPU" # apt=3.5 besoin=3.7 - "libOpenEXR" # pas dispo en bonne version - "libIex" - "libImath" - "libusd" # pas dans apt - "libceres" # pas dans apt - "liboslcomp" # pas dans apt - "liboslexec" # pas dans apt - "liboslquery" # pas dans apt - "libMaterialX" # pas dans apt - "libembree4" # à vérifier -) - -mkdir -p "$OUTDIR" - -echo "=== Collecte des libs Blender spécifiques ===" - -for prefix in "${NEEDED_PREFIXES[@]}"; do - find "$SEARCH_PREFIX" \ - -name "${prefix}*" \ - -not -type d \ - -exec cp -Pn {} "$OUTDIR/" \; 2>/dev/null || true -done - -echo "Fichiers collectés : $(ls "$OUTDIR" | wc -l)" -du -sh "$OUTDIR" \ No newline at end of file diff --git a/entrypoint.sh b/entrypoint.sh deleted file mode 100644 index 1216e96..0000000 --- a/entrypoint.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash -set -e - -LIB_PATHS="$(find /opt/blender-libs -type d -name lib | paste -sd: -)" -export LD_LIBRARY_PATH="${LIB_PATHS}:${LD_LIBRARY_PATH}" - -exec /usr/local/bin/blender "$@" \ No newline at end of file diff --git a/image/Dockerfile-csv b/image/Dockerfile-csv deleted file mode 100644 index ba97387..0000000 --- a/image/Dockerfile-csv +++ /dev/null @@ -1,7 +0,0 @@ -FROM alpine AS csv - -LABEL Author="stilobique" -LABEL Title="Linux image with subversion and git" - -# Install dependencies -RUN apk add git && apk add subversion \ No newline at end of file -- 2.39.5 From db823ebe3fe14324dbef87c8bfd08f55c7d04279 Mon Sep 17 00:00:00 2001 From: stilobique Date: Thu, 16 Jul 2026 16:36:23 +0200 Subject: [PATCH 07/21] Fix installation with blender 5.2.0 --- .run/Build BlenderDocker.run.xml | 17 +++---------- .run/Generate image.run.xml | 34 ------------------------- Dockerfile | 43 ++++++++------------------------ 3 files changed, 15 insertions(+), 79 deletions(-) delete mode 100644 .run/Generate image.run.xml diff --git a/.run/Build BlenderDocker.run.xml b/.run/Build BlenderDocker.run.xml index bf35d50..115ee12 100644 --- a/.run/Build BlenderDocker.run.xml +++ b/.run/Build BlenderDocker.run.xml @@ -1,32 +1,23 @@ - + - - diff --git a/.run/Generate image.run.xml b/.run/Generate image.run.xml deleted file mode 100644 index 85e76e6..0000000 --- a/.run/Generate image.run.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 0c08985..23e15e9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,60 +1,39 @@ -FROM ubuntu:25.04 AS b3dock +FROM python:latest AS b3dock # Setup all software version request -ARG b3d_vs_major=5.1 +ARG b3d_vs_major=5.2 ARG b3d_vs_minor=0 LABEL Author="stilobique" LABEL Title="Blender Docker for Unit Test" +LABEL maintainer="Aurelien Vaillant contact@aurelien-vaillant.net" #ENV TZ=Europe/Paris #RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone ## 01. Start First stage to build blender # Install dependencies -RUN apt-get update && apt-get install -y \ - git \ - git-lfs \ - python3 \ - build-essential \ - subversion \ - cmake \ - libx11-dev \ - libxxf86vm-dev \ - libxcursor-dev \ - libxi-dev \ - libxrandr-dev \ - libxinerama-dev \ - libegl-dev \ - libwayland-dev \ - wayland-protocols \ - libxkbcommon-dev \ - libdbus-1-dev \ - linux-libc-dev +RUN apt-get update && apt-get install -y git git-lfs # Compile Blender RUN git clone --depth 1 --branch v${b3d_vs_major}.${b3d_vs_minor} \ https://projects.blender.org/blender/blender.git /opt/blender +# Get dependencies +RUN python /opt/blender/build_files/build_environment/install_linux_packages.py RUN cd /opt/blender && make update RUN cd /opt/blender && make -j$(nproc) -# Check if this folder exist -RUN ls /opt/build_linux/bin/ - ## 02. Build optimissed image ## Setup a Multistage optimisation FROM ubuntu:25.04 AS final -RUN apt-get update && apt-get install -y \ - libsm6 \ - libxi6 \ - libxxf86vm1 \ - libxrender1 \ - libxfixes3 \ - libxkbcommon0 \ - libgl1 +RUN apt-get update && apt-get install -y python3 +COPY --from=b3dock /opt/blender/build_files/build_environment/install_linux_packages.py /media/install_linux_packages.py +RUN python3 /media/install_linux_packages.py && \ + rm /media/install_linux_packages.py && \ + apt --purge remove python3 RUN useradd -m -s /bin/bash bld -- 2.39.5 From dc2dc84f4fef75e2708bc65dc778d48c41f7d186 Mon Sep 17 00:00:00 2001 From: stilobique Date: Fri, 17 Jul 2026 08:45:55 +0200 Subject: [PATCH 08/21] Add Jetbrains project icon --- .idea/icon.svg | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 .idea/icon.svg diff --git a/.idea/icon.svg b/.idea/icon.svg new file mode 100644 index 0000000..0b9bfa7 --- /dev/null +++ b/.idea/icon.svg @@ -0,0 +1,66 @@ + + + Blender logo (without text) + + + + + + + + + +Blender logo (without text) -- 2.39.5 From 82653b4fba6eab1b4abe25f399b17e300a80ca48 Mon Sep 17 00:00:00 2001 From: stilobique Date: Sat, 18 Jul 2026 11:28:16 +0200 Subject: [PATCH 09/21] Update dependencies get --- .run/Build BlenderDocker.run.xml | 2 +- Dockerfile | 10 +++++----- scripts/gen_packages_txt.py | 31 +++++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 6 deletions(-) create mode 100644 scripts/gen_packages_txt.py diff --git a/.run/Build BlenderDocker.run.xml b/.run/Build BlenderDocker.run.xml index 115ee12..0bfdcb7 100644 --- a/.run/Build BlenderDocker.run.xml +++ b/.run/Build BlenderDocker.run.xml @@ -1,5 +1,5 @@ - +