Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock

Please unblock package libserialport

[ Reason ]

I've been made aware in bug #990863 that linux 5.10.38-1, uploaded late
May, has removed support for termiox. This has broken the libserialport
package, which uses termiox when it's discovered.

(I'm aware this is extremely late in the release cycle, but the bug was
only raised yesterday.)

[ Impact ]

With the attached debdiff, taken from upstream, detection of termiox is
disabled and we fall back to the supported termios2.

[ Tests ]

Tim Small, the original reporter of the bug, has confirmed this fixes
the issue on bullseye.

[ Risks ]

Although the regression has been caused by a kernel update during the
freeze rather than any change to libserialport it seems that this is the
more correct fix and limits any risk only to users of the libserialport
package. Without the patch serial port usage via libserialport will
fail, so the package is entirely non-functional.

[ Checklist ]

  [x] all debian/ changes are documented in the d/changelog
  [x] I reviewed all debian/ changes and I approve them
  [x] attach debian/ diff against the package in testing

unblock libserialport/0.1.1-3

diff -Nru libserialport-0.1.1/debian/changelog 
libserialport-0.1.1/debian/changelog
--- libserialport-0.1.1/debian/changelog        2018-05-18 09:44:24.000000000 
+0100
+++ libserialport-0.1.1/debian/changelog        2021-07-10 17:21:59.000000000 
+0100
@@ -1,3 +1,10 @@
+libserialport (0.1.1-4) unstable; urgency=high
+
+  * Avoid the use of termiox now the kernel has dropped support for it.
+    Thanks to Tim Small. (Closes: #990863)
+
+ -- Jonathan McDowell <nood...@earth.li>  Sat, 10 Jul 2021 17:21:59 +0100
+
 libserialport (0.1.1-3) unstable; urgency=medium
 
   * VCS is at Salsa.
diff -Nru libserialport-0.1.1/debian/patches/avoid-termiox.diff 
libserialport-0.1.1/debian/patches/avoid-termiox.diff
--- libserialport-0.1.1/debian/patches/avoid-termiox.diff       1970-01-01 
01:00:00.000000000 +0100
+++ libserialport-0.1.1/debian/patches/avoid-termiox.diff       2021-07-10 
17:20:33.000000000 +0100
@@ -0,0 +1,34 @@
+Subject: Don't even check for termiox
+Origin: 
https://sigrok.org/gitweb/?p=libserialport.git;a=commit;h=6f9b03e597ea7200eb616a4e410add3dd1690cb1
+Bug: https://sigrok.org/bugzilla/show_bug.cgi?id=1687
+Bug-Debian: https://bugs.debian.org/990863
+Author: Karl Palsson <ka...@etactica.com>
+Last-Update: 2021-07-10
+
+Don't check for termiox, as it has been remove from Linux in e0efb3168d34
+
+Some more information available in 
https://www.spinics.net/lists/linux-serial/msg41926.html
+
+Attempting to use the termiox ioctls on more modern kernels results in
+"Inappropriate IOCTL" errors.
+
+While the "right" solution might be to remove the termiox code from the
+linux path, simply not checking for termiox builds a libserialport that
+functions on modern linux kernels.
+
+diff --git a/configure.ac b/configure.ac
+index b1af16f..a26b851 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -112,7 +112,7 @@ AC_SYS_LARGEFILE
+ AC_TYPE_SIZE_T
+ 
+ # Check for specific termios structures.
+-AC_CHECK_TYPES([struct termios2, struct termiox],,,
++AC_CHECK_TYPES([struct termios2],,,
+       [[#include <linux/termios.h>]])
+ AC_CHECK_MEMBERS([struct termios.c_ispeed, struct termios.c_ospeed,
+               struct termios2.c_ispeed, struct termios2.c_ospeed],,,
+-- 
+2.30.2
+
diff -Nru libserialport-0.1.1/debian/patches/series 
libserialport-0.1.1/debian/patches/series
--- libserialport-0.1.1/debian/patches/series   2018-05-18 09:44:24.000000000 
+0100
+++ libserialport-0.1.1/debian/patches/series   2021-07-10 17:20:45.000000000 
+0100
@@ -1,2 +1,3 @@
 non-linux-build-fix.diff
 fix_for_alpha_where_BOTHER_is_not_defined.diff
+avoid-termiox.diff

Reply via email to