Ver Fonte

fix: separate dist/local/ and dist/debian13/ output directories

Prevents Docker-built packages (nlohmann 3.11.3) from overwriting
locally-built packages (nlohmann 3.12.0) and vice versa. Each build
mode writes to its own subdirectory:

  ./packaging/build.sh --local  → dist/local/
  ./packaging/build.sh          → dist/debian13/

Also adds dist/ to .gitignore.
fszontagh há 3 meses atrás
pai
commit
d6a046e7b5
2 ficheiros alterados com 21 adições e 3 exclusões
  1. 4 0
      .gitignore
  2. 17 3
      packaging/build.sh

+ 4 - 0
.gitignore

@@ -1,7 +1,11 @@
 # Build
 build/
+build-static/
 cmake-build-*/
 
+# Packaging output
+dist/
+
 # IDE
 .idea/
 .vscode/

+ 17 - 3
packaging/build.sh

@@ -15,10 +15,14 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
 PROJECT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
 
 BASE_IMAGE_NAME="smartbotic-db-build-base:debian13"
-OUTPUT_DIR="${PROJECT_DIR}/dist"
 BUILD_JOBS="${BUILD_JOBS:-$(nproc)}"
 DEB_REPO_DIR="${DEB_REPO_DIR:-/data/smartbotics-deb-repo}"
 
+# Output directories — separate to prevent local/Docker overwriting each other
+#   dist/local/    — native build for current system
+#   dist/debian13/ — Docker build for Debian 13 production
+DIST_BASE="${PROJECT_DIR}/dist"
+
 VERSION="$(cat "$PROJECT_DIR/VERSION")"
 GIT_COMMIT="$(git -C "$PROJECT_DIR" rev-parse --short HEAD 2>/dev/null || echo "unknown")"
 
@@ -108,6 +112,16 @@ if [[ $DO_REPO -eq 1 && -z "$SUITE" ]]; then
     exit 1
 fi
 
+# ---------------------------------------------------------------------------
+# Set output directory based on mode
+# ---------------------------------------------------------------------------
+if [[ $LOCAL_MODE -eq 1 ]]; then
+    OUTPUT_DIR="${DIST_BASE}/local"
+else
+    OUTPUT_DIR="${DIST_BASE}/debian13"
+fi
+mkdir -p "$OUTPUT_DIR"
+
 # ---------------------------------------------------------------------------
 # Banner
 # ---------------------------------------------------------------------------
@@ -118,6 +132,7 @@ if [[ $LOCAL_MODE -eq 1 ]]; then
 else
     log_info "Mode: Docker (Debian 13)"
 fi
+log_info "Output: ${OUTPUT_DIR}"
 
 # ---------------------------------------------------------------------------
 # Local build
@@ -147,7 +162,7 @@ build_local() {
     fi
 
     log_info "Creating .deb packages..."
-    BUILD_DEB_REVISION="$DEB_REVISION" "$PROJECT_DIR/packaging/deb/create-debs.sh"
+    OUTPUT_DIR="$OUTPUT_DIR" BUILD_DEB_REVISION="$DEB_REVISION" "$PROJECT_DIR/packaging/deb/create-debs.sh"
     log_success "Packages created"
 
     if [[ $INSTALL_AFTER -eq 1 ]]; then
@@ -196,7 +211,6 @@ build_docker() {
 
     # Build packages
     log_info "Building packages in Docker..."
-    mkdir -p "$OUTPUT_DIR"
 
     local build_cache_args=()
     if [[ $NO_CACHE -eq 1 ]]; then