diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-08-31 10:49:45 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-08-31 10:49:45 +0200 |
| commit | 8d5c564e75ad2928e77ea66decc979366ca5ccd5 (patch) | |
| tree | 7f88ceb2ccd838011bb2f399f148c7f9b39f75ec /packaging/rpm/meshbay-client.spec | |
| parent | 0c2754d2d4cb1905d5e324f56fbc64e4afae526f (diff) | |
| download | meshbay-8d5c564e75ad2928e77ea66decc979366ca5ccd5.tar.gz | |
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 <noreply@anthropic.com>
Diffstat (limited to 'packaging/rpm/meshbay-client.spec')
| -rw-r--r-- | packaging/rpm/meshbay-client.spec | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/packaging/rpm/meshbay-client.spec b/packaging/rpm/meshbay-client.spec new file mode 100644 index 0000000..8788e67 --- /dev/null +++ b/packaging/rpm/meshbay-client.spec @@ -0,0 +1,53 @@ +Name: meshbay-client +Version: __VERSION__ +Release: 1%{?dist} +Summary: MeshBay — peer-to-peer file sharing, streaming and group chat +License: AGPLv3+ +URL: https://meshbay.org + +AutoReqProv: no + +Requires: gtk3 +Requires: libnotify +Requires: nss +Requires: libXScrnSaver +Requires: libXtst +Requires: at-spi2-core +Requires: libdrm +Requires: mesa-libgbm +Requires: alsa-lib +Recommends: meshbay-node + +%description +Desktop client for MeshBay. Connects to MeshBay nodes over WebRTC for +file sharing, video streaming, and group chat. Includes Chromecast and +Smart TV casting support. + +Installs the Electron application to /opt/meshbay-client/ and a Gnome +launcher named "MeshBay". + +%install +cp -a %{_staging_root}/* %{buildroot}/ + +%post +if [ -f /opt/meshbay-client/chrome-sandbox ]; then + chown root:root /opt/meshbay-client/chrome-sandbox + chmod 4755 /opt/meshbay-client/chrome-sandbox +fi +update-desktop-database /usr/share/applications 2>/dev/null || true +gtk-update-icon-cache -f -t /usr/share/icons/hicolor 2>/dev/null || true + +%postun +update-desktop-database /usr/share/applications 2>/dev/null || true +gtk-update-icon-cache -f -t /usr/share/icons/hicolor 2>/dev/null || true + +%files +/opt/meshbay-client +/usr/bin/meshbay +/usr/share/applications/meshbay.desktop +/usr/share/icons/hicolor/*/apps/meshbay.png +/usr/lib/firewalld/services/meshbay-cast.xml + +%changelog +* Sun Aug 31 2026 MeshBay Team <team@meshbay.org> - %{version}-1 +- Initial packaging of the desktop client |