SHA256
1
0
forked from pool/spacenavd

Accepting request 972858 from home:hgraeber:branches:hardware

- 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.

OBS-URL: https://build.opensuse.org/request/show/972858
OBS-URL: https://build.opensuse.org/package/show/hardware/spacenavd?expand=0&rev=22
This commit is contained in:
Herbert Graeber 2022-04-26 11:32:30 +00:00 committed by Git OBS Bridge
parent 2a8afd94ab
commit cc6a0bf42d
7 changed files with 77 additions and 54 deletions

View File

@ -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]

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6e258439e0fb3a9e29efbaf4714f54df88ba7c35c29e432b221249017853915f
size 47515

3
spacenavd-1.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8e3af4e8767bc07f9e19773d769c66e169fc752ae305b7ed9f71ede86cc95a9a
size 59903

View File

@ -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 <h
#define DEF_CFGFILE "/etc/spnavrc"
diff -ur spacenavd-1.0.orig/src/spnavd.h spacenavd-1.0/src/spnavd.h
--- spacenavd-1.0.orig/src/spnavd.h 2022-04-25 16:02:21.655184661 +0200
+++ spacenavd-1.0/src/spnavd.h 2022-04-25 16:17:04.797947800 +0200
@@ -26,8 +26,8 @@
#define DEF_CFGFILE CFGDIR "/spnavrc"
#define DEF_LOGFILE "/var/log/spnavd.log"
-#define SOCK_NAME "/var/run/spnav.sock"

View File

@ -1,3 +1,44 @@
-------------------------------------------------------------------
Tue Apr 26 10:34:54 UTC 2022 - Herbert Graeber <herbert@graeber-clan.de> 1.0
- Fix spacenavd path in service file
-------------------------------------------------------------------
Mon Apr 25 14:43:00 UTC 2022 - Herbert Graeber <herbert@graeber-clan.de> 1.0
- Readd spacenavd-fix-pidfile.patch
-------------------------------------------------------------------
Mon Apr 25 13:33:52 UTC 2022 - Herbert Graeber <herbert@graeber-clan.de> 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 <jsegitz@suse.com>

View File

@ -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

View File

@ -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}