Loading packaging/build-nspawn.sh +42 −8 Original line number Diff line number Diff line Loading @@ -542,6 +542,7 @@ run_phase() { setup_toolchain build_libraries build_blogi build_editor ;; esac } Loading @@ -550,18 +551,51 @@ run_phase() { # Phase 5: Build blogi-editor normally (system toolchain, dpkg-buildpackage) # ───────────────────────────────────────────────────────────── build_editor() { echo "==> Building blogi-editor .deb with system toolchain..." echo "==> Building blogi-editor package (nspawn + musl)..." cd "$PROJECT_DIR" dpkg-buildpackage -us -uc -d -b --build-profiles=editor # Bind-mount the source tree read-only systemd-nspawn -D "$CHROOT_DIR" \ --bind-ro="$PROJECT_DIR:$BUILD_DIR/blogi-src" \ --pipe -- bash -c " set -e TOOLCHAIN=/usr/local/musl/share/musl-llvm-toolchain.cmake # Collect output # Copy source (we don't modify the bind mount) rm -rf $BUILD_DIR/blogi cp -a $BUILD_DIR/blogi-src $BUILD_DIR/blogi cd $BUILD_DIR/blogi # Build mkdir -p build && cd build cmake .. -G Ninja \ -DCMAKE_TOOLCHAIN_FILE=\$TOOLCHAIN \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_EDITOR=ON ninja # Package via dpkg-buildpackage cd $BUILD_DIR/blogi dpkg-buildpackage -us -uc -d -b --build-profiles=nspawn,editor # Collect .deb files mkdir -p $BUILD_DIR/output mv ../*.deb $BUILD_DIR/output/ 2>/dev/null || true mv ../*.changes $BUILD_DIR/output/ 2>/dev/null || true mv ../*.buildinfo $BUILD_DIR/output/ 2>/dev/null || true echo '==> Editor package build complete' ls -la $BUILD_DIR/output/ " # Copy output to host mkdir -p "$OUTPUT_DIR" mv "$PROJECT_DIR"/../blogi-editor_*.deb "$OUTPUT_DIR/" 2>/dev/null || true mv "$PROJECT_DIR"/../blogi-editor_*.changes "$OUTPUT_DIR/" 2>/dev/null || true mv "$PROJECT_DIR"/../blogi-editor_*.buildinfo "$OUTPUT_DIR/" 2>/dev/null || true cp "$CHROOT_DIR/$BUILD_DIR/output/"*editor*.deb "$OUTPUT_DIR/" 2>/dev/null || true cp "$CHROOT_DIR/$BUILD_DIR/output/"*editor*.changes "$OUTPUT_DIR/" 2>/dev/null || true cp "$CHROOT_DIR/$BUILD_DIR/output/"*editor*.buildinfo "$OUTPUT_DIR/" 2>/dev/null || true echo "==> blogi-editor package built" echo "==> blogi-editor packages available in: $OUTPUT_DIR" ls -la "$OUTPUT_DIR"/blogi-editor* 2>/dev/null || true } Loading Loading
packaging/build-nspawn.sh +42 −8 Original line number Diff line number Diff line Loading @@ -542,6 +542,7 @@ run_phase() { setup_toolchain build_libraries build_blogi build_editor ;; esac } Loading @@ -550,18 +551,51 @@ run_phase() { # Phase 5: Build blogi-editor normally (system toolchain, dpkg-buildpackage) # ───────────────────────────────────────────────────────────── build_editor() { echo "==> Building blogi-editor .deb with system toolchain..." echo "==> Building blogi-editor package (nspawn + musl)..." cd "$PROJECT_DIR" dpkg-buildpackage -us -uc -d -b --build-profiles=editor # Bind-mount the source tree read-only systemd-nspawn -D "$CHROOT_DIR" \ --bind-ro="$PROJECT_DIR:$BUILD_DIR/blogi-src" \ --pipe -- bash -c " set -e TOOLCHAIN=/usr/local/musl/share/musl-llvm-toolchain.cmake # Collect output # Copy source (we don't modify the bind mount) rm -rf $BUILD_DIR/blogi cp -a $BUILD_DIR/blogi-src $BUILD_DIR/blogi cd $BUILD_DIR/blogi # Build mkdir -p build && cd build cmake .. -G Ninja \ -DCMAKE_TOOLCHAIN_FILE=\$TOOLCHAIN \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_EDITOR=ON ninja # Package via dpkg-buildpackage cd $BUILD_DIR/blogi dpkg-buildpackage -us -uc -d -b --build-profiles=nspawn,editor # Collect .deb files mkdir -p $BUILD_DIR/output mv ../*.deb $BUILD_DIR/output/ 2>/dev/null || true mv ../*.changes $BUILD_DIR/output/ 2>/dev/null || true mv ../*.buildinfo $BUILD_DIR/output/ 2>/dev/null || true echo '==> Editor package build complete' ls -la $BUILD_DIR/output/ " # Copy output to host mkdir -p "$OUTPUT_DIR" mv "$PROJECT_DIR"/../blogi-editor_*.deb "$OUTPUT_DIR/" 2>/dev/null || true mv "$PROJECT_DIR"/../blogi-editor_*.changes "$OUTPUT_DIR/" 2>/dev/null || true mv "$PROJECT_DIR"/../blogi-editor_*.buildinfo "$OUTPUT_DIR/" 2>/dev/null || true cp "$CHROOT_DIR/$BUILD_DIR/output/"*editor*.deb "$OUTPUT_DIR/" 2>/dev/null || true cp "$CHROOT_DIR/$BUILD_DIR/output/"*editor*.changes "$OUTPUT_DIR/" 2>/dev/null || true cp "$CHROOT_DIR/$BUILD_DIR/output/"*editor*.buildinfo "$OUTPUT_DIR/" 2>/dev/null || true echo "==> blogi-editor package built" echo "==> blogi-editor packages available in: $OUTPUT_DIR" ls -la "$OUTPUT_DIR"/blogi-editor* 2>/dev/null || true } Loading