From 8d5c564e75ad2928e77ea66decc979366ca5ccd5 Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Mon, 31 Aug 2026 10:49:45 +0200 Subject: feat(packaging): 4-package .deb/.rpm build system under /opt Shared venv architecture: meshbay-common owns the Python venv with all pip deps pre-installed; hub and node add only their code into it. Client is a standalone Electron app. No pip runs at install time. - Add build scripts (packaging/build/) for common, hub, node, client - Add orchestrator build-packages.sh with deb/rpm auto-detection - Add .deb control/postinst for all 4 packages - Add .rpm specs for all 4 packages (replaces python3-meshbay-common) - Add Gnome .desktop launcher and icon resizing - Add firewalld services (meshbay-cast, meshbay-node) and UFW profiles - Update systemd units to use /opt/meshbay-common/venv/bin/ paths - TMDB token baked into node package at build time via QE/node.env - Fix package-lock.json sync for protobufjs override Co-Authored-By: Claude Opus 4.6 --- packaging/deb/meshbay-node/DEBIAN/control | 18 +++++++++--------- packaging/deb/meshbay-node/DEBIAN/postinst | 13 +++++++++++++ 2 files changed, 22 insertions(+), 9 deletions(-) create mode 100644 packaging/deb/meshbay-node/DEBIAN/postinst (limited to 'packaging/deb/meshbay-node/DEBIAN') diff --git a/packaging/deb/meshbay-node/DEBIAN/control b/packaging/deb/meshbay-node/DEBIAN/control index 8d74ee4..0c9d73d 100644 --- a/packaging/deb/meshbay-node/DEBIAN/control +++ b/packaging/deb/meshbay-node/DEBIAN/control @@ -1,17 +1,17 @@ Package: meshbay-node -Version: 0.2.0 +Version: __VERSION__ Section: net Priority: optional Architecture: all Maintainer: MeshBay Team Homepage: https://meshbay.org -Depends: python3 (>= 3.12), - python3-meshbay-common (= 0.2.0), - adduser +Depends: meshbay-common (= __VERSION__) Recommends: ffmpeg -Description: MeshBay Node — local file host and streaming server - MeshBay Node indexes local directories and serves encrypted files - to authenticated group members over QUIC (MNP v2) or TCP+TLS (MNP v1). +Description: MeshBay Node — local file host, streaming server, and group daemon + MeshBay Node indexes local directories and serves encrypted files to + authenticated group members over WebRTC. Includes video streaming (fMP4 + remux via ffmpeg), group chat, and a local admin UI on localhost:18000. . - Includes a local management web UI at http://localhost:18000. - Designed to run on a home server or NAS. + Installs node code into the shared venv at /opt/meshbay-common/venv/. + Ships a default TMDB API token for the Videos app. + Runs as a systemd user service. diff --git a/packaging/deb/meshbay-node/DEBIAN/postinst b/packaging/deb/meshbay-node/DEBIAN/postinst new file mode 100644 index 0000000..ba16633 --- /dev/null +++ b/packaging/deb/meshbay-node/DEBIAN/postinst @@ -0,0 +1,13 @@ +#!/bin/sh +set -e + +case "$1" in + configure) + # Reload systemd if available + if [ -d /run/systemd/system ]; then + systemctl daemon-reload || true + fi + ;; +esac + +#DEBHELPER# -- cgit v1.2.3