aboutsummaryrefslogtreecommitdiffstats
path: root/packaging/rpm/meshbay-node.spec
blob: 152cf3a94b415b5c93a7e288b69541cda114d852 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
Name:           meshbay-node
Version:        0.3.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 15 2026 MeshBay Team <team@meshbay.org> - 0.3.0-1
- Video streaming is paced by the client; stream_stop frees the transcode slot
- Operator can remove an empty directory and revoke a member over MNP
- meshbay-node group add: host another of your hub groups
- admin_pk_ed25519 removed; the roster is the only source of node authority

* Fri Aug 14 2026 MeshBay Team <team@meshbay.org> - 0.2.0-1
- Node wraps the group key itself; members are admitted from a local roster
- Identity keys are per node, created at first contact and pinned there
- Operator surface over SSH: operator pair, member list|invite|revoke|unpin
- Unauthenticated HTTP file API and TCP transport removed (C1, C6)

* Sat Aug 09 2026 MeshBay Team <team@meshbay.org> - 0.1.0-1
- Initial package