Skip to content

Commit 6a5bb34

Browse files
committed
fix permission issues
1 parent d09a48d commit 6a5bb34

5 files changed

Lines changed: 34 additions & 12 deletions

File tree

.github/workflows/build.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ jobs:
2828
npm i
2929
- name: build
3030
run: |
31-
pyinstaller framereceiver.py --onefile --name=frame-receiver
32-
pyinstaller hardwareserver.py --onefile --name=hardware-server
31+
pyinstaller framereceiver.py --onedir --name=frame-receiver
32+
pyinstaller hardwareserver.py --onedir --name=hardware-server
3333
cd integration-runner
3434
npm run package
3535
- name: package
@@ -42,6 +42,7 @@ jobs:
4242
mv integration-runner/out/integration-runner-linux-x64 dist/liquidWeb/integration-runner
4343
cp systemd/*.service dist/liquidWeb/systemd/
4444
cp systemd/*.target dist/liquidWeb/systemd/
45+
cp 99-liquidWeb.rules dist/liquidWeb/
4546
- name: prepare rpm sources
4647
run: |
4748
VERSION=$(rpmspec -q --qf '%{version}' liquidWeb.spec)

99-liquidWeb.rules

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Rules taken and adapted from liquidctl
2+
#
3+
# NZXT Kraken 2023 Elite (broken)
4+
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="300c", MODE="0660", GROUP="liquidWeb"
5+
# NZXT Kraken Z (Z53, Z63 or Z73)
6+
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="3008", MODE="0660", GROUP="liquidWeb"
7+
# NZXT Kraken 2024 Elite RGB
8+
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="3012", MODE="0660", GROUP="liquidWeb"

liquidWeb.spec

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Source0: %{name}-%{version}.tar.gz
1010
BuildArch: x86_64
1111
Requires: systemd
1212
Requires: xorg-x11-server-Xvfb
13+
Requires: /usr/bin/udevadm
1314
Requires(pre): shadow-utils
1415

1516
%description
@@ -33,27 +34,38 @@ exit 0
3334
mkdir -p %{buildroot}/usr/lib/liquidWeb
3435
mkdir -p %{buildroot}/usr/lib/systemd/system
3536
mkdir -p %{buildroot}/var/lib/liquidWeb
37+
mkdir -p %{buildroot}/etc/udev/rules.d
3638

37-
install -Dm755 bin/frame-receiver %{buildroot}/usr/lib/liquidWeb/frame-receiver
38-
install -Dm755 bin/hardware-server %{buildroot}/usr/lib/liquidWeb/hardware-server
39-
39+
cp -a bin/frame-receiver %{buildroot}/usr/lib/liquidWeb/
40+
cp -a bin/hardware-server %{buildroot}/usr/lib/liquidWeb/
4041
cp -a integration-runner %{buildroot}/usr/lib/liquidWeb/
4142

4243
install -p -m 644 systemd/*.service %{buildroot}/usr/lib/systemd/system/
4344
install -p -m 644 systemd/*.target %{buildroot}/usr/lib/systemd/system/
45+
install -p -m 644 99-liquidWeb.rules %{buildroot}/etc/udev/rules.d/
4446

4547
%post
46-
%systemd_post liquidWeb.target
48+
semanage fcontext -a -t bin_t "/usr/lib/liquidWeb(/.*)?" 2>/dev/null || :
49+
restorecon -R /usr/lib/liquidWeb || :
50+
udevadm control --reload && udevadm trigger || :
51+
systemctl daemon-reload
52+
systemctl enable liquidWeb.target || true
4753

4854
%preun
49-
%systemd_preun liquidWeb.target
55+
if [ $1 -eq 0 ]; then
56+
systemctl disable liquidWeb.target || true
57+
systemctl stop liquidWeb.target || true
58+
fi
5059

5160
%postun
52-
%systemd_postun_with_restart liquidWeb.target
61+
if [ $1 -eq 0 ]; then
62+
semanage fcontext -d "/usr/lib/liquidWeb(/.*)?" 2>/dev/null || :
63+
fi
64+
systemctl daemon-reload
5365

5466
%files
55-
/usr/lib/liquidWeb/frame-receiver
56-
/usr/lib/liquidWeb/hardware-server
67+
/usr/lib/liquidWeb/frame-receiver/
68+
/usr/lib/liquidWeb/hardware-server/
5769
/usr/lib/liquidWeb/integration-runner/
5870

5971
/usr/lib/systemd/system/liquidWeb.target
@@ -63,6 +75,7 @@ install -p -m 644 systemd/*.target %{buildroot}/usr/lib/systemd/system/
6375

6476
%dir %attr(0755, liquidWeb, liquidWeb) /var/lib/liquidWeb
6577
%ghost %attr(0644, liquidWeb, liquidWeb) /var/lib/liquidWeb/curves.json
78+
%config(noreplace) /etc/udev/rules.d/99-liquidWeb.rules
6679

6780
%changelog
6881
* Thu Jan 29 2026 PouekDEV <stuff@pouekdev.one> - 0.9.0-1

systemd/liquidWeb-frame-receiver.service

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Wants=liquidWeb-integration-runner.service
77
User=liquidWeb
88
Group=liquidWeb
99
Type=simple
10-
ExecStart=/usr/lib/liquidWeb/frame-receiver 50 90 54217
10+
ExecStart=/usr/lib/liquidWeb/frame-receiver/frame-receiver 50 90 54217
1111
Restart=on-failure
1212
RestartSec=1
1313
KillSignal=SIGTERM

systemd/liquidWeb-hardware-server.service

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ PartOf=liquidWeb-frame-receiver.service
88
User=liquidWeb
99
Group=liquidWeb
1010
Type=simple
11-
ExecStart=/usr/lib/liquidWeb/hardware-server 54218
11+
ExecStart=/usr/lib/liquidWeb/hardware-server/hardware-server 54218
1212
Restart=on-failure
1313
RestartSec=1
1414
KillSignal=SIGTERM

0 commit comments

Comments
 (0)