diff options
Diffstat (limited to 'packaging/rpm')
| -rw-r--r-- | packaging/rpm/meshbay-hub.spec | 78 | ||||
| -rw-r--r-- | packaging/rpm/meshbay-node.spec | 57 | ||||
| -rw-r--r-- | packaging/rpm/python3-meshbay-common.spec | 42 |
3 files changed, 177 insertions, 0 deletions
diff --git a/packaging/rpm/meshbay-hub.spec b/packaging/rpm/meshbay-hub.spec new file mode 100644 index 0000000..f68c3bf --- /dev/null +++ b/packaging/rpm/meshbay-hub.spec @@ -0,0 +1,78 @@ +Name: meshbay-hub +Version: 0.1.0 +Release: 1%{?dist} +Summary: MeshBay Hub — identity authority and group registry server +License: AGPLv3+ +URL: https://meshbay.org +Source0: %{name}-%{version}.tar.gz + +BuildArch: noarch +BuildRequires: python3-devel >= 3.12 +BuildRequires: python3-pip +BuildRequires: python3-hatchling + +Requires: python3 >= 3.12 +Requires: python3-meshbay-common = %{version} +Requires: python3-fastapi +Requires: python3-uvicorn +Requires: python3-sqlalchemy >= 2.0 +Requires: python3-alembic +Requires: python3-asyncpg +Requires: python3-pyjwt +Requires: python3-blake3 +Requires: python3-slowapi +Requires: postgresql-server + +%description +MeshBay Hub provides identity management, group registry, +GEK bundle distribution, and coordination for MeshBay nodes. +Runs as a systemd service behind Caddy (HTTPS). + +%prep +%autosetup + +%build +%{python3} -m pip wheel --no-deps --wheel-dir dist . + +%install +%{python3} -m pip install --root %{buildroot} --no-index --find-links dist meshbay-hub + +# systemd service +install -Dm644 packaging/systemd/meshbay-hub.service \ + %{buildroot}%{_unitdir}/meshbay-hub.service + +# Config file template +install -Dm644 packaging/conf/hub.toml.example \ + %{buildroot}%{_sysconfdir}/meshbay/hub.toml.example + +# Data directory +install -d %{buildroot}%{_sharedstatedir}/meshbay/hub + +%pre +getent group meshbay >/dev/null || groupadd -r meshbay +getent passwd meshbay >/dev/null || \ + useradd -r -g meshbay -d %{_sharedstatedir}/meshbay -s /sbin/nologin \ + -c "MeshBay service account" meshbay + +%post +%systemd_post meshbay-hub.service + +%preun +%systemd_preun meshbay-hub.service + +%postun +%systemd_postun_with_restart meshbay-hub.service + +%files +%license LICENSE +%doc README.md +%{python3_sitelib}/meshbay_hub/ +%{python3_sitelib}/meshbay_hub-*.dist-info/ +%{_bindir}/meshbay-hub +%{_unitdir}/meshbay-hub.service +%config(noreplace) %{_sysconfdir}/meshbay/hub.toml.example +%dir %attr(750, meshbay, meshbay) %{_sharedstatedir}/meshbay/hub + +%changelog +* Sat Aug 09 2026 MeshBay Team <team@meshbay.org> - 0.1.0-1 +- Initial package diff --git a/packaging/rpm/meshbay-node.spec b/packaging/rpm/meshbay-node.spec new file mode 100644 index 0000000..5604f4a --- /dev/null +++ b/packaging/rpm/meshbay-node.spec @@ -0,0 +1,57 @@ +Name: meshbay-node +Version: 0.1.0 +Release: 1%{?dist} +Summary: MeshBay Node — local file host, streaming server, and group daemon +License: AGPLv3+ +URL: https://meshbay.org +Source0: %{name}-%{version}.tar.gz + +BuildArch: noarch +BuildRequires: python3-devel >= 3.12 +BuildRequires: python3-pip +BuildRequires: python3-hatchling + +Requires: python3 >= 3.12 +Requires: python3-meshbay-common = %{version} +Requires: python3-fastapi +Requires: python3-uvicorn +Requires: python3-httpx +Requires: python3-watchdog +Requires: python3-aioquic >= 1.0 +Requires: python3-aioice +Requires: python3-pyjwt +Requires: python3-blake3 +Requires: python3-msgpack +Requires: python3-zstandard +# Optional: ffmpeg for HLS streaming +Recommends: ffmpeg + +%description +MeshBay Node indexes local directories and serves encrypted files +to authenticated group members over QUIC (MNP v2) or TCP+TLS (MNP v1). +Includes a local web UI at http://localhost:18000. + +%prep +%autosetup + +%build +%{python3} -m pip wheel --no-deps --wheel-dir dist . + +%install +%{python3} -m pip install --root %{buildroot} --no-index --find-links dist meshbay-node + +# systemd user service (template) +install -Dm644 packaging/systemd/meshbay-node.service \ + %{buildroot}%{_userunitdir}/meshbay-node.service + +%files +%license LICENSE +%doc README.md +%{python3_sitelib}/meshbay_node/ +%{python3_sitelib}/meshbay_node-*.dist-info/ +%{_bindir}/meshbay-node +%{_userunitdir}/meshbay-node.service + +%changelog +* Sat Aug 09 2026 MeshBay Team <team@meshbay.org> - 0.1.0-1 +- Initial package diff --git a/packaging/rpm/python3-meshbay-common.spec b/packaging/rpm/python3-meshbay-common.spec new file mode 100644 index 0000000..7687e90 --- /dev/null +++ b/packaging/rpm/python3-meshbay-common.spec @@ -0,0 +1,42 @@ +Name: python3-meshbay-common +Version: 0.1.0 +Release: 1%{?dist} +Summary: MeshBay shared cryptographic primitives and protocol types +License: AGPLv3+ +URL: https://meshbay.org +Source0: meshbay-common-%{version}.tar.gz + +BuildArch: noarch +BuildRequires: python3-devel >= 3.12 +BuildRequires: python3-pip +BuildRequires: python3-hatchling + +Requires: python3 >= 3.12 +Requires: python3-cryptography >= 43.0 +Requires: python3-pyjwt >= 2.9 +Requires: python3-blake3 >= 1.0 +Requires: python3-msgpack >= 1.1 +Requires: python3-zstandard >= 0.23 + +%description +Shared library for MeshBay hub and node packages. +Provides: Ed25519/X25519 operations, GEK wrap/unwrap, chunk +encryption/signing, keystore AES-256-GCM, and MNP protocol types. + +%prep +%autosetup -n meshbay-common-%{version} + +%build +%{python3} -m pip wheel --no-deps --wheel-dir dist . + +%install +%{python3} -m pip install --root %{buildroot} --no-index --find-links dist meshbay-common + +%files +%license LICENSE +%{python3_sitelib}/meshbay_common/ +%{python3_sitelib}/meshbay_common-*.dist-info/ + +%changelog +* Sat Aug 09 2026 MeshBay Team <team@meshbay.org> - 0.1.0-1 +- Initial package |