Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package spacenavd for openSUSE:Factory checked in at 2022-12-26 23:28:04 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/spacenavd (Old) and /work/SRC/openSUSE:Factory/.spacenavd.new.1563 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "spacenavd" Mon Dec 26 23:28:04 2022 rev:11 rq:1045401 version:1.2 Changes: -------- --- /work/SRC/openSUSE:Factory/spacenavd/spacenavd.changes 2022-09-26 18:47:58.464028250 +0200 +++ /work/SRC/openSUSE:Factory/.spacenavd.new.1563/spacenavd.changes 2022-12-26 23:28:16.157005555 +0100 @@ -1,0 +2,16 @@ +Fri Dec 23 20:47:37 UTC 2022 - Herbert Graeber <herb...@graeber-clan.de> + +- Update to version 1.2 + * Fixed incorrect button mappings for the SpaceMouse Pro. The button remapping + which was designed to fix this in v1.1 would end up becoming disabled due to + an incorrect assumption about reported number of buttons. + * Fixed incorrect number of stop bits for serial magellan spacemice. Some devices + tolerated that, while others did not work. + * Improved compatibility with some serial spaceballs. Relaxed the device matching + condition and allowed some time for the device to boot up before initializing it. + * Added hardcoded "reasonable" default values for number of axes and buttons in + the incomplete FreeBSD USB device handling code, to stop it from reporting 0 axes + and freaking clients out. This is a stop-gap, eventually it needs to be + implemented correctly. + +------------------------------------------------------------------- Old: ---- spacenavd-1.1.tar.gz New: ---- spacenavd-1.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ spacenavd.spec ++++++ --- /var/tmp/diff_new_pack.BLtUim/_old 2022-12-26 23:28:16.585008055 +0100 +++ /var/tmp/diff_new_pack.BLtUim/_new 2022-12-26 23:28:16.589008078 +0100 @@ -18,7 +18,7 @@ Name: spacenavd -Version: 1.1 +Version: 1.2 Release: 0 Summary: Daemon for 3Dconnexion devices License: GPL-3.0-or-later ++++++ spacenavd-1.1.tar.gz -> spacenavd-1.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spacenavd-1.1/.github/workflows/build_freebsd.yml new/spacenavd-1.2/.github/workflows/build_freebsd.yml --- old/spacenavd-1.1/.github/workflows/build_freebsd.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/spacenavd-1.2/.github/workflows/build_freebsd.yml 2022-12-11 20:27:43.000000000 +0100 @@ -0,0 +1,32 @@ +name: FreeBSD build + +on: + push: + pull_request: + workflow_dispatch: + +jobs: + build: + + runs-on: macos-12 + + steps: + - uses: actions/checkout@v3 + + - name: FreeBSD build + uses: vmactions/freebsd-vm@v0 + with: + prepare: | + pkg install -y git gmake libX11 libXi libXtst + + run: | + ./configure + gmake + gmake DESTDIR=spacenavd-freebsd install + + - uses: actions/upload-artifact@v3 + with: + name: spacenavd-freebsd + path: spacenavd-freebsd + +# vi:ts=2 sts=2 sw=2 expandtab: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spacenavd-1.1/.github/workflows/build_gnulinux.yml new/spacenavd-1.2/.github/workflows/build_gnulinux.yml --- old/spacenavd-1.1/.github/workflows/build_gnulinux.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/spacenavd-1.2/.github/workflows/build_gnulinux.yml 2022-12-11 20:27:43.000000000 +0100 @@ -0,0 +1,57 @@ +name: GNU/Linux build + +on: + push: + pull_request: + workflow_dispatch: + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: install dependencies + run: | + sudo apt-get update + sudo apt-get install libx11-dev libxi-dev libxtst-dev + + - name: configure + run: ./configure + + - name: build + run: make + + - name: stage install + run: DESTDIR=spacenavd-gnulinux make install + + - uses: actions/upload-artifact@v3 + with: + name: spacenavd-gnulinux + path: spacenavd-gnulinux + + build-nox11: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: configure + run: ./configure --disable-x11 + + - name: build + run: make + + - name: stage install + run: DESTDIR=spacenavd-gnulinux-nox11 make install + + - uses: actions/upload-artifact@v3 + with: + name: spacenavd-gnulinux-nox11 + path: spacenavd-gnulinux-nox11 + + +# vi:ts=2 sts=2 sw=2 expandtab: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spacenavd-1.1/.github/workflows/build_macosx.yml new/spacenavd-1.2/.github/workflows/build_macosx.yml --- old/spacenavd-1.1/.github/workflows/build_macosx.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/spacenavd-1.2/.github/workflows/build_macosx.yml 2022-12-11 20:27:43.000000000 +0100 @@ -0,0 +1,55 @@ +name: MacOS X build + +on: + push: + pull_request: + workflow_dispatch: + +jobs: + build: + + runs-on: macos-latest + + steps: + - uses: actions/checkout@v3 + + - name: install dependencies + run: | + brew install libx11 libxi libxtst + + - name: configure + run: ./configure + + - name: build + run: make + + - name: stage install + run: DESTDIR=spacenavd-macosx make install + + - uses: actions/upload-artifact@v3 + with: + name: spacenavd-macosx + path: spacenavd-macosx + + build-nox11: + + runs-on: macos-latest + + steps: + - uses: actions/checkout@v3 + + - name: configure + run: ./configure --disable-x11 + + - name: build + run: make + + - name: stage install + run: DESTDIR=spacenavd-macosx-nox11 make install + + - uses: actions/upload-artifact@v3 + with: + name: spacenavd-macosx-nox11 + path: spacenavd-macosx-nox11 + +# vi:ts=2 sts=2 sw=2 expandtab: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spacenavd-1.1/README.md new/spacenavd-1.2/README.md --- old/spacenavd-1.1/README.md 2022-08-26 21:54:36.000000000 +0200 +++ new/spacenavd-1.2/README.md 2022-12-11 20:27:43.000000000 +0100 @@ -1,6 +1,10 @@ spacenavd ========= + + + + About ----- Spacenavd is a free software user-space driver (daemon), for 6-dof input diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spacenavd-1.1/configure new/spacenavd-1.2/configure --- old/spacenavd-1.1/configure 2022-08-26 21:54:36.000000000 +0200 +++ new/spacenavd-1.2/configure 2022-12-11 21:00:13.000000000 +0100 @@ -44,7 +44,7 @@ X11=yes HOTPLUG=yes XINPUT=yes -VER=`git describe --tags 2>/dev/null` +VER=1.2 CFGDIR=/etc if [ -z "$VER" ]; then diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spacenavd-1.1/mkrel new/spacenavd-1.2/mkrel --- old/spacenavd-1.1/mkrel 2022-08-26 21:54:36.000000000 +0200 +++ new/spacenavd-1.2/mkrel 1970-01-01 01:00:00.000000000 +0100 @@ -1,40 +0,0 @@ -#!/bin/sh -# helper script to prepare a release - -if [ -z "$1" ]; then - echo 'pass the release version number' >&2 - exit 1 -fi -if echo $1 | grep -v '[0-9\.]' >/dev/null; then - echo 'invalid release number, try something like "1.2"' >&2 - exit 1 -fi - -ver=$1 -name=$(pwd | xargs basename) -fullname=$name-$ver - -if git tag | grep "^v$ver$" >/dev/null; then - echo "release tag v$ver already exists" >&2 - exit 1 -fi - -echo "tagging v$ver ..." -git tag v$ver -echo "preparing tarball: $fullname.tar.gz ..." -git archive -o $fullname.tar.gz --prefix=$fullname/ v$ver - -# fixup VER in the configure script -echo "fixing up version in configure script to not rely on git ..." -orig_pwd=`pwd` -mkdir -p /tmp/mkrelfix -cd /tmp/mkrelfix -tar xzvf $orig_pwd/$fullname.tar.gz -sed -i "s/^VER=.*/VER=$ver/" $fullname/configure -# also while we're at it, remove this script too -rm -f $fullname/`basename $0` -tar czvf $orig_pwd/$fullname.tar.gz $fullname - -echo -echo "Done. If there was some mistake delete the tag with: git tag -d v$ver" -echo 'Otherwise, push the new tag with: git push --tags, and upload the tarball.' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spacenavd-1.1/src/dev_serial.c new/spacenavd-1.2/src/dev_serial.c --- old/spacenavd-1.1/src/dev_serial.c 2022-08-26 21:54:36.000000000 +0200 +++ new/spacenavd-1.2/src/dev_serial.c 2022-12-11 20:27:43.000000000 +0100 @@ -139,9 +139,15 @@ if(stty_sball(sb) == -1) { goto err; } + + /* Apparently some spaceballs take some time to initialize, and it's + * necessary to wait for a little while before we start sending commands. + */ + sleep(1); + write(fd, "\r@RESET\r", 8); - if((sz = read_timeout(fd, buf, sizeof buf - 1, 2000000)) > 0 && (buf[sz] = 0, strstr(buf, "\r@1"))) { + if((sz = read_timeout(fd, buf, sizeof buf - 1, 2000000)) > 0 && (buf[sz] = 0, strstr(buf, "@1"))) { /* we got a response, so it's a spaceball */ make_printable(buf, sz); logmsg(LOG_INFO, "Spaceball detected: %s\n", buf); @@ -262,13 +268,9 @@ return 0; } -/* Logicad magellan spacemouse: 9600 8n1 CTS/RTS (see NOTE) +/* Logicad magellan spacemouse: 9600 8n2 CTS/RTS * Since the magellan devices don't seem to send any newlines, we can rely on * canonical mode to feed us nice whole lines at a time. - * - * NOTE: the documentation specifies 2 stop bits instead of 1, but this seems to - * cause incompatibilities with certain USB-serial converters, using one 1 stop - * bit seems to work fine in all cases, so we'll go with that. */ static int stty_mag(struct sball *sb) { @@ -286,7 +288,7 @@ term.c_cc[VERASE] = 0; term.c_cc[VKILL] = 0; - term.c_cflag = CLOCAL | CREAD | CS8 | HUPCL; + term.c_cflag = CLOCAL | CREAD | CS8 | CSTOPB | HUPCL; #ifdef CCTS_OFLOW term.c_cflag |= CCTS_OFLOW; #elif defined(CRTSCTS) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spacenavd-1.1/src/dev_usb_freebsd.c new/spacenavd-1.2/src/dev_usb_freebsd.c --- old/spacenavd-1.1/src/dev_usb_freebsd.c 2022-08-26 21:54:36.000000000 +0200 +++ new/spacenavd-1.2/src/dev_usb_freebsd.c 2022-12-11 20:27:43.000000000 +0100 @@ -216,6 +216,13 @@ dev->read = read_hid; dev->set_led = set_led_hid; + /* TODO until we flesh out the USB code on FreeBSD, let's fill the structure + * with fake but plausible information. + */ + dev->bnbase = 0; + dev->num_buttons = 2; + dev->num_axes = 6; + return 0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spacenavd-1.1/src/dev_usb_linux.c new/spacenavd-1.2/src/dev_usb_linux.c --- old/spacenavd-1.1/src/dev_usb_linux.c 2022-08-26 21:54:36.000000000 +0200 +++ new/spacenavd-1.2/src/dev_usb_linux.c 2022-12-11 20:27:43.000000000 +0100 @@ -149,17 +149,12 @@ dev->bnbase = 0; } - /* sanity check, problematic devices appear to report 256 buttons, if that's - * not the case, this is probably a mistake. + /* for devices marked for disjointed button range remapping, log the button + * count reported before applying the remapping function */ - if(dev->bnhack && dev->num_buttons < 255) { - logmsg(LOG_DEBUG, "BUG! Please report this at https://github.com/FreeSpacenav/spacenavd/issues, " - "or by sending an email to nucl...@member.fsf.org.\n"); - logmsg(LOG_DEBUG, "This device (%04x:%04x) was marked for disjointed " - "button remapping, but unexpectedly reports %d buttons\n", + if(dev->bnhack) { + logmsg(LOG_DEBUG, "Device %04x:%04x reports %d buttons before disjointed button remapping\n", dev->usbid[0], dev->usbid[1], dev->num_buttons); - - dev->bnhack = 0; } if(dev->bnhack) {