diff --git a/harden_spacenavd.service.patch b/harden_spacenavd.service.patch index 4ff692a..d3ff27f 100644 --- a/harden_spacenavd.service.patch +++ b/harden_spacenavd.service.patch @@ -1,8 +1,7 @@ -Index: spacenavd-0.8/contrib/systemd/spacenavd.service -=================================================================== ---- spacenavd-0.8.orig/contrib/systemd/spacenavd.service -+++ spacenavd-0.8/contrib/systemd/spacenavd.service -@@ -3,6 +3,17 @@ Description=3Dconnexion Input Devices Us +diff -ur spacenavd-1.0.orig/contrib/systemd/spacenavd.service spacenavd-1.0/contrib/systemd/spacenavd.service +--- spacenavd-1.0.orig/contrib/systemd/spacenavd.service 2022-04-25 16:03:28.338795433 +0200 ++++ spacenavd-1.0/contrib/systemd/spacenavd.service 2022-04-25 15:59:36.042588021 +0200 +@@ -3,9 +3,20 @@ After=syslog.target [Service] @@ -16,7 +15,10 @@ Index: spacenavd-0.8/contrib/systemd/spacenavd.service +ProtectKernelLogs=true +ProtectControlGroups=true +RestrictRealtime=true -+# end of automatic additions ++# end of automatic additions Type=forking PIDFile=/run/spnavd.pid - ExecStart=/usr/local/bin/spacenavd + ExecStart=/usr/sbin/spacenavd + StandardError=syslog + + [Install] diff --git a/spacenavd-0.8.tar.gz b/spacenavd-0.8.tar.gz deleted file mode 100644 index 0c6bc3f..0000000 --- a/spacenavd-0.8.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6e258439e0fb3a9e29efbaf4714f54df88ba7c35c29e432b221249017853915f -size 47515 diff --git a/spacenavd-1.0.tar.gz b/spacenavd-1.0.tar.gz new file mode 100644 index 0000000..2d9eadf --- /dev/null +++ b/spacenavd-1.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e3af4e8767bc07f9e19773d769c66e169fc752ae305b7ed9f71ede86cc95a9a +size 59903 diff --git a/spacenavd-fix-pidfile.patch b/spacenavd-fix-pidfile.patch index 801083c..0fa3c1e 100644 --- a/spacenavd-fix-pidfile.patch +++ b/spacenavd-fix-pidfile.patch @@ -1,19 +1,21 @@ -diff -up spacenavd-0.7.1/contrib/systemd/spacenavd.service.fix-pidfile spacenavd-0.7.1/contrib/systemd/spacenavd.service ---- spacenavd-0.7.1/contrib/systemd/spacenavd.service.fix-pidfile 2020-03-22 16:10:42.581821273 +0100 -+++ spacenavd-0.7.1/contrib/systemd/spacenavd.service 2020-03-22 16:11:49.253400708 +0100 -@@ -4,7 +4,7 @@ After=syslog.target +diff -ur spacenavd-1.0.orig/contrib/systemd/spacenavd.service spacenavd-1.0/contrib/systemd/spacenavd.service +--- spacenavd-1.0.orig/contrib/systemd/spacenavd.service 2022-04-25 16:03:28.338795433 +0200 ++++ spacenavd-1.0/contrib/systemd/spacenavd.service 2022-04-25 16:40:21.644561051 +0200 +@@ -4,8 +4,8 @@ [Service] Type=forking -PIDFile=/var/run/spnavd.pid +-ExecStart=/usr/local/bin/spacenavd +PIDFile=/run/spnavd.pid - ExecStart=/usr/local/bin/spacenavd ++ExecStart=/usr/sbin/spacenavd StandardError=syslog -diff -up spacenavd-0.7.1/init_script.fix-pidfile spacenavd-0.7.1/init_script ---- spacenavd-0.7.1/init_script.fix-pidfile 2020-03-22 16:10:57.213842900 +0100 -+++ spacenavd-0.7.1/init_script 2020-03-22 16:12:08.165156918 +0100 -@@ -30,7 +30,7 @@ start) + [Install] +diff -ur spacenavd-1.0.orig/init_script spacenavd-1.0/init_script +--- spacenavd-1.0.orig/init_script 2022-04-25 16:02:21.655184661 +0200 ++++ spacenavd-1.0/init_script 2022-04-25 16:16:16.866098885 +0200 +@@ -30,7 +30,7 @@ stop) echo 'Stopping spacenavd daemon' # detect daemon's process id @@ -22,10 +24,10 @@ diff -up spacenavd-0.7.1/init_script.fix-pidfile spacenavd-0.7.1/init_script if [ $? != 0 ]; then pid=`ps -e | grep spacenavd | awk '{ print $1 }'` if [ -z "$pid" ]; then -diff -up spacenavd-0.7.1/spnavd_ctl.fix-pidfile spacenavd-0.7.1/spnavd_ctl ---- spacenavd-0.7.1/spnavd_ctl.fix-pidfile 2020-03-22 16:11:13.009768437 +0100 -+++ spacenavd-0.7.1/spnavd_ctl 2020-03-22 16:12:34.904713390 +0100 -@@ -32,7 +32,7 @@ else +diff -ur spacenavd-1.0.orig/spnavd_ctl spacenavd-1.0/spnavd_ctl +--- spacenavd-1.0.orig/spnavd_ctl 2022-04-25 16:02:21.655184661 +0200 ++++ spacenavd-1.0/spnavd_ctl 2022-04-25 16:16:41.818036452 +0200 +@@ -32,7 +32,7 @@ fi # detect daemon's process id @@ -34,11 +36,11 @@ diff -up spacenavd-0.7.1/spnavd_ctl.fix-pidfile spacenavd-0.7.1/spnavd_ctl if [ $? != 0 ]; then pid=`ps -e | grep spacenavd | awk '{ print $1 }'` if [ -z "$pid" ]; then -diff -up spacenavd-0.7.1/src/spnavd.h.fix-pidfile spacenavd-0.7.1/src/spnavd.h ---- spacenavd-0.7.1/src/spnavd.h.fix-pidfile 2020-03-22 16:11:26.161657639 +0100 -+++ spacenavd-0.7.1/src/spnavd.h 2020-03-22 16:14:26.920758060 +0100 -@@ -26,8 +26,8 @@ along with this program. If not, see 1.0 + +- Fix spacenavd path in service file + +------------------------------------------------------------------- +Mon Apr 25 14:43:00 UTC 2022 - Herbert Graeber 1.0 + +- Readd spacenavd-fix-pidfile.patch + +------------------------------------------------------------------- +Mon Apr 25 13:33:52 UTC 2022 - Herbert Graeber 1.0 + +- Update to version 1.0 + * Implemented hugely improved spacenav protocol v1. It includes future + expandability provisions, and adds support for a wealth of new capabilities + for clients, including: + + device information queries (number of buttons and axes, device identification...). + + configuration management (allows configuration tools like spnavcfg to be + regular clients without special priviledges). + + new events, with event selection mechanism (device change, config change, + raw axis, raw button). + * Improved configuration file handling. Spacenavd now saves changes to the file, + and does so while retaining user changes, including comments and empty lines, + and modifying existing lines when possible. + * Added device level axis remapping (non-configurable), to normalize axis + assignments across all known devices, to avoid having to change the configuration + every time a different device is connected. + * Added initial USB device support on FreeBSD. + * Added the ability to bind buttons to actions like sensitivity changes or axis muting. + * Added XTEST support for keyboard event injection, which works much more reliably. + Falls back to XSendEvent if XTEST is unavailable. + * Fixed serial magellan spacemouse compatibility over USB-serial converters with the PL2303 UART. + * Added --cfgdir= build option, to change the configuration file directory. + * Fixed MacOS X build. + * Fixed LED staying on on startup if it was configured otherwise. + * Fixed inconsistent handling of the logging method selection arguments. + * Fixed spacenavd terminating with SIGPIPE when clients disconnected ungracefully. + * Build fixes and improvements. +- Remove spacenavd-fix-pidfile.patch + ------------------------------------------------------------------- Wed Nov 17 10:49:36 UTC 2021 - Johannes Segitz diff --git a/spacenavd.service b/spacenavd.service deleted file mode 100644 index 90d6c6f..0000000 --- a/spacenavd.service +++ /dev/null @@ -1,21 +0,0 @@ -[Unit] -Description=Userspace Daemon of the spacenav driver. - -[Service] -# added automatically, for details please see -# https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort -ProtectSystem=full -ProtectHome=true -ProtectHostname=true -ProtectKernelTunables=true -ProtectKernelModules=true -ProtectKernelLogs=true -ProtectControlGroups=true -RestrictRealtime=true -# end of automatic additions -Type=forking -PIDFile=/run/spnavd.pid -ExecStart=/usr/sbin/spacenavd - -[Install] -WantedBy=multi-user.target diff --git a/spacenavd.spec b/spacenavd.spec index f3af850..ebf62af 100644 --- a/spacenavd.spec +++ b/spacenavd.spec @@ -1,7 +1,7 @@ # # spec file for package spacenavd # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # Copyright (c) 2009,2011,2013 Herbert Graeber # # All modifications and additions to the file contributed by third parties @@ -18,7 +18,7 @@ Name: spacenavd -Version: 0.8 +Version: 1.0 Release: 0 Summary: Daemon for 3Dconnexion devices License: GPL-3.0-or-later @@ -28,8 +28,7 @@ Source: https://github.com/FreeSpacenav/spacenavd/releases/download/v%{v Source1: spacenavd.8.gz Source2: spnavrc Source3: xinitrc-%{name} -Source4: %{name}.service -Patch1: %{name}-fix-pidfile.patch +Patch1: spacenavd-fix-pidfile.patch Patch2: harden_spacenavd.service.patch BuildRequires: pkgconfig BuildRequires: systemd-rpm-macros @@ -79,7 +78,7 @@ ln -sf spacenavd.8.gz %{buildroot}%{_mandir}/man8/spnavd_ctl.8.gz install -D -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/spnavrc install -D -m 755 %{SOURCE3} %{buildroot}%{_sysconfdir}/X11/xinit/xinitrc.d/%{name} ln -sf service %{buildroot}%{_sbindir}/rc%{name} -install -D -m 644 %{SOURCE4} %{buildroot}%{_unitdir}/%{name}.service +install -D -m 644 contrib/systemd/%{name}.service %{buildroot}%{_unitdir}/%{name}.service %post %fillup_only -n %{name}