Commit 87b80829 authored by jan.koester's avatar jan.koester
Browse files

test

parent b59db8e5
Loading
Loading
Loading
Loading
+42 −8
Original line number Diff line number Diff line
@@ -542,6 +542,7 @@ run_phase() {
            setup_toolchain
            build_libraries
            build_blogi
            build_editor
            ;;
    esac
}
@@ -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
}