From 705f99d8dce702a5aeedc67a61e333b573c717f5 Mon Sep 17 00:00:00 2001 From: claude-veilor-bot <279801990+s8n-ru@users.noreply.github.com> Date: Thu, 7 May 2026 01:55:08 +0100 Subject: [PATCH] fix(v0.7): bluebuild type:copy + livemedia-creator clean resultdir bluebuild (159): 'type: files' module fails 'chmod: Operation not permitted' inside its own bind-mounted /tmp/modules/files/files.sh under buildah + privileged-podman in our runner. Switch all four `type: files` modules to `type: copy` (low-level COPY, no chmod, no helper script needed). installer-iso (160): livemedia-creator refused build/out which checkout had already created (Forgejo runner reuses workspace dir between runs). rm -rf build/out before invocation; mkdir not needed, livemedia-creator creates the dir itself. Co-Authored-By: Claude Opus 4.7 --- .github/workflows/build-installer-iso.yml | 4 ++- bluebuild/recipe.yml | 35 +++++++++++------------ 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/.github/workflows/build-installer-iso.yml b/.github/workflows/build-installer-iso.yml index c8af964..fb0f4bc 100644 --- a/.github/workflows/build-installer-iso.yml +++ b/.github/workflows/build-installer-iso.yml @@ -62,7 +62,9 @@ jobs: - name: Build installer ISO with livemedia-creator run: | set -euxo pipefail - mkdir -p build/out /var/lmc + # livemedia-creator refuses an existing non-empty resultdir. + rm -rf build/out + mkdir -p /var/lmc ln -sfn "$GITHUB_WORKSPACE" /work # livemedia-creator does NOT support --title (that's livecd-creator). # --volid replaces it for the ISO volume label. diff --git a/bluebuild/recipe.yml b/bluebuild/recipe.yml index 826d808..4a3d3a1 100644 --- a/bluebuild/recipe.yml +++ b/bluebuild/recipe.yml @@ -23,22 +23,22 @@ image-version: latest modules: # ── 1. veilor branding overlay ────────────────────────────────── - # Stamps our overlay/* tree onto the OCI image. KDE color scheme, - # Plymouth theme, SDDM theme, fontconfig, os-release. - - type: files - files: - - source: ../overlay - destination: / + # `type: copy` is a low-level direct COPY (no chmod, no script). + # `type: files` was failing with `chmod: Operation not permitted` on + # the BlueBuild-shipped /tmp/modules/files/files.sh under buildah + + # podman privileged in our runner — the script tries to make itself + # executable inside its own bind-mounted layer. + - type: copy + source: ../overlay + destination: / - - type: files - files: - - source: ../assets - destination: /usr/share/veilor-os/assets + - type: copy + source: ../assets + destination: /usr/share/veilor-os/assets - - type: files - files: - - source: ../scripts - destination: /usr/share/veilor-os/scripts + - type: copy + source: ../scripts + destination: /usr/share/veilor-os/scripts # ── 2. Branding overrides at build time ───────────────────────── - type: script @@ -123,10 +123,9 @@ modules: - htop # ── 7. ujust recipes for opt-in components ────────────────────── - - type: files - files: - - source: config/just - destination: /usr/share/ublue-os/just + - type: copy + source: config/just + destination: /usr/share/ublue-os/just # ── 8. Service tuning: tailscale pre-disabled, yggdrasil idle ─── - type: systemd