From: PoroCYon <PoroCYon@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] libserialport: add patch to prevent it from using termiox, which has been removed from recent kernels
Date: Sat, 17 Jul 2021 23:43:11 +0200 [thread overview]
Message-ID: <20210717214311.t5vu2xOB1qiCbubSiA1M9thwRif9p4DrvuRv4Km1mbQ@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-32025@inbox.vuxu.org>
[-- Attachment #1: Type: text/plain, Size: 2148 bytes --]
There is an updated pull request by PoroCYon against master on the void-packages repository
https://github.com/PoroCYon/void-packages patch-libsigrok-notermiox
https://github.com/void-linux/void-packages/pull/32025
libserialport: add patch to prevent it from using termiox, which has been removed from recent kernels
Without this patch, libserialport will fail opening a tty device with an "No such ioctl for device"-error. This prevents eg. sigrok/pulseview from working with a SUMP-compatible logic analyzer.
EDIT: some clarification: [see here](https://sigrok.org/gitweb/?p=libserialport.git;a=commit;h=6f9b03e597ea7200eb616a4e410add3dd1690cb1), something like their patches would work better, but, honestly, libserialport should have a new release, 0.1.1 is from years ago.
<!-- Mark items with [x] where applicable -->
#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)
#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR
<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
#### Does it build and run successfully?
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [x] I built this PR locally for my native architecture, (x86_64-glibc)
- [x] I built this PR locally for these architectures (if supported. mark crossbuilds):
- [x] aarch64-musl
- [ ] armv7l
- [ ] armv6l-musl
A patch file from https://github.com/void-linux/void-packages/pull/32025.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-patch-libsigrok-notermiox-32025.patch --]
[-- Type: text/x-diff, Size: 2738 bytes --]
From fe24a6de4b81b55fc127a66982ed972ed1148c29 Mon Sep 17 00:00:00 2001
From: PoroCYon <porocyon@titandemo.org>
Date: Sat, 17 Jul 2021 22:11:09 +0200
Subject: [PATCH] libserialport: add patch so it doesn't use termiox
termios has been removed from recent kernels, so not having this patch
causes "no such ioctl for device"-errors, preventing any use of the
library
---
...s-it-has-been-removed-from-recent-ke.patch | 36 +++++++++++++++++++
srcpkgs/libserialport/template | 2 +-
2 files changed, 37 insertions(+), 1 deletion(-)
create mode 100644 srcpkgs/libserialport/patches/0001-Remove-termiox-as-it-has-been-removed-from-recent-ke.patch
diff --git a/srcpkgs/libserialport/patches/0001-Remove-termiox-as-it-has-been-removed-from-recent-ke.patch b/srcpkgs/libserialport/patches/0001-Remove-termiox-as-it-has-been-removed-from-recent-ke.patch
new file mode 100644
index 000000000000..43ccc125e4bb
--- /dev/null
+++ b/srcpkgs/libserialport/patches/0001-Remove-termiox-as-it-has-been-removed-from-recent-ke.patch
@@ -0,0 +1,36 @@
+Inspired by this commit from the upstream package:
+https://sigrok.org/gitweb/?p=libserialport.git;a=commit;h=6f9b03e597ea7200eb616a4e410add3dd1690cb1
+
+Applying this patch directly added some extra dependencies (autoconf,
+automake), as the configure script needs to be regenerated with the
+original commit.
+
+original commit message:
+
+termiox was removed 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/libserialport_internal.h b/libserialport_internal.new.h
+index 669152b..9a57b81 100644
+--- libserialport_internal.h
++++ libserialport_internal.h
+@@ -69,11 +69,6 @@
+ #include "linux/serial.h"
+ #endif
+ #include "linux_termios.h"
+-
+-/* TCGETX/TCSETX is not available everywhere. */
+-#if defined(TCGETX) && defined(TCSETX) && defined(HAVE_STRUCT_TERMIOX)
+-#define USE_TERMIOX
+-#endif
+ #endif
+
+ /* TIOCINQ/TIOCOUTQ is not available everywhere. */
+
diff --git a/srcpkgs/libserialport/template b/srcpkgs/libserialport/template
index 23b6b92a42fe..7d1cdd3c7631 100644
--- a/srcpkgs/libserialport/template
+++ b/srcpkgs/libserialport/template
@@ -1,7 +1,7 @@
# Template file for 'libserialport'
pkgname=libserialport
version=0.1.1
-revision=2
+revision=3
build_style=gnu-configure
short_desc="Cross-platform library for accessing serial ports"
maintainer="lemmi <lemmi@nerd2nerd.org>"
next prev parent reply other threads:[~2021-07-17 21:43 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-17 20:16 [PR PATCH] add patch to prevent libserialport " PoroCYon
2021-07-17 20:19 ` [PR PATCH] [Updated] " PoroCYon
2021-07-17 20:20 ` PoroCYon
2021-07-17 20:22 ` PoroCYon
2021-07-17 21:18 ` libserialport: add patch to prevent it " ericonr
2021-07-17 21:29 ` lemmi
2021-07-17 21:35 ` PoroCYon
2021-07-17 21:38 ` PoroCYon
2021-07-17 21:41 ` lemmi
2021-07-17 21:43 ` PoroCYon [this message]
2021-07-17 21:44 ` PoroCYon
2021-07-17 21:52 ` lemmi
2021-07-19 20:26 ` [PR PATCH] [Merged]: " lemmi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210717214311.t5vu2xOB1qiCbubSiA1M9thwRif9p4DrvuRv4Km1mbQ@z \
--to=porocyon@users.noreply.github.com \
--cc=ml@inbox.vuxu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).