Skip to content

Commit cf2945e

Browse files
committed
Qubes 4.2 support.
1 parent 06c5b1b commit cf2945e

13 files changed

+2089
-296
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ pkgs/
99
build
1010
*.egg-info
1111
src/*.service
12+
.mypy_cache

Makefile

+3-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ ROOT_DIR := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))
1616
clean:
1717
cd $(ROOT_DIR) || exit $$? ; find -name '*.pyc' -o -name '*~' -print0 | xargs -0 rm -f
1818
cd $(ROOT_DIR) || exit $$? ; rm -rf *.tar.gz *.rpm
19-
cd $(ROOT_DIR) || exit $$? ; rm -rf *.egg-info build
19+
cd $(ROOT_DIR) || exit $$? ; rm -rf *.egg-info build .mypy_cache
2020

2121
dist: clean
2222
@which rpmspec || { echo 'rpmspec is not available. Please install the rpm-build package with the command `dnf install rpm-build` to continue, then rerun this step.' ; exit 1 ; }
@@ -32,12 +32,13 @@ rpm: dist
3232
cd $(ROOT_DIR) ; mv -f builddir.rpm/*/* . && rm -rf builddir.rpm
3333

3434
install-template: all
35+
PYTHONDONTWRITEBYTECODE=1 python3 routingmanagersetup.py install $(PYTHON_PREFIX_ARG) -O0 --root $(DESTDIR)
3536
install -Dm 755 src/qubes-routing-manager -t $(DESTDIR)/$(SBINDIR)/
3637
sed -i "s,^#!.*,#!$(PYTHON)," $(DESTDIR)/$(SBINDIR)/qubes-routing-manager
3738
install -Dm 644 src/qubes-routing-manager.service -t $(DESTDIR)/$(UNITDIR)/
3839

3940
# Python 3 is always used for Qubes admin package.
4041
install-dom0:
41-
PYTHONDONTWRITEBYTECODE=1 python3 setup.py install $(PYTHON_PREFIX_ARG) -O0 --root $(DESTDIR)
42+
PYTHONDONTWRITEBYTECODE=1 python3 networkserversetup.py install $(PYTHON_PREFIX_ARG) -O0 --root $(DESTDIR)
4243

4344
install: install-dom0 install-template

README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# Qubes network server
22

3-
This software lets you turn your [Qubes OS 4.1](https://www.qubes-os.org/) machine into
3+
This software lets you turn your [Qubes OS 4.2](https://www.qubes-os.org/) machine into
44
a network server, enjoying all the benefits of Qubes OS (isolation, secure
55
inter-VM process communication, ease of use) with none of the drawbacks
66
of setting up your own Xen server.
77

8-
This release is only intended for use with Qubes OS 4.1. Older Qubes OS releases
9-
will not support it. For Qubes OS 4.0, check branch `r4.0`.
8+
This release is only intended for use with Qubes OS 4.2. Older Qubes OS releases
9+
will not support it. For Qubes OS 4.1, check branch `r4.1`.
1010

1111
## Why?
1212

build.parameters

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
["RELEASE": "q4.1 37"]
1+
["RELEASE": "q4.2 37 38 39"]

networkserversetup.py

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import os
2+
import setuptools
3+
4+
if __name__ == "__main__":
5+
version = (
6+
open(os.path.join(os.path.dirname(__file__), "qubes-network-server.spec"))
7+
.read()
8+
.strip()
9+
)
10+
version = [v for v in version.splitlines() if v.startswith("Version:")][0]
11+
version = version.split()[-1]
12+
setuptools.setup(
13+
name="qubesnetworkserver",
14+
version=version,
15+
author="Manuel Amador (Rudd-O)",
16+
author_email="rudd-o@rudd-o.com",
17+
description="Qubes network server dom0 component",
18+
license="GPL2+",
19+
url="https://github.com/Rudd-O/qubes-network-server",
20+
packages=("qubesnetworkserver",),
21+
entry_points={
22+
"qubes.ext": [
23+
"qubesnetworkserver = qubesnetworkserver:QubesNetworkServerExtension",
24+
],
25+
},
26+
)

qubes-network-server.spec

+6-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
%define mybuildnumber %{?build_number}%{?!build_number:1}
44

55
Name: qubes-network-server
6-
Version: 0.0.19
6+
Version: 0.1.0
77
Release: %{mybuildnumber}%{?dist}
88
Summary: Turn your Qubes OS into a network server
99
BuildArch: noarch
@@ -20,9 +20,10 @@ BuildRequires: python3
2020
BuildRequires: python3-rpm-macros
2121
BuildRequires: systemd-rpm-macros
2222

23-
Requires: qubes-core-agent-networking >= 4.1
23+
Requires: qubes-core-agent-networking >= 4.2
2424
Requires: python3
2525
Requires: python3-qubesdb
26+
Requires: nftables
2627

2728
%description
2829
This package lets you turn your Qubes OS into a network server. Install this
@@ -44,7 +45,7 @@ BuildRequires: python3-rpm-macros
4445
BuildRequires: python3-setuptools
4546

4647
Requires: python3
47-
Requires: qubes-core-dom0 >= 4.1
48+
Requires: qubes-core-dom0 >= 4.2
4849

4950
%description -n qubes-core-admin-addon-network-server
5051
This package lets you turn your Qubes OS into a network server. Install this
@@ -70,6 +71,8 @@ echo 'enable qubes-routing-manager.service' > "$RPM_BUILD_ROOT"/%{_presetdir}/75
7071

7172
%files
7273
%attr(0755, root, root) %{_sbindir}/qubes-routing-manager
74+
%attr(0644, root, root) %{python3_sitelib}/qubesroutingmanager/*
75+
%{python3_sitelib}/qubesroutingmanager-*.egg-info
7376
%attr(0644, root, root) %{_presetdir}/75-%{name}.preset
7477
%config %attr(0644, root, root) %{_unitdir}/qubes-routing-manager.service
7578
%doc README.md TODO

0 commit comments

Comments
 (0)