diff options
Diffstat (limited to 'packaging/rpm/meshbay-hub.spec')
| -rw-r--r-- | packaging/rpm/meshbay-hub.spec | 78 |
1 files changed, 78 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 |