#!/usr/bin/env bash set -euo pipefail [ -f ./.env ] || { echo "Error: .env file not found"; exit 1; } source ./.env || { echo "Error: failed to load .env"; exit 1; } command -v fpm >/dev/null 2>&1 || { echo "Error: fpm not found in PATH"; exit 1; } rm -rf ./build rm -f "${BUILD_APP}_${BUILD_VER}_${BUILD_ARCH}.deb" rm -rf "$BUILD_STAGE" mkdir -p "$BUILD_STAGE"/{opt/$BUILD_APP,usr/bin,var/log/$BUILD_APP} for item in *; do [ "$item" = "build" ] && continue case "$item" in .*|*.deb) continue ;; esac cp -a "$item" "$BUILD_STAGE/opt/$BUILD_APP/" || { echo "Error: failed to copy '$item' to stage"; exit 1; } done touch "$BUILD_STAGE/var/log/$BUILD_APP/app.log" || { echo "Error: unable to create log in $BUILD_STAGE/var/log/$BUILD_APP"; exit 1; } cat > "$BUILD_STAGE/usr/bin/$BUILD_APP" <