#!/usr/bin/env bash set -euo pipefail ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" VERSION="${JARVIS_VERSION:-$(node -p "require('${ROOT_DIR}/package.json').version")}" ARCH="${JARVIS_DEB_ARCH:-$(dpkg --print-architecture)}" OUT_DIR="${ROOT_DIR}/dist" PKG_DIR="${OUT_DIR}/jarvis-qvac_${VERSION}_${ARCH}" rm -rf "${PKG_DIR}" mkdir -p "${PKG_DIR}/DEBIAN" "${PKG_DIR}/usr/lib/jarvis-qvac" "${PKG_DIR}/usr/share/doc/jarvis-qvac" cat > "${PKG_DIR}/DEBIAN/control" <= 45) Maintainer: JARVIS-QVAC maintainers Description: Local GPU-backed GNOME voice assistant JARVIS-QVAC is a local-first voice assistant for Ubuntu GNOME. EOF case "${ARCH}" in amd64) PLATFORM=linux-x64 ;; arm64) PLATFORM=linux-arm64 ;; *) echo "Unsupported architecture: ${ARCH}" >&2; exit 2 ;; esac BUNDLE="${OUT_DIR}/jarvis-qvac-bare-${PLATFORM}.tar.gz" [[ -f "${BUNDLE}" ]] || bash "${ROOT_DIR}/packaging/build-runtime-bundle.sh" tar -xzf "${BUNDLE}" --strip-components=1 -C "${PKG_DIR}/usr/lib/jarvis-qvac" cp "${ROOT_DIR}/README.md" "${PKG_DIR}/usr/share/doc/jarvis-qvac/README.md" cp "${ROOT_DIR}/docs/RELEASE.md" "${PKG_DIR}/usr/share/doc/jarvis-qvac/RELEASE.md" dpkg-deb -Zgzip -z6 --build --root-owner-group "${PKG_DIR}" "${OUT_DIR}/jarvis-qvac_${VERSION}_${ARCH}.deb" >/dev/null rm -rf "${PKG_DIR}" echo "${OUT_DIR}/jarvis-qvac_${VERSION}_${ARCH}.deb"