33 lines
1.7 KiB
Bash
Executable File
33 lines
1.7 KiB
Bash
Executable File
#!/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" <<EOF
|
|
Package: jarvis-qvac
|
|
Version: ${VERSION}
|
|
Section: utils
|
|
Priority: optional
|
|
Architecture: ${ARCH}
|
|
Depends: gjs, pipewire-bin, python3-gi, gir1.2-gtk-4.0, gir1.2-adw-1 (>= 1.4), gnome-shell (>= 45)
|
|
Maintainer: HoneyPeer, LLC
|
|
Description: Local GPU-backed GNOME voice assistant
|
|
Jarvis is a local-first voice assistant for Ubuntu GNOME.
|
|
Copyright (C) 2026 HoneyPeer, LLC. Licensed under AGPLv3 or later.
|
|
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}/LICENSE" "${PKG_DIR}/usr/share/doc/jarvis-qvac/LICENSE"
|
|
cp "${ROOT_DIR}/COPYRIGHT" "${PKG_DIR}/usr/share/doc/jarvis-qvac/copyright"
|
|
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"
|