diff mbox series

[v3] readline: backport a patch to fix issue that readline can't work with samba

Message ID 20250827095313.1915-1-liuyd.fnst@fujitsu.com
State New
Headers show
Series [v3] readline: backport a patch to fix issue that readline can't work with samba | expand

Commit Message

Yiding Liu (Fujitsu) Aug. 27, 2025, 9:53 a.m. UTC
smbclient can't accept input after readline upgrade to 8.3
| root # smbclient //192.168.2.16/test -N
|       Try "help" to get a list of possible commands.
|       smb: \>

similar issue has been reported:
https://lists.gnu.org/archive/html/bug-readline/2025-07/msg00011.html

Signed-off-by: Liu Yiding <liuyd.fnst@fujitsu.com>
---
 .../fix-for-readline-event-hook.patch         | 55 +++++++++++++++++++
 meta/recipes-core/readline/readline_8.3.bb    |  1 +
 2 files changed, 56 insertions(+)
 create mode 100644 meta/recipes-core/readline/readline/fix-for-readline-event-hook.patch

Comments

Alexander Kanavin Aug. 27, 2025, 9:57 a.m. UTC | #1
Thanks, the sign-off-by is now correct.

Alex

On Wed, 27 Aug 2025 at 11:53, Liu Yiding <liuyd.fnst@fujitsu.com> wrote:
>
> smbclient can't accept input after readline upgrade to 8.3
> | root # smbclient //192.168.2.16/test -N
> |       Try "help" to get a list of possible commands.
> |       smb: \>
>
> similar issue has been reported:
> https://lists.gnu.org/archive/html/bug-readline/2025-07/msg00011.html
>
> Signed-off-by: Liu Yiding <liuyd.fnst@fujitsu.com>
> ---
>  .../fix-for-readline-event-hook.patch         | 55 +++++++++++++++++++
>  meta/recipes-core/readline/readline_8.3.bb    |  1 +
>  2 files changed, 56 insertions(+)
>  create mode 100644 meta/recipes-core/readline/readline/fix-for-readline-event-hook.patch
>
> diff --git a/meta/recipes-core/readline/readline/fix-for-readline-event-hook.patch b/meta/recipes-core/readline/readline/fix-for-readline-event-hook.patch
> new file mode 100644
> index 0000000000..f2ec506f5c
> --- /dev/null
> +++ b/meta/recipes-core/readline/readline/fix-for-readline-event-hook.patch
> @@ -0,0 +1,55 @@
> +From 15970c431517a046099d8294c91d778b1da9b29d Mon Sep 17 00:00:00 2001
> +From: Chet Ramey <chet.ramey@case.edu>
> +Date: Fri, 11 Jul 2025 11:51:15 -0400
> +Subject: Readline-8.3 patch 1: fix for readline event hook
> +
> +
> +Upstream-Status: Backport [https://cgit.git.savannah.gnu.org/cgit/readline.git/commit/?id=15970c431517a046099d8294c91d778b1da9b29d]
> +Signed-off-by: Liu Yiding <liuyd.fnst@fujitsu.com>
> +---
> + input.c    | 6 +++++-
> + patchlevel | 2 +-
> + 2 files changed, 6 insertions(+), 2 deletions(-)
> +
> +diff --git a/input.c b/input.c
> +index e6a39e2..3383edb 100644
> +--- a/input.c
> ++++ b/input.c
> +@@ -261,13 +261,16 @@ rl_gather_tyi (void)
> +   input = 0;
> +   tty = fileno (rl_instream);
> +
> +-  /* Move this up here to give it first shot, but it can't set chars_avail */
> ++  /* Move this up here to give it first shot, but it can't set chars_avail,
> ++     so we assume a single character is available. */
> +   /* XXX - need rl_chars_available_hook? */
> +   if (rl_input_available_hook)
> +     {
> +       result = (*rl_input_available_hook) ();
> +       if (result == 0)
> +         result = -1;
> ++      else
> ++        chars_avail = 1;
> +     }
> +
> + #if defined (HAVE_PSELECT) || defined (HAVE_SELECT)
> +@@ -285,6 +288,7 @@ rl_gather_tyi (void)
> + #endif
> +       if (result <= 0)
> +       return 0;       /* Nothing to read. */
> ++      result = -1;    /* there is something, so check how many chars below */
> +     }
> + #endif
> +
> +diff --git a/patchlevel b/patchlevel
> +index d8c9df7..fdf4740 100644
> +--- a/patchlevel
> ++++ b/patchlevel
> +@@ -1,3 +1,3 @@
> + # Do not edit -- exists only for use by patch
> +
> +-0
> ++1
> +--
> +cgit v1.2.3
> +
> diff --git a/meta/recipes-core/readline/readline_8.3.bb b/meta/recipes-core/readline/readline_8.3.bb
> index ff5dec6c0a..a2f23eb353 100644
> --- a/meta/recipes-core/readline/readline_8.3.bb
> +++ b/meta/recipes-core/readline/readline_8.3.bb
> @@ -1,6 +1,7 @@
>  require readline.inc
>
>  SRC_URI += "file://norpath.patch \
> +            file://fix-for-readline-event-hook.patch \
>              "
>
>  SRC_URI[archive.sha256sum] = "fe5383204467828cd495ee8d1d3c037a7eba1389c22bc6a041f627976f9061cc"
> --
> 2.43.0
>
diff mbox series

Patch

diff --git a/meta/recipes-core/readline/readline/fix-for-readline-event-hook.patch b/meta/recipes-core/readline/readline/fix-for-readline-event-hook.patch
new file mode 100644
index 0000000000..f2ec506f5c
--- /dev/null
+++ b/meta/recipes-core/readline/readline/fix-for-readline-event-hook.patch
@@ -0,0 +1,55 @@ 
+From 15970c431517a046099d8294c91d778b1da9b29d Mon Sep 17 00:00:00 2001
+From: Chet Ramey <chet.ramey@case.edu>
+Date: Fri, 11 Jul 2025 11:51:15 -0400
+Subject: Readline-8.3 patch 1: fix for readline event hook
+
+
+Upstream-Status: Backport [https://cgit.git.savannah.gnu.org/cgit/readline.git/commit/?id=15970c431517a046099d8294c91d778b1da9b29d]
+Signed-off-by: Liu Yiding <liuyd.fnst@fujitsu.com>
+---
+ input.c    | 6 +++++-
+ patchlevel | 2 +-
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/input.c b/input.c
+index e6a39e2..3383edb 100644
+--- a/input.c
++++ b/input.c
+@@ -261,13 +261,16 @@ rl_gather_tyi (void)
+   input = 0;
+   tty = fileno (rl_instream);
+ 
+-  /* Move this up here to give it first shot, but it can't set chars_avail */
++  /* Move this up here to give it first shot, but it can't set chars_avail,
++     so we assume a single character is available. */
+   /* XXX - need rl_chars_available_hook? */
+   if (rl_input_available_hook)
+     {
+       result = (*rl_input_available_hook) ();
+       if (result == 0)
+         result = -1;
++      else
++        chars_avail = 1;
+     }
+ 
+ #if defined (HAVE_PSELECT) || defined (HAVE_SELECT)
+@@ -285,6 +288,7 @@ rl_gather_tyi (void)
+ #endif
+       if (result <= 0)
+ 	return 0;	/* Nothing to read. */
++      result = -1;	/* there is something, so check how many chars below */
+     }
+ #endif
+ 
+diff --git a/patchlevel b/patchlevel
+index d8c9df7..fdf4740 100644
+--- a/patchlevel
++++ b/patchlevel
+@@ -1,3 +1,3 @@
+ # Do not edit -- exists only for use by patch
+ 
+-0
++1
+-- 
+cgit v1.2.3
+
diff --git a/meta/recipes-core/readline/readline_8.3.bb b/meta/recipes-core/readline/readline_8.3.bb
index ff5dec6c0a..a2f23eb353 100644
--- a/meta/recipes-core/readline/readline_8.3.bb
+++ b/meta/recipes-core/readline/readline_8.3.bb
@@ -1,6 +1,7 @@ 
 require readline.inc
 
 SRC_URI += "file://norpath.patch \
+            file://fix-for-readline-event-hook.patch \
             "
 
 SRC_URI[archive.sha256sum] = "fe5383204467828cd495ee8d1d3c037a7eba1389c22bc6a041f627976f9061cc"