From 9625ec09de98478c836b726e7cf38ef48150757c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Sat, 29 Mar 2025 04:26:43 +0100 Subject: [PATCH 1/4] rpm: adjust BR for directory ownership check in openSUSE QubesOS/qubes-issues#6567 --- rpm_spec/input-proxy.spec.in | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rpm_spec/input-proxy.spec.in b/rpm_spec/input-proxy.spec.in index ba94a0f..d4d9c62 100644 --- a/rpm_spec/input-proxy.spec.in +++ b/rpm_spec/input-proxy.spec.in @@ -13,6 +13,10 @@ BuildRequires: gcc BuildRequires: kernel-headers BuildRequires: python%{python3_pkgversion}-setuptools BuildRequires: python%{python3_pkgversion}-devel +%if 0%{?is_opensuse} +# for directory ownership +BuildRequires: qubes-core-qrexec +%endif Requires: %{name}-receiver From 4264fd924c00bcad05cda22317b83f30a32847e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Sat, 29 Mar 2025 22:35:34 +0100 Subject: [PATCH 2/4] Move files from /lib to /usr/lib All supported distributions has /lib as a symlink to /usr/lib already. Cleanup and move to the canonical location. And while at it, add directory ownership that openSUSE complains about. QubesOS/qubes-issues#6567 --- debian/qubes-input-proxy-receiver.install | 4 ++-- debian/qubes-input-proxy-sender.install | 10 +++++----- debian/rules | 2 +- qubes-rpc/Makefile | 8 ++++---- rpm_spec/input-proxy.spec.in | 7 ++++--- 5 files changed, 16 insertions(+), 15 deletions(-) diff --git a/debian/qubes-input-proxy-receiver.install b/debian/qubes-input-proxy-receiver.install index 9942688..0132736 100644 --- a/debian/qubes-input-proxy-receiver.install +++ b/debian/qubes-input-proxy-receiver.install @@ -2,5 +2,5 @@ /etc/qubes-rpc/qubes.InputMouse /etc/qubes-rpc/qubes.InputKeyboard /etc/qubes-rpc/qubes.InputTablet -/lib/udev/rules.d/90-qubes-uinput.rules -/lib/modules-load.d/qubes-uinput.conf +/usr/lib/udev/rules.d/90-qubes-uinput.rules +/usr/lib/modules-load.d/qubes-uinput.conf diff --git a/debian/qubes-input-proxy-sender.install b/debian/qubes-input-proxy-sender.install index 6e3b780..5f69e8f 100644 --- a/debian/qubes-input-proxy-sender.install +++ b/debian/qubes-input-proxy-sender.install @@ -3,8 +3,8 @@ /usr/bin/qubes-input-trigger /etc/xdg/autostart/qubes-input-trigger.desktop /etc/sudoers.d/qubes-input-trigger -/lib/udev/rules.d/90-qubes-input-proxy.rules -/lib/systemd/system/qubes-input-sender-tablet@.service -/lib/systemd/system/qubes-input-sender-mouse@.service -/lib/systemd/system/qubes-input-sender-keyboard@.service -/lib/systemd/system/qubes-input-sender-keyboard-mouse@.service +/usr/lib/udev/rules.d/90-qubes-input-proxy.rules +/usr/lib/systemd/system/qubes-input-sender-tablet@.service +/usr/lib/systemd/system/qubes-input-sender-mouse@.service +/usr/lib/systemd/system/qubes-input-sender-keyboard@.service +/usr/lib/systemd/system/qubes-input-sender-keyboard-mouse@.service diff --git a/debian/rules b/debian/rules index 9208b9e..f69ff3c 100755 --- a/debian/rules +++ b/debian/rules @@ -28,7 +28,7 @@ include /usr/share/dpkg/default.mk # -DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH) override_dh_auto_install: - make install-vm DESTDIR=$(PWD)/debian/tmp USRLIBDIR=/lib + make install-vm DESTDIR=$(PWD)/debian/tmp override_dh_missing: dh_missing --fail-missing diff --git a/qubes-rpc/Makefile b/qubes-rpc/Makefile index 22ec526..ca10079 100644 --- a/qubes-rpc/Makefile +++ b/qubes-rpc/Makefile @@ -19,13 +19,13 @@ install-vm: qubes-input-sender-mouse@.service \ qubes-input-sender-tablet@.service \ $(DESTDIR)$(USRLIBDIR)/systemd/system - install -d $(DESTDIR)$(LIBDIR)/udev/rules.d + install -d $(DESTDIR)$(USRLIBDIR)/udev/rules.d install -m 0644 qubes-input-proxy.rules \ - $(DESTDIR)$(LIBDIR)/udev/rules.d/90-qubes-input-proxy.rules + $(DESTDIR)$(USRLIBDIR)/udev/rules.d/90-qubes-input-proxy.rules install -m 0644 qubes-uinput.rules \ - $(DESTDIR)$(LIBDIR)/udev/rules.d/90-qubes-uinput.rules + $(DESTDIR)$(USRLIBDIR)/udev/rules.d/90-qubes-uinput.rules install -m 0644 -D qubes-uinput.modules \ - $(DESTDIR)$(LIBDIR)/modules-load.d/qubes-uinput.conf + $(DESTDIR)$(USRLIBDIR)/modules-load.d/qubes-uinput.conf install -d $(DESTDIR)/etc/qubes-rpc install qubes.InputMouse $(DESTDIR)/etc/qubes-rpc install qubes.InputKeyboard $(DESTDIR)/etc/qubes-rpc diff --git a/rpm_spec/input-proxy.spec.in b/rpm_spec/input-proxy.spec.in index d4d9c62..378f5ba 100644 --- a/rpm_spec/input-proxy.spec.in +++ b/rpm_spec/input-proxy.spec.in @@ -83,7 +83,7 @@ rm -rf %{buildroot}/etc/qubes-rpc/policy /usr/bin/qubes-input-sender /usr/bin/qubes-input-trigger %config(noreplace) /etc/xdg/autostart/qubes-input-trigger.desktop -/lib/udev/rules.d/90-qubes-input-proxy.rules +/usr/lib/udev/rules.d/90-qubes-input-proxy.rules %{_unitdir}/qubes-input-sender-tablet@.service %{_unitdir}/qubes-input-sender-mouse@.service %{_unitdir}/qubes-input-sender-keyboard@.service @@ -96,8 +96,9 @@ rm -rf %{buildroot}/etc/qubes-rpc/policy /etc/qubes-rpc/qubes.InputMouse /etc/qubes-rpc/qubes.InputKeyboard /etc/qubes-rpc/qubes.InputTablet -/lib/udev/rules.d/90-qubes-uinput.rules -/lib/modules-load.d/qubes-uinput.conf +/usr/lib/udev/rules.d/90-qubes-uinput.rules +%dir /usr/lib/modules-load.d +/usr/lib/modules-load.d/qubes-uinput.conf %changelog @CHANGELOG@ From 3960b37c8a22156b9243f603e82d3660e2efa1b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Sat, 29 Mar 2025 22:36:49 +0100 Subject: [PATCH 3/4] Do not install dom0 files in openSUSE VM package QubesOS/qubes-issues#6567 --- rpm_spec/input-proxy.spec.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rpm_spec/input-proxy.spec.in b/rpm_spec/input-proxy.spec.in index 378f5ba..04e69e7 100644 --- a/rpm_spec/input-proxy.spec.in +++ b/rpm_spec/input-proxy.spec.in @@ -58,7 +58,7 @@ make %{?_smp_mflags} all make install DESTDIR=%{buildroot} PYTHON=%{__python3} # this really means Qubes > 4.1 -%if 0%{?fedora} > 32 +%if 0%{?fedora} > 32 || !0%{?fedora} rm -rf %{buildroot}/etc/qubes-rpc/policy %endif @@ -69,7 +69,7 @@ rm -rf %{buildroot}/etc/qubes-rpc/policy %{python3_sitelib}/qubesinputproxy-*.egg-info/* %{python3_sitelib}/qubesinputproxy # this really means Qubes <= 4.1 -%if 0%{?fedora} <= 32 +%if 0%{?fedora} && 0%{?fedora} <= 32 %attr(0664,root,qubes) %config(noreplace) /etc/qubes-rpc/policy/qubes.InputMouse %attr(0664,root,qubes) %config(noreplace) /etc/qubes-rpc/policy/qubes.InputKeyboard %attr(0664,root,qubes) %config(noreplace) /etc/qubes-rpc/policy/qubes.InputTablet From 07bf11f9f3a0ebd790422a59fcc4e56126023111 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Sat, 29 Mar 2025 22:37:08 +0100 Subject: [PATCH 4/4] rpm: add BR: sudo for directory ownership QubesOS/qubes-issues#6567 --- rpm_spec/input-proxy.spec.in | 1 + 1 file changed, 1 insertion(+) diff --git a/rpm_spec/input-proxy.spec.in b/rpm_spec/input-proxy.spec.in index 04e69e7..96d5f71 100644 --- a/rpm_spec/input-proxy.spec.in +++ b/rpm_spec/input-proxy.spec.in @@ -16,6 +16,7 @@ BuildRequires: python%{python3_pkgversion}-devel %if 0%{?is_opensuse} # for directory ownership BuildRequires: qubes-core-qrexec +BuildRequires: sudo %endif Requires: %{name}-receiver