public inbox for development@lists.ipfire.org
 help / color / mirror / Atom feed
* [PATCH] bash: Update to version 5.3 patch-20
@ 2026-09-22 17:24 Adolf Belka
  2026-09-22 17:24 ` [PATCH] core205: Ship bash Adolf Belka
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: Adolf Belka @ 2026-09-22 17:24 UTC (permalink / raw)
  To: development; +Cc: Adolf Belka

- Update from version 5.3 patch-15 to 5.3 patch-20
- No change in rootfile
- Changelog
Patch-20
	If readline handles a SIGWINCH and resizes its idea of the screen
	dimensions, it needs to recompute the columns where the prompt wraps
	lines every time, not just when the screen width decreases.
Patch-19
	On some systems, macOS in particular, isalpha(3) returns true for bytes
	between 128 and 255. Bash uses this to determine whether or not these
	characters are permitted to be part of a shell identifier, and can
	consume one byte too many when determining the end of a variable name.
Patch-18
	This patch fixes two problems with the redisplay code. The first is a
	crash that results if the initial prompt contains more than 256 wrapped
	lines. The second is a fix to the redisplay code when the first several
	characters of the prompt string are identical, but the prompt has changed
	and needs to be redrawn. If these first few characters are part of an escape
	sequence, the entire sequence needs to be redrawn.
Patch-17
	If readline is invoked with the cursor somewhere other than column 0, and
	the prompt contains multibyte characters, the display algorithm needs to
	use a buffer offset, instead of the physical prompt length, to determine
	whether or not to reprint the prompt from column 0 because the cursor is
	before the last invisible character in the prompt string.
Patch-16
	On recent versions of macOS, the pipe size is dynamic and changes due to
	system-wide total pipe usage, so we have to check whether or not bash can
	use the size determined at compile time.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 lfs/bash                    |   2 +-
 src/patches/bash/bash53-016 | 136 ++++++++++++++++++++++++++++++++++++
 src/patches/bash/bash53-017 |  62 ++++++++++++++++
 src/patches/bash/bash53-018 |  71 +++++++++++++++++++
 src/patches/bash/bash53-019 | 133 +++++++++++++++++++++++++++++++++++
 src/patches/bash/bash53-020 |  51 ++++++++++++++
 6 files changed, 454 insertions(+), 1 deletion(-)
 create mode 100644 src/patches/bash/bash53-016
 create mode 100644 src/patches/bash/bash53-017
 create mode 100644 src/patches/bash/bash53-018
 create mode 100644 src/patches/bash/bash53-019
 create mode 100644 src/patches/bash/bash53-020

diff --git a/lfs/bash b/lfs/bash
index dbee213c2..245aaa791 100644
--- a/lfs/bash
+++ b/lfs/bash
@@ -25,7 +25,7 @@
 include Config
 
 VER        = 5.3
-PATCHVER   = 15
+PATCHVER   = 20
 
 THISAPP    = bash-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
diff --git a/src/patches/bash/bash53-016 b/src/patches/bash/bash53-016
new file mode 100644
index 000000000..6aff3244c
--- /dev/null
+++ b/src/patches/bash/bash53-016
@@ -0,0 +1,136 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release:	5.3
+Patch-ID:	bash53-016
+
+Bug-Reported-by:	Ethan Pini <ethan@pini.dev>
+Bug-Reference-ID:	<sm8ZxfcmgU7_eiVLIsjNlax7oyAwwe1_uk2vaO0hp6nypbGnV7WStfE3rrHg_RV8BMSNRhhQmS2-7TpvzPxuK1NLLEWAyL9kbsZ2cA3nqIg=@pini.dev>
+Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2026-06/msg00126.html
+
+Bug-Description:
+
+On recent versions of macOS, the pipe size is dynamic and changes due to
+system-wide total pipe usage, so we have to check whether or not bash can
+use the size determined at compile time.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-5.3-patched/redir.c	Fri Mar  7 18:49:37 2025
+--- redir.c	Tue Jul  7 11:21:09 2026
+***************
+*** 473,477 ****
+--- 473,500 ----
+  #endif
+  
++ #if defined (PIPESIZE_DYNAMIC)
++       /* If we can't count on the pipe size determined at compile time to be
++ 	 constant across systems, define PIPESIZE_DYNAMIC in configure.ac.
++ 	 We set the pipe's write end to be non-blocking, try to write, and
++ 	 fall back to a temp file on error. */
++       if (sh_setnodelay (herepipe[1]) < 0)
++ 	{
++ 	  close (herepipe[0]);
++ 	  close (herepipe[1]);
++ 	  goto use_tempfile;
++ 	}
++ #endif
++       
+        r = heredoc_write (herepipe[1], document, document_len);
++ 
++ #if defined (PIPESIZE_DYNAMIC)
++       if (r == ENOSPC || r == EAGAIN)
++ 	{
++ 	  close (herepipe[0]);
++ 	  close (herepipe[1]);
++ 	  goto use_tempfile;
++ 	}
++ #endif
++ 	  
+        if (document != redirectee->word)
+  	free (document);
+*** ../bash-5.3-patched/general.c	Wed Jun 25 15:54:35 2025
+--- general.c	Tue Jul  7 11:12:10 2026
+***************
+*** 596,599 ****
+--- 596,620 ----
+  }
+  
++ int
++ sh_setnodelay (int fd)
++ {
++   int flags;
++ 
++   if ((flags = fcntl (fd, F_GETFL, 0)) < 0)
++     return -1;
++ 
++   /* This is defined to O_NDELAY in filecntl.h if O_NONBLOCK is not present
++      and O_NDELAY is defined. */
++ #ifdef O_NONBLOCK
++   flags |= O_NONBLOCK;
++ #endif
++ 
++ #ifdef O_NDELAY
++   flags |= O_NDELAY;
++ #endif
++ 
++   return (fcntl (fd, F_SETFL, flags));
++ }
++ 
+  /* Just a wrapper for the define in include/filecntl.h */
+  int
+*** ../bash-5.3-patched/general.h	Wed Jun 25 15:52:47 2025
+--- general.h	Tue Jul  7 11:13:48 2026
+***************
+*** 318,321 ****
+--- 318,322 ----
+  
+  extern int sh_unset_nodelay_mode (int);
++ extern int sh_setnodelay (int);
+  extern int sh_setclexec (int);
+  extern int sh_validfd (int);
+*** ../bash-5.3-patched/configure.ac	Mon Jun 30 10:05:24 2025
+--- configure.ac	Tue Jul  7 11:25:32 2026
+***************
+*** 1210,1214 ****
+  isc*)		LOCAL_CFLAGS=-Disc386 ;;
+  rhapsody*)	LOCAL_CFLAGS=-DRHAPSODY ;;
+! darwin*)	LOCAL_CFLAGS=-DMACOSX ;;
+  sco3.2v5*)	LOCAL_CFLAGS="-b elf -DWAITPID_BROKEN -DPATH_MAX=1024" ;;
+  sco3.2v4*)	LOCAL_CFLAGS="-DMUST_UNBLOCK_CHLD -DPATH_MAX=1024" ;;
+--- 1210,1214 ----
+  isc*)		LOCAL_CFLAGS=-Disc386 ;;
+  rhapsody*)	LOCAL_CFLAGS=-DRHAPSODY ;;
+! darwin*)	LOCAL_CFLAGS="-DMACOSX -DPIPESIZE_DYNAMIC" ;;
+  sco3.2v5*)	LOCAL_CFLAGS="-b elf -DWAITPID_BROKEN -DPATH_MAX=1024" ;;
+  sco3.2v4*)	LOCAL_CFLAGS="-DMUST_UNBLOCK_CHLD -DPATH_MAX=1024" ;;
+*** ../bash-5.3-patched/configure	Mon Jun 30 10:05:30 2025
+--- configure	Tue Jul  7 11:25:36 2026
+***************
+*** 23134,23138 ****
+  isc*)		LOCAL_CFLAGS=-Disc386 ;;
+  rhapsody*)	LOCAL_CFLAGS=-DRHAPSODY ;;
+! darwin*)	LOCAL_CFLAGS=-DMACOSX ;;
+  sco3.2v5*)	LOCAL_CFLAGS="-b elf -DWAITPID_BROKEN -DPATH_MAX=1024" ;;
+  sco3.2v4*)	LOCAL_CFLAGS="-DMUST_UNBLOCK_CHLD -DPATH_MAX=1024" ;;
+--- 23134,23138 ----
+  isc*)		LOCAL_CFLAGS=-Disc386 ;;
+  rhapsody*)	LOCAL_CFLAGS=-DRHAPSODY ;;
+! darwin*)	LOCAL_CFLAGS="-DMACOSX -DPIPESIZE_DYNAMIC" ;;
+  sco3.2v5*)	LOCAL_CFLAGS="-b elf -DWAITPID_BROKEN -DPATH_MAX=1024" ;;
+  sco3.2v4*)	LOCAL_CFLAGS="-DMUST_UNBLOCK_CHLD -DPATH_MAX=1024" ;;
+*** ../bash-5.3/patchlevel.h	2020-06-22 14:51:03.000000000 -0400
+--- patchlevel.h	2020-10-01 11:01:28.000000000 -0400
+***************
+*** 26,30 ****
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 15
+  
+  #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 16
+  
+  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash53-017 b/src/patches/bash/bash53-017
new file mode 100644
index 000000000..68617967e
--- /dev/null
+++ b/src/patches/bash/bash53-017
@@ -0,0 +1,62 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release:	5.3
+Patch-ID:	bash53-017
+
+Bug-Reported-by:	Lennart Ackermans <lennart@ackermans.ch>
+Bug-Reference-ID:	<d6f36c30-633a-4e5e-8212-806db6441bf1@ackermans.ch>
+Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2026-05/msg00066.html
+
+Bug-Description:
+
+If readline is invoked with the cursor somewhere other than column 0, and
+the prompt contains multibyte characters, the display algorithm needs to
+use a buffer offset, instead of the physical prompt length, to determine
+whether or not to reprint the prompt from column 0 because the cursor is
+before the last invisible character in the prompt string.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-5.3-patched/lib/readline/display.c	Thu Sep  4 11:55:37 2025
+--- lib/readline/display.c	Fri May 22 14:55:01 2026
+***************
+*** 1498,1502 ****
+  	     only need to reprint it if the cursor is before the last
+  	     invisible character in the prompt string. */
+- 	  /* XXX - why not use local_prompt_len? */
+  	  nleft = prompt_visible_length + wrap_offset;
+  	  if (cursor_linenum == prompt_last_screen_line)
+--- 1498,1501 ----
+***************
+*** 1510,1518 ****
+  	         buffer position, an index into curline
+  	         (local_prompt + pmt_offset) */
+! 	      cursor_bufpos = pmt_offset;
+! 	      if (mb_cur_max == 1 || rl_byte_oriented)
+! 		cursor_bufpos += _rl_last_c_pos;
+! 	      else
+! 		cursor_bufpos += _rl_last_c_pos + curline_invchars;
+  
+  	      if (local_prompt && local_prompt_invis_chars[cursor_linenum] &&
+--- 1509,1513 ----
+  	         buffer position, an index into curline
+  	         (local_prompt + pmt_offset) */
+! 	      cursor_bufpos = pmt_offset + local_prompt_len;
+  
+  	      if (local_prompt && local_prompt_invis_chars[cursor_linenum] &&
+*** ../bash-5.3/patchlevel.h	2020-06-22 14:51:03.000000000 -0400
+--- patchlevel.h	2020-10-01 11:01:28.000000000 -0400
+***************
+*** 26,30 ****
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 16
+  
+  #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 17
+  
+  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash53-018 b/src/patches/bash/bash53-018
new file mode 100644
index 000000000..070e60d64
--- /dev/null
+++ b/src/patches/bash/bash53-018
@@ -0,0 +1,71 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release:	5.3
+Patch-ID:	bash53-018
+
+Bug-Reported-by:	Ben Kallus <benjamin.p.kallus.gr@dartmouth.edu>
+			Derek Schrock <dereks@lifeofadishwasher.com>
+Bug-Reference-ID:	<CAB6pCSaUPimkEbQwTTkxD5vV14ZJRGCeK2W1ur8RqT1rPrd+Gw@mail.gmail.com>
+			<ajC1pZAV_95J3vsJ@ircbsd.lifeofadishwasher.com>
+Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-readline/2026-06/msg00005.html
+			https://lists.gnu.org/archive/html/bug-readline/2026-06/msg00002.html
+
+Bug-Description:
+
+Patch (apply with `patch -p0'):
+
+This patch fixes two problems with the redisplay code. The first is a
+crash that results if the initial prompt contains more than 256 wrapped
+lines. The second is a fix to the redisplay code when the first several
+characters of the prompt string are identical, but the prompt has changed
+and needs to be redrawn. If these first few characters are part of an escape
+sequence, the entire sequence needs to be redrawn.
+
+*** ../bash-5.3-patched/lib/readline/display.c	Fri May 22 14:55:01 2026
+--- lib/readline/display.c	Fri Jun 26 11:08:53 2026
+***************
+*** 1025,1028 ****
+--- 1025,1029 ----
+  	{
+  	  temp = local_prompt_newlines[newlines+1];
++ 	  CHECK_INV_LBREAKS ();
+  	  inv_lbreaks[++newlines] = temp;
+  	}  
+***************
+*** 2262,2270 ****
+    nd = nfd - new;	/* nd, od are buffer indexes */
+    if (current_line == 0 && !_rl_horizontal_scroll_mode &&
+!       _rl_term_cr && lendiff > prompt_visible_length && _rl_last_c_pos > 0 &&
+        (((od > 0 || nd > 0) && (od <= prompt_last_invisible || nd <= prompt_last_invisible)) ||
+  		((od >= lendiff) && _rl_last_c_pos < PROMPT_ENDING_INDEX)))
+      {
+!       _rl_cr ();
+        if (modmark)
+  	_rl_output_some_chars ("*", 1);
+--- 2266,2275 ----
+    nd = nfd - new;	/* nd, od are buffer indexes */
+    if (current_line == 0 && !_rl_horizontal_scroll_mode &&
+!       _rl_term_cr && lendiff > prompt_visible_length && _rl_last_c_pos >= 0 &&
+        (((od > 0 || nd > 0) && (od <= prompt_last_invisible || nd <= prompt_last_invisible)) ||
+  		((od >= lendiff) && _rl_last_c_pos < PROMPT_ENDING_INDEX)))
+      {
+!       if (_rl_last_c_pos > 0)
+! 	_rl_cr ();
+        if (modmark)
+  	_rl_output_some_chars ("*", 1);
+*** ../bash-5.3/patchlevel.h	2020-06-22 14:51:03.000000000 -0400
+--- patchlevel.h	2020-10-01 11:01:28.000000000 -0400
+***************
+*** 26,30 ****
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 17
+  
+  #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 18
+  
+  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash53-019 b/src/patches/bash/bash53-019
new file mode 100644
index 000000000..e70e5e995
--- /dev/null
+++ b/src/patches/bash/bash53-019
@@ -0,0 +1,133 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release:	5.3
+Patch-ID:	bash53-019
+
+Bug-Reported-by:	zheng <charname@qq.com>
+Bug-Reference-ID:	<tencent_19D6EE3366FEA3EF2C5FD6C23DF303156D09@qq.com>
+Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2026-08/msg00010.html
+
+Bug-Description:
+
+On some systems, macOS in particular, isalpha(3) returns true for bytes
+between 128 and 255. Bash uses this to determine whether or not these
+characters are permitted to be part of a shell identifier, and can
+consume one byte too many when determining the end of a variable name.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-5.3-patched/syntax.h	Mon Sep 14 10:20:05 2020
+--- syntax.h	Thu Aug  6 14:11:25 2026
+***************
+*** 64,67 ****
+--- 64,69 ----
+  #define CSUBSTOP	0x1000	/* values of OP for ${word[:]OPstuff} */
+  #define CBLANK		0x2000	/* whitespace (blank) character */
++ #define CNAME		0x4000	/* POSIX name character ([_0-9a-zA-Z]) */
++ #define CNAMESTART	0x8000	/* POSIX name start character ([_a-zA-Z]) */
+  
+  /* Defines for use by the rest of the shell. */
+*** ../bash-5.3-patched/mksyntax.c	Thu May 16 15:35:55 2024
+--- mksyntax.c	Wed Aug  5 15:27:45 2026
+***************
+*** 61,64 ****
+--- 61,66 ----
+  	{ CSUBSTOP,	"CSUBSTOP" },
+  	{ CBLANK,	"CBLANK" },
++ 	{ CNAME,	"CNAME" },
++ 	{ CNAMESTART,	"CNAMESTART" }
+  };
+  	
+***************
+*** 199,202 ****
+--- 201,243 ----
+  }
+  
++ static void
++ setnamechars(void)
++ {
++   lsyntax['_'] |= CNAME|CNAMESTART;
++ 
++   lsyntax['0'] |= CNAME; lsyntax['1'] |= CNAME; lsyntax['2'] |= CNAME;
++   lsyntax['3'] |= CNAME; lsyntax['4'] |= CNAME; lsyntax['5'] |= CNAME;
++   lsyntax['6'] |= CNAME; lsyntax['7'] |= CNAME; lsyntax['8'] |= CNAME;
++   lsyntax['9'] |= CNAME;
++ 
++   lsyntax['a'] |= CNAME|CNAMESTART; lsyntax['b'] |= CNAME|CNAMESTART;
++   lsyntax['c'] |= CNAME|CNAMESTART; lsyntax['d'] |= CNAME|CNAMESTART;
++   lsyntax['e'] |= CNAME|CNAMESTART; lsyntax['f'] |= CNAME|CNAMESTART;
++   lsyntax['g'] |= CNAME|CNAMESTART; lsyntax['h'] |= CNAME|CNAMESTART;
++   lsyntax['i'] |= CNAME|CNAMESTART; lsyntax['j'] |= CNAME|CNAMESTART;
++   lsyntax['k'] |= CNAME|CNAMESTART; lsyntax['l'] |= CNAME|CNAMESTART;
++   lsyntax['m'] |= CNAME|CNAMESTART; lsyntax['n'] |= CNAME|CNAMESTART;
++   lsyntax['o'] |= CNAME|CNAMESTART; lsyntax['p'] |= CNAME|CNAMESTART;
++   lsyntax['q'] |= CNAME|CNAMESTART; lsyntax['r'] |= CNAME|CNAMESTART;
++   lsyntax['s'] |= CNAME|CNAMESTART; lsyntax['t'] |= CNAME|CNAMESTART;
++   lsyntax['u'] |= CNAME|CNAMESTART; lsyntax['v'] |= CNAME|CNAMESTART;
++   lsyntax['w'] |= CNAME|CNAMESTART; lsyntax['x'] |= CNAME|CNAMESTART;
++   lsyntax['y'] |= CNAME|CNAMESTART; lsyntax['z'] |= CNAME|CNAMESTART;
++ 
++   lsyntax['A'] |= CNAME|CNAMESTART; lsyntax['B'] |= CNAME|CNAMESTART;
++   lsyntax['C'] |= CNAME|CNAMESTART; lsyntax['D'] |= CNAME|CNAMESTART;
++   lsyntax['E'] |= CNAME|CNAMESTART; lsyntax['F'] |= CNAME|CNAMESTART;
++   lsyntax['G'] |= CNAME|CNAMESTART; lsyntax['H'] |= CNAME|CNAMESTART;
++   lsyntax['I'] |= CNAME|CNAMESTART; lsyntax['J'] |= CNAME|CNAMESTART;
++   lsyntax['K'] |= CNAME|CNAMESTART; lsyntax['L'] |= CNAME|CNAMESTART;
++   lsyntax['M'] |= CNAME|CNAMESTART; lsyntax['N'] |= CNAME|CNAMESTART;
++   lsyntax['O'] |= CNAME|CNAMESTART; lsyntax['P'] |= CNAME|CNAMESTART;
++   lsyntax['Q'] |= CNAME|CNAMESTART; lsyntax['R'] |= CNAME|CNAMESTART;
++   lsyntax['S'] |= CNAME|CNAMESTART; lsyntax['T'] |= CNAME|CNAMESTART;
++   lsyntax['U'] |= CNAME|CNAMESTART; lsyntax['V'] |= CNAME|CNAMESTART;
++   lsyntax['W'] |= CNAME|CNAMESTART; lsyntax['X'] |= CNAME|CNAMESTART;
++   lsyntax['Y'] |= CNAME|CNAMESTART; lsyntax['Z'] |= CNAME|CNAMESTART;
++ }
++ 
+  /* load up the correct flag values in lsyntax */
+  static void
+***************
+*** 235,238 ****
+--- 276,281 ----
+  
+    addblanks ();
++ 
++   setnamechars ();
+  }
+  
+*** ../bash-5.3-patched/general.h	Tue Jul  7 11:13:48 2026
+--- general.h	Thu Aug  6 14:07:22 2026
+***************
+*** 111,116 ****
+  
+  /* Define exactly what a legal shell identifier consists of. */
+! #define legal_variable_starter(c) (ISALPHA(c) || (c == '_'))
+! #define legal_variable_char(c)	(ISALNUM(c) || c == '_')
+  
+  /* Definitions used in subst.c and by the `read' builtin for field
+--- 111,121 ----
+  
+  /* Define exactly what a legal shell identifier consists of. */
+! #if 0
+! #define legal_variable_starter(c) (c < 128 && (ISALPHA(c) || c == '_'))
+! #define legal_variable_char(c)	(c < 128 && (ISALNUM(c) || c == '_'))
+! #else
+! #define legal_variable_starter(c) (sh_syntaxtab[c] & CNAMESTART)
+! #define legal_variable_char(c)	(sh_syntaxtab[c] & CNAME)
+! #endif
+  
+  /* Definitions used in subst.c and by the `read' builtin for field
+*** ../bash-5.3/patchlevel.h	2020-06-22 14:51:03.000000000 -0400
+--- patchlevel.h	2020-10-01 11:01:28.000000000 -0400
+***************
+*** 26,30 ****
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 18
+  
+  #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 19
+  
+  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash53-020 b/src/patches/bash/bash53-020
new file mode 100644
index 000000000..1e27d19bd
--- /dev/null
+++ b/src/patches/bash/bash53-020
@@ -0,0 +1,51 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release:	5.3
+Patch-ID:	bash53-020
+
+Bug-Reported-by:	Félix Bouynot <felix.bouynot@setenforce.one>
+Bug-Reference-ID:	<39c9472ddcf23881693380c4b895dd3799b45cec.camel@setenforce.one>
+Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2026-05/msg00065.html
+
+Bug-Description:
+
+If readline handles a SIGWINCH and resizes its idea of the screen
+dimensions, it needs to recompute the columns where the prompt wraps
+lines every time, not just when the screen width decreases.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-5.3-patched/lib/readline/display.c	Thu Sep  4 11:55:37 2025
+--- lib/readline/display.c	Fri May 22 14:55:01 2026
+***************
+*** 3526,3531 ****
+      rl_crlf ();
+  
+!   if (_rl_screenwidth < prompt_visible_length)
+!     _rl_reset_prompt ();		/* update local_prompt_newlines array */
+  
+    /* Redraw only the last line of a multi-line prompt. */
+--- 3521,3527 ----
+      rl_crlf ();
+  
+!   /* Let expand_prompt() update local_prompt_newlines and local_prompt_invis_chars
+!     arrays */
+!   _rl_reset_prompt ();
+  
+    /* Redraw only the last line of a multi-line prompt. */
+*** ../bash-5.3/patchlevel.h	2020-06-22 14:51:03.000000000 -0400
+--- patchlevel.h	2020-10-01 11:01:28.000000000 -0400
+***************
+*** 26,30 ****
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 19
+  
+  #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 20
+  
+  #endif /* _PATCHLEVEL_H_ */
-- 
2.55.0



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH] core205: Ship bash
  2026-09-22 17:24 [PATCH] bash: Update to version 5.3 patch-20 Adolf Belka
@ 2026-09-22 17:24 ` Adolf Belka
  2026-09-22 17:24 ` [PATCH] core205: Ship gzip Adolf Belka
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Adolf Belka @ 2026-09-22 17:24 UTC (permalink / raw)
  To: development; +Cc: Adolf Belka

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/core/205/filelists/bash | 1 +
 1 file changed, 1 insertion(+)
 create mode 120000 config/rootfiles/core/205/filelists/bash

diff --git a/config/rootfiles/core/205/filelists/bash b/config/rootfiles/core/205/filelists/bash
new file mode 120000
index 000000000..de970cb1d
--- /dev/null
+++ b/config/rootfiles/core/205/filelists/bash
@@ -0,0 +1 @@
+../../../common/bash
\ No newline at end of file
-- 
2.55.0



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH] core205: Ship gzip
  2026-09-22 17:24 [PATCH] bash: Update to version 5.3 patch-20 Adolf Belka
  2026-09-22 17:24 ` [PATCH] core205: Ship bash Adolf Belka
@ 2026-09-22 17:24 ` Adolf Belka
  2026-09-22 17:24 ` [PATCH] core205: Ship less Adolf Belka
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Adolf Belka @ 2026-09-22 17:24 UTC (permalink / raw)
  To: development; +Cc: Adolf Belka

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/core/205/filelists/gzip | 1 +
 1 file changed, 1 insertion(+)
 create mode 120000 config/rootfiles/core/205/filelists/gzip

diff --git a/config/rootfiles/core/205/filelists/gzip b/config/rootfiles/core/205/filelists/gzip
new file mode 120000
index 000000000..aebcccd87
--- /dev/null
+++ b/config/rootfiles/core/205/filelists/gzip
@@ -0,0 +1 @@
+../../../common/gzip
\ No newline at end of file
-- 
2.55.0



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH] core205: Ship less
  2026-09-22 17:24 [PATCH] bash: Update to version 5.3 patch-20 Adolf Belka
  2026-09-22 17:24 ` [PATCH] core205: Ship bash Adolf Belka
  2026-09-22 17:24 ` [PATCH] core205: Ship gzip Adolf Belka
@ 2026-09-22 17:24 ` Adolf Belka
  2026-09-22 17:24 ` [PATCH] core205: Ship readline Adolf Belka
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Adolf Belka @ 2026-09-22 17:24 UTC (permalink / raw)
  To: development; +Cc: Adolf Belka

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/core/205/filelists/less | 1 +
 1 file changed, 1 insertion(+)
 create mode 120000 config/rootfiles/core/205/filelists/less

diff --git a/config/rootfiles/core/205/filelists/less b/config/rootfiles/core/205/filelists/less
new file mode 120000
index 000000000..65c0e0771
--- /dev/null
+++ b/config/rootfiles/core/205/filelists/less
@@ -0,0 +1 @@
+../../../common/less
\ No newline at end of file
-- 
2.55.0



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH] core205: Ship readline
  2026-09-22 17:24 [PATCH] bash: Update to version 5.3 patch-20 Adolf Belka
                   ` (2 preceding siblings ...)
  2026-09-22 17:24 ` [PATCH] core205: Ship less Adolf Belka
@ 2026-09-22 17:24 ` Adolf Belka
  2026-09-22 17:24 ` [PATCH] gzip: Update to version 1.15 Adolf Belka
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Adolf Belka @ 2026-09-22 17:24 UTC (permalink / raw)
  To: development; +Cc: Adolf Belka

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/core/205/filelists/readline | 1 +
 1 file changed, 1 insertion(+)
 create mode 120000 config/rootfiles/core/205/filelists/readline

diff --git a/config/rootfiles/core/205/filelists/readline b/config/rootfiles/core/205/filelists/readline
new file mode 120000
index 000000000..84209f189
--- /dev/null
+++ b/config/rootfiles/core/205/filelists/readline
@@ -0,0 +1 @@
+../../../common/readline
\ No newline at end of file
-- 
2.55.0



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH] gzip: Update to version 1.15
  2026-09-22 17:24 [PATCH] bash: Update to version 5.3 patch-20 Adolf Belka
                   ` (3 preceding siblings ...)
  2026-09-22 17:24 ` [PATCH] core205: Ship readline Adolf Belka
@ 2026-09-22 17:24 ` Adolf Belka
  2026-09-22 17:24 ` [PATCH] harfbuzz: Update to version 14.5.0 Adolf Belka
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Adolf Belka @ 2026-09-22 17:24 UTC (permalink / raw)
  To: development; +Cc: Adolf Belka

- Update from version 1.14 to 1.15
- No change in rootfile
- Changelog
1.15
** Bug fixes
  gzip no longer can mistakenly remove the wrong file if some other
   process simultaneously renames a gzip destination's ancestor.
   [bug present since the beginning]
  gzip -d no longer rejects PKZIP signatures, local header, and data
   descriptors.  These can appear in well-formed streamed zip files.
   [bug present since the beginning]
  gzip diagnostics now quote file names containing unusual characters.
   [bug present since the beginning]
  A use of uninitialized memory on some malformed inputs has been fixed.
   [bug present since the beginning]
  A buffer overflow has been fixed when decompressing an .lzh file
   after decompressing a .Z file.
   [bug present since the beginning]
  When decompressing an .lzh file, the output is no longer corrupted
   when an internal bit buffer is not properly cleared.
   [bug present since the beginning]
  When decompressing an .lzh file after another .lzh file, the output is
   no longer corrupted by the previous file's decoding table.
   [bug present since the beginning]
  gzip --synchronous no longer fails to synchronize unreadable parent
   directories on platforms like GNU/Linux that have O_PATH, or to
   synchronize any parent directories on platforms like FreeBSD that
   have O_SEARCH but not O_PATH.
   [bug introduced in gzip-1.7]
  On old-fashioned or limited platforms lacking mktemp, gzexe, zdiff
   and znew no longer have a race when creating a temporary file.
   [bug present since the beginning]
** Changes in behavior
  gzip no longer insists on the "C" locale; instead, it follows the
   typical practice of using the locale specified by the environment.
   This change, which is needed for file name quoting, can affect the
   format of floating-point numbers output by gzip's -l and -v options.
   Diagnostics are still in English, though.
  gzip -l now reports "-Inf%" instead of "0.0%" for the infinite
   compression ratio of an empty file.
  znew's -P option is now ignored, with a warning.  It was present
   only to improve performance, and its implementation had too many
   bugs to be worth supporting.
** Platforms no longer supported
  The following platforms (or earlier) are no longer supported because
   their old multibyte libraries do not work well enough: FreeBSD 4.11
   (2005), HP-UX 11.00 (1997), Minix 3.1.8 (2010), MS-Windows 8.1
   (2013) via mingw without UCRT.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 lfs/gzip | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lfs/gzip b/lfs/gzip
index 8f036063d..db02cba12 100644
--- a/lfs/gzip
+++ b/lfs/gzip
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2025  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2026  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 1.14
+VER        = 1.15
 
 THISAPP    = gzip-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -49,7 +49,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 32f7241bd9f3b7f73a59905a5bc9abf4e360e787f692cbb00ad28d48abee52744846d10c07ce2f7aaa3e66bc4b6ab9cd4f1b8e98854bb7d1ec010ae0d5146932
+$(DL_FILE)_BLAKE2 = efa81df3df766502c5ffde551570b568c73d3b2ad0b2c76bd79b0ed5cea4deb5e0a3d803b942a078efdc4df9cde355863aadc51752498a9e7dec8737be559850
 
 install : $(TARGET)
 
-- 
2.55.0



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH] harfbuzz: Update to version 14.5.0
  2026-09-22 17:24 [PATCH] bash: Update to version 5.3 patch-20 Adolf Belka
                   ` (4 preceding siblings ...)
  2026-09-22 17:24 ` [PATCH] gzip: Update to version 1.15 Adolf Belka
@ 2026-09-22 17:24 ` Adolf Belka
  2026-09-22 17:24 ` [PATCH] less: Update to version 710 Adolf Belka
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Adolf Belka @ 2026-09-22 17:24 UTC (permalink / raw)
  To: development; +Cc: Adolf Belka

- Update from version 14.4.0 to 14.5.0
- Update of rootfile
- Changelog
14.5.0
- Update Unicode 18.0 data and script support, including script values for
  Jurchen, Proto-Cuneiform, and Seal, and the corresponding shaping support.
- Add support for VARC table subsetting, including pruning auxiliary data,
  remapping glyph IDs, and guarding the feature in lean builds.
- Add rendering work budgets to the draw and paint APIs and share them across
  the raster, vector, GPU, and Cairo renderers so nested outline work remains
  bounded.
- Improve performance in set iteration, lookup traversal, and the repacker, and
  add coverage for new benchmarks and fuzzing seeds.
- Fix various correctness and robustness issues across the CFF, Graphite,
  DirectWrite, and repacker code paths, including memory leaks, overflow checks,
  bounds issues, and malformed-font handling.
- Various build, portability, and CI fixes.
- New API:
  * Common:
    +HB_BUDGET_DEFAULT
    +HB_BUDGET_UNLIMITED
    +HB_SCRIPT_JURCHEN
    +HB_SCRIPT_PROTO_CUNEIFORM
    +HB_SCRIPT_SEAL
  * Draw:
    +hb_draw_set_budget_func_t
    +hb_draw_get_budget_func_t
    +hb_draw_get_budget_remaining_func_t
    +hb_draw_funcs_set_set_budget_func()
    +hb_draw_funcs_set_get_budget_func()
    +hb_draw_funcs_set_get_budget_remaining_func()
    +hb_draw_set_budget()
    +hb_draw_get_budget()
    +hb_draw_get_budget_remaining()
  * Paint:
    +hb_paint_set_budget_func_t
    +hb_paint_get_budget_func_t
    +hb_paint_get_budget_remaining_func_t
    +hb_paint_funcs_set_set_budget_func()
    +hb_paint_funcs_set_get_budget_func()
    +hb_paint_funcs_set_get_budget_remaining_func()
    +hb_paint_set_budget()
    +hb_paint_get_budget()
    +hb_paint_get_budget_remaining()

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/common/harfbuzz | 14 +++++++-------
 lfs/harfbuzz                     |  4 ++--
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/config/rootfiles/common/harfbuzz b/config/rootfiles/common/harfbuzz
index 67ab2fe3e..47d5d757d 100644
--- a/config/rootfiles/common/harfbuzz
+++ b/config/rootfiles/common/harfbuzz
@@ -54,25 +54,25 @@ usr/include/harfbuzz/hb-script-list.h
 #usr/lib/cmake/harfbuzz/harfbuzz-config.cmake
 #usr/lib/libharfbuzz-cairo.so
 usr/lib/libharfbuzz-cairo.so.0
-usr/lib/libharfbuzz-cairo.so.0.61440.0
+usr/lib/libharfbuzz-cairo.so.0.61450.0
 #usr/lib/libharfbuzz-gobject.so
 usr/lib/libharfbuzz-gobject.so.0
-usr/lib/libharfbuzz-gobject.so.0.61440.0
+usr/lib/libharfbuzz-gobject.so.0.61450.0
 #usr/lib/libharfbuzz-gpu.so
 usr/lib/libharfbuzz-gpu.so.0
-usr/lib/libharfbuzz-gpu.so.0.61440.0
+usr/lib/libharfbuzz-gpu.so.0.61450.0
 #usr/lib/libharfbuzz-raster.so
 usr/lib/libharfbuzz-raster.so.0
-usr/lib/libharfbuzz-raster.so.0.61440.0
+usr/lib/libharfbuzz-raster.so.0.61450.0
 #usr/lib/libharfbuzz-subset.so
 usr/lib/libharfbuzz-subset.so.0
-usr/lib/libharfbuzz-subset.so.0.61440.0
+usr/lib/libharfbuzz-subset.so.0.61450.0
 #usr/lib/libharfbuzz-vector.so
 usr/lib/libharfbuzz-vector.so.0
-usr/lib/libharfbuzz-vector.so.0.61440.0
+usr/lib/libharfbuzz-vector.so.0.61450.0
 #usr/lib/libharfbuzz.so
 usr/lib/libharfbuzz.so.0
-usr/lib/libharfbuzz.so.0.61440.0
+usr/lib/libharfbuzz.so.0.61450.0
 #usr/lib/pkgconfig/harfbuzz-cairo.pc
 #usr/lib/pkgconfig/harfbuzz-gobject.pc
 #usr/lib/pkgconfig/harfbuzz-gpu.pc
diff --git a/lfs/harfbuzz b/lfs/harfbuzz
index 115601310..f77e0b5d2 100644
--- a/lfs/harfbuzz
+++ b/lfs/harfbuzz
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 14.4.0
+VER        = 14.5.0
 
 THISAPP    = harfbuzz-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = bca47aa5bc12e865529c031d34559978bc4d098f9e09a586e21c6631535a49f7b6c0c217bb03952e141df3a083465d2a811c27a9d136d0ae23e150d9a75ae9bb
+$(DL_FILE)_BLAKE2 = cde386fc963c56c3e2d352cb66419094bad64348752072a94856e3229d0910d127c5922bbc980b8a663ce138529e7c2ac2a6715c5fa468057148c126e40e4164
 
 install : $(TARGET)
 
-- 
2.55.0



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH] less: Update to version 710
  2026-09-22 17:24 [PATCH] bash: Update to version 5.3 patch-20 Adolf Belka
                   ` (5 preceding siblings ...)
  2026-09-22 17:24 ` [PATCH] harfbuzz: Update to version 14.5.0 Adolf Belka
@ 2026-09-22 17:24 ` Adolf Belka
  2026-09-22 17:24 ` [PATCH] libxxhash: Update to version 0.8.4 Adolf Belka
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Adolf Belka @ 2026-09-22 17:24 UTC (permalink / raw)
  To: development; +Cc: Adolf Belka

- Update from version 704 to 710
- Update of rootfile
- Changelog
710
	* Add || command.
	* In | and || commands, ^N allows entering line number instead of mark letter.
	* Add "ESC-]" / "ESC-RIGHTARROW" (right-limit-scroll) command (github #783).
	* In lesskey files, add \k^x syntax for control chars and \k+x syntax
	  for shifted chars.
	* Underline OSC 8 links in text.
	* Add -DO for custom coloring of OSC 8 links.
	* Add LESSMSG, which allows translation of messages into other languages.
	* Add LESSSECURE_DISALLOW.
	* Add LESS_SHELL_COPTION.
	* Add %G, %y, and %% in prompt strings.
	* Add lesskey support for shift-uparrow, shift-downarrow, shift-pageup,
	  shift-pagedown, ctl-uparrow, ctl-downarrow, ctl-pageup, ctl-pagedown,
	  shift-delete.
	* Change "make check" to use nonstandard object and binary file names,
	  to avoid accidentally installing test binaries (github #791).
	* Fix issues on systems with volatile getenv return values.
	* Improve error handling for malformed binary lesskey file.
	* Improve messaging when using __mouse after --emouse (github #808).
	* Remove support for obsolete pre-241 lesskey binary format.
	* Remove obsolete lesskey program.
	* Move lesskey man page to section 5.
	* Update display when resize window while in F mode on Windows.
	* Fix missing "END" message at end of &-filtered output (github #774).
	* Fix missing bell with G command at end of &-filtered output (github #774).
	* Don't reset signal handlers in a subprocess on Windows.
	* Fix ' command to not modify the mark when given a numeric argument
	  (github #799).
	* Fix erroneous message from --rscroll command when rscroll char is non-ASCII.
	* Fix unexpected exit when TERM is invalid (github #809).
	* Fix possible crash when use ":e #" after ":d" (github #810).
	* Fix infinite loop if invalid option letter in LESS_UNSUPPORT.
	* Fix crash if run !! command with no previous ! command (github #812).
	* Fix inability to run a shell command starting with "!" character.
	* Fix bugs using ^S search modifier (github #814).
	* Fix display bugs when a status message contains non-ASCII chars
	  or is displayed on a very narrow screen (github #816).
	* Fix bug defining command which has a built-in command as a prefix
	  (github #795).
	* Fix string overrrun if input contains "\e\0".
	* Fix memory leak when using ${...} in lesskey file.
	* Fix status column display when long line is marked (github #820).

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/common/less | 3 +--
 lfs/less                     | 4 ++--
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/config/rootfiles/common/less b/config/rootfiles/common/less
index 3cf8123c9..831aed1b1 100644
--- a/config/rootfiles/common/less
+++ b/config/rootfiles/common/less
@@ -1,7 +1,6 @@
 usr/bin/less
-#usr/bin/lesskey
 #usr/libexec/less-osc8-open
 #usr/libexec/lessecho
 #usr/share/man/man1/less.1
 #usr/share/man/man1/lessecho.1
-#usr/share/man/man1/lesskey.1
+#usr/share/man/man5/lesskey.5
diff --git a/lfs/less b/lfs/less
index 97cb9ed4f..6a3aede00 100644
--- a/lfs/less
+++ b/lfs/less
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 704
+VER        = 710
 
 THISAPP    = less-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 490b5ea9006cec85b8a44f19bfc47f99da7394664e4dc4ed37fb9610c42d9fbe206a702540aaa04fe9b3320e0672522fb740ad189c835aa5a4580da4175fae71
+$(DL_FILE)_BLAKE2 = defbc6a019b5d6a598bfbd965cd34ec87777e7ee1dd47025ea84d2a7d474285f2add24b2e5d5aabf7cf9e00f5b2be44c42b1406cb6066d2ac0c5a63b5626917c
 
 install : $(TARGET)
 
-- 
2.55.0



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH] libxxhash: Update to version 0.8.4
  2026-09-22 17:24 [PATCH] bash: Update to version 5.3 patch-20 Adolf Belka
                   ` (6 preceding siblings ...)
  2026-09-22 17:24 ` [PATCH] less: Update to version 710 Adolf Belka
@ 2026-09-22 17:24 ` Adolf Belka
  2026-09-22 17:24 ` [PATCH] nfs: Update to version 3.1.1 Adolf Belka
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Adolf Belka @ 2026-09-22 17:24 UTC (permalink / raw)
  To: development; +Cc: Adolf Belka

- Update from version 0.8.3 to 0.8.4
- Update of rootfile
- Changelog
0.8.4
	- perf : added RISC-V Vector extension (RVV) implementation, by
		@zijianli1234, @BoBoDai and @camel-cdr
	- perf : added LoongArch LASX implementation and improved LSX, by @24bit-xjkp
	- perf : prefer NEON over SVE on AArch64, improving XXH3 speed by 25-40%, by
		@Nicoshev
	- perf : improved XXH3 streaming speed for very small updates, suggested by
		@aleksazr
	- api  : `XXH_memcpy()`, `XXH_memset()` and `XXH_memcmp()` can be redirected
		at compile time
	- api  : new `XXH_NO_EXTERNC_GUARD` build macro for complex C++ integration
	- cli  : added 64-bit seed support (`-s`, `--seed`), by @d06i
	- cli  : options can appear after filenames; `--` terminates option parsing,
		(#1098) reported by @unterkomplex
	- cli  : continue processing subsequent files after read errors, #1064
		reported by @ZoomRmc
	- cli  : support long and special Windows paths, #1060, based on #1061 by @t-mat
	- cli  : improved benchmark accuracy, error handling and unit labels, #1051
		reported by @calgray
	- fix  : unaligned reads could be miscompiled by GCC under strict aliasing,
		(#1013) by @lassipulkkinen
	- fix  : `XXH_INLINE_ALL` compatibility with `XXH_NAMESPACE` and x86 runtime
		dispatch, by @pps83, #1071 reported by @Dr-Hex
	- fix  : avoid including system headers inside an `extern "C"` block, #1122
		reported by @andreas-schwab
	- fix  : compilation with MSVC link-time optimization and warnings as
		errors, #1038 reported by @mi2think
	- build: improved runtime dispatch detection for cross-compilation and
		non-x86 targets, with help from @eworm-de, #1081 reported by @PotMJ
	- build: `LIBXXH_DISPATCH=1` now applies to static and dynamic libraries,
		(#1058) reported by @xiota
	- build: Make builds now isolate objects by configuration and support
		parallel test builds
	- build: moved CMake integration to `build/cmake` and improved
		cross-compilation detection
	- install: improved package metadata and installation paths on Windows and
		FreeBSD, by @iwamatsu, @chitao1234 and @sunpoet
	- portability: fixed compilation on ARM with GCC < 8, by @mstorsjo
	- portability: fixed C++ compilation on Solaris and illumos, by @luqmana
	- portability: AVX-512 implementation no longer requires AVX-512BW, by @NexusXe
	- doc  : expanded `xxhsum` documentation and clarified the algorithm
		specification files
	- doc  : document non-cryptographic collision properties, notably for XXH3's
		mid-size path (#1127 by @thomasahle)

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/packages/libxxhash | 2 +-
 lfs/libxxhash                       | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/config/rootfiles/packages/libxxhash b/config/rootfiles/packages/libxxhash
index a50cae5ff..3cfacc95d 100644
--- a/config/rootfiles/packages/libxxhash
+++ b/config/rootfiles/packages/libxxhash
@@ -8,7 +8,7 @@ usr/bin/xxhsum
 #usr/lib/libxxhash.a
 #usr/lib/libxxhash.so
 usr/lib/libxxhash.so.0
-usr/lib/libxxhash.so.0.8.3
+usr/lib/libxxhash.so.0.8.4
 #usr/lib/pkgconfig/libxxhash.pc
 #usr/share/man/man1/xxh128sum.1
 #usr/share/man/man1/xxh32sum.1
diff --git a/lfs/libxxhash b/lfs/libxxhash
index 3b1c6d6ea..238a8418d 100644
--- a/lfs/libxxhash
+++ b/lfs/libxxhash
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 0.8.3
+VER        = 0.8.4
 SUMMARY    = Extremely fast non-cryptographic hash algorithm, working at RAM speed limit
 
 THISAPP    = xxHash-$(VER)
@@ -32,7 +32,7 @@ DL_FILE    = $(THISAPP).tar.gz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 PROG       = libxxhash
-PAK_VER    = 3
+PAK_VER    = 4
 
 DEPS       =
 
@@ -54,7 +54,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 75923c7c5df3490062791fa02ccddfb7281b3646e2b3e4b4a0c0d611c339e07c8d9cb656777fd0fcec9cda484f7b33edf080116bb011f70d6b8299cda63afa4e
+$(DL_FILE)_BLAKE2 = 73d6a98a8ca43897808b6bacc1fa44201933170028a8321f4794e71226748cfb472f1b1a4dbceb70306838c11856c41107949660242b776e9f5bc3222e5ad7bc
 
 install : $(TARGET)
 
-- 
2.55.0



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH] nfs: Update to version 3.1.1
  2026-09-22 17:24 [PATCH] bash: Update to version 5.3 patch-20 Adolf Belka
                   ` (7 preceding siblings ...)
  2026-09-22 17:24 ` [PATCH] libxxhash: Update to version 0.8.4 Adolf Belka
@ 2026-09-22 17:24 ` Adolf Belka
  2026-09-22 17:24 ` [PATCH] readline: Update to version 8.3 Patch-6 Adolf Belka
  2026-09-22 17:24 ` [PATCH] xfsprogs: Update to version 7.2.0 Adolf Belka
  10 siblings, 0 replies; 12+ messages in thread
From: Adolf Belka @ 2026-09-22 17:24 UTC (permalink / raw)
  To: development; +Cc: Adolf Belka

- Update from version 2.9.2 to 3.1.1
- No change in rootfile
- Changelog is just a list of the commits. The details can be found in the changelog at
    3.1.1
	https://sourceforge.net/projects/nfs/files/nfs-utils/3.1.1/

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 lfs/nfs | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lfs/nfs b/lfs/nfs
index 06b91de29..e221ae0fd 100644
--- a/lfs/nfs
+++ b/lfs/nfs
@@ -26,7 +26,7 @@ include Config
 
 SUMMARY    = Support Utilities for Kernel nfsd
 
-VER        = 2.9.2
+VER        = 3.1.1
 
 THISAPP    = nfs-utils-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -34,7 +34,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = nfs
-PAK_VER    = 31
+PAK_VER    = 32
 
 DEPS       = rpcbind
 
@@ -48,7 +48,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = ef6b726bdeda695047af9359316f4519e674b855b064feca409be97acc9e6f78585e4e064646f437b229fb5261b48618db33a458eb315228141b2e9693efd81b
+$(DL_FILE)_BLAKE2 = 7418b4d70b436fa489e31ae6c96b532d45f8e5bd20f84804d48f95b490844469b14ff7651ca81a480557e19b1a1a2e34293460120201ee6d0c05c8299e9da809
 
 install : $(TARGET)
 
-- 
2.55.0



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH] readline: Update to version 8.3 Patch-6
  2026-09-22 17:24 [PATCH] bash: Update to version 5.3 patch-20 Adolf Belka
                   ` (8 preceding siblings ...)
  2026-09-22 17:24 ` [PATCH] nfs: Update to version 3.1.1 Adolf Belka
@ 2026-09-22 17:24 ` Adolf Belka
  2026-09-22 17:24 ` [PATCH] xfsprogs: Update to version 7.2.0 Adolf Belka
  10 siblings, 0 replies; 12+ messages in thread
From: Adolf Belka @ 2026-09-22 17:24 UTC (permalink / raw)
  To: development; +Cc: Adolf Belka

- Update from version 8.3 Patch-3 to 8.3 Patch-6
- No change in rootfile
- Changelog
Patch-6
	If readline handles a SIGWINCH and resizes its idea of the screen
	dimensions, it needs to recompute the columns where the prompt wraps
	lines every time, not just when the screen width decreases.
Patch-5
	This patch fixes two problems with the redisplay code. The first is a
	crash that results if the initial prompt contains more than 256 wrapped
	lines. The second is a fix to the redisplay code when the first several
	characters of the prompt string are identical, but the prompt has changed
	and needs to be redrawn. If these first few characters are part of an escape
	sequence, the entire sequence needs to be redrawn.
Patch-4
	If readline is invoked with the cursor somewhere other than column 0, and
	the prompt contains multibyte characters, the display algorithm needs to
	use a buffer offset, instead of the physical prompt length, to determine
	whether or not to reprint the prompt from column 0 because the cursor is
	before the last invisible character in the prompt string.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 lfs/readline                        |  4 +-
 src/patches/readline/readline83-004 | 61 ++++++++++++++++++++++++++
 src/patches/readline/readline83-005 | 67 +++++++++++++++++++++++++++++
 src/patches/readline/readline83-006 | 47 ++++++++++++++++++++
 4 files changed, 177 insertions(+), 2 deletions(-)
 create mode 100644 src/patches/readline/readline83-004
 create mode 100644 src/patches/readline/readline83-005
 create mode 100644 src/patches/readline/readline83-006

diff --git a/lfs/readline b/lfs/readline
index 57ecea815..37769c2ca 100644
--- a/lfs/readline
+++ b/lfs/readline
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2025  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2026  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -25,7 +25,7 @@
 include Config
 
 VER        = 8.3
-PATCHVER   = 3
+PATCHVER   = 6
 #            https://ftp.gnu.org/gnu/readline/
 
 THISAPP    = readline-$(VER)
diff --git a/src/patches/readline/readline83-004 b/src/patches/readline/readline83-004
new file mode 100644
index 000000000..f743af8dc
--- /dev/null
+++ b/src/patches/readline/readline83-004
@@ -0,0 +1,61 @@
+			   READLINE PATCH REPORT
+			   =====================
+
+Readline-Release: 8.3
+Patch-ID: readline83-004
+
+Bug-Reported-by:	Lennart Ackermans <lennart@ackermans.ch>
+Bug-Reference-ID:	<d6f36c30-633a-4e5e-8212-806db6441bf1@ackermans.ch>
+Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2026-05/msg00066.html
+
+Bug-Description:
+
+If readline is invoked with the cursor somewhere other than column 0, and
+the prompt contains multibyte characters, the display algorithm needs to
+use a buffer offset, instead of the physical prompt length, to determine
+whether or not to reprint the prompt from column 0 because the cursor is
+before the last invisible character in the prompt string.
+
+Patch (apply with `patch -p0'):
+
+Lennart Ackermans <lennart@ackermans.ch> 5/19/2026
+
+*** ../readline-8.3-patched/display.c	Thu Sep  4 11:55:37 2025
+--- display.c	Fri May 22 14:55:01 2026
+***************
+*** 1498,1502 ****
+  	     only need to reprint it if the cursor is before the last
+  	     invisible character in the prompt string. */
+- 	  /* XXX - why not use local_prompt_len? */
+  	  nleft = prompt_visible_length + wrap_offset;
+  	  if (cursor_linenum == prompt_last_screen_line)
+--- 1498,1501 ----
+***************
+*** 1510,1518 ****
+  	         buffer position, an index into curline
+  	         (local_prompt + pmt_offset) */
+! 	      cursor_bufpos = pmt_offset;
+! 	      if (mb_cur_max == 1 || rl_byte_oriented)
+! 		cursor_bufpos += _rl_last_c_pos;
+! 	      else
+! 		cursor_bufpos += _rl_last_c_pos + curline_invchars;
+  
+  	      if (local_prompt && local_prompt_invis_chars[cursor_linenum] &&
+--- 1509,1513 ----
+  	         buffer position, an index into curline
+  	         (local_prompt + pmt_offset) */
+! 	      cursor_bufpos = pmt_offset + local_prompt_len;
+  
+  	      if (local_prompt && local_prompt_invis_chars[cursor_linenum] &&
+
+*** ../readline-8.3/patchlevel	2013-11-15 08:11:11.000000000 -0500
+--- patchlevel	2024-03-21 08:28:40.000000000 -0400
+***************
+*** 1,3 ****
+  # Do not edit -- exists only for use by patch
+  
+! 3
+--- 1,3 ----
+  # Do not edit -- exists only for use by patch
+  
+! 4
diff --git a/src/patches/readline/readline83-005 b/src/patches/readline/readline83-005
new file mode 100644
index 000000000..e0f1004b1
--- /dev/null
+++ b/src/patches/readline/readline83-005
@@ -0,0 +1,67 @@
+			   READLINE PATCH REPORT
+			   =====================
+
+Readline-Release: 8.3
+Patch-ID: readline83-005
+
+Bug-Reported-by:	Ben Kallus <benjamin.p.kallus.gr@dartmouth.edu>
+                        Derek Schrock <dereks@lifeofadishwasher.com>
+Bug-Reference-ID:	<CAB6pCSaUPimkEbQwTTkxD5vV14ZJRGCeK2W1ur8RqT1rPrd+Gw@mail.gmail.com>
+			<ajC1pZAV_95J3vsJ@ircbsd.lifeofadishwasher.com>
+Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-readline/2026-06/msg00005.html
+			https://lists.gnu.org/archive/html/bug-readline/2026-06/msg00002.html
+
+Bug-Description:
+
+This patch fixes two problems with the redisplay code. The first is a
+crash that results if the initial prompt contains more than 256 wrapped
+lines. The second is a fix to the redisplay code when the first several
+characters of the prompt string are identical, but the prompt has changed
+and needs to be redrawn. If these first few characters are part of an escape
+sequence, the entire sequence needs to be redrawn.
+
+Patch (apply with `patch -p0'):
+
+*** ../readline-8.3-patched/display.c	Fri May 22 14:55:01 2026
+--- display.c	Fri Jun 26 11:08:53 2026
+***************
+*** 1025,1028 ****
+--- 1025,1029 ----
+  	{
+  	  temp = local_prompt_newlines[newlines+1];
++ 	  CHECK_INV_LBREAKS ();
+  	  inv_lbreaks[++newlines] = temp;
+  	}  
+***************
+*** 2262,2270 ****
+    nd = nfd - new;	/* nd, od are buffer indexes */
+    if (current_line == 0 && !_rl_horizontal_scroll_mode &&
+!       _rl_term_cr && lendiff > prompt_visible_length && _rl_last_c_pos > 0 &&
+        (((od > 0 || nd > 0) && (od <= prompt_last_invisible || nd <= prompt_last_invisible)) ||
+  		((od >= lendiff) && _rl_last_c_pos < PROMPT_ENDING_INDEX)))
+      {
+!       _rl_cr ();
+        if (modmark)
+  	_rl_output_some_chars ("*", 1);
+--- 2266,2275 ----
+    nd = nfd - new;	/* nd, od are buffer indexes */
+    if (current_line == 0 && !_rl_horizontal_scroll_mode &&
+!       _rl_term_cr && lendiff > prompt_visible_length && _rl_last_c_pos >= 0 &&
+        (((od > 0 || nd > 0) && (od <= prompt_last_invisible || nd <= prompt_last_invisible)) ||
+  		((od >= lendiff) && _rl_last_c_pos < PROMPT_ENDING_INDEX)))
+      {
+!       if (_rl_last_c_pos > 0)
+! 	_rl_cr ();
+        if (modmark)
+  	_rl_output_some_chars ("*", 1);
+*** ../readline-8.3/patchlevel	2013-11-15 08:11:11.000000000 -0500
+--- patchlevel	2024-03-21 08:28:40.000000000 -0400
+***************
+*** 1,3 ****
+  # Do not edit -- exists only for use by patch
+  
+! 4
+--- 1,3 ----
+  # Do not edit -- exists only for use by patch
+  
+! 5
diff --git a/src/patches/readline/readline83-006 b/src/patches/readline/readline83-006
new file mode 100644
index 000000000..2bbf8eba6
--- /dev/null
+++ b/src/patches/readline/readline83-006
@@ -0,0 +1,47 @@
+			   READLINE PATCH REPORT
+			   =====================
+
+Readline-Release: 8.3
+Patch-ID: readline83-006
+
+Bug-Reported-by:	Félix Bouynot <felix.bouynot@setenforce.one> 
+Bug-Reference-ID:	<39c9472ddcf23881693380c4b895dd3799b45cec.camel@setenforce.one>
+Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2026-05/msg00065.html
+
+Bug-Description:
+
+If readline handles a SIGWINCH and resizes its idea of the screen
+dimensions, it needs to recompute the columns where the prompt wraps
+lines every time, not just when the screen width decreases.
+
+Patch (apply with `patch -p0'):
+
+*** ../readline-8.3-patched/display.c	Thu Sep  4 11:55:37 2025
+--- display.c	Fri May 22 14:55:01 2026
+***************
+*** 3526,3531 ****
+      rl_crlf ();
+  
+!   if (_rl_screenwidth < prompt_visible_length)
+!     _rl_reset_prompt ();		/* update local_prompt_newlines array */
+  
+    /* Redraw only the last line of a multi-line prompt. */
+--- 3521,3527 ----
+      rl_crlf ();
+  
+!   /* Let expand_prompt() update local_prompt_newlines and local_prompt_invis_chars
+!     arrays */
+!   _rl_reset_prompt ();
+  
+    /* Redraw only the last line of a multi-line prompt. */
+*** ../readline-8.3/patchlevel	2013-11-15 08:11:11.000000000 -0500
+--- patchlevel	2024-03-21 08:28:40.000000000 -0400
+***************
+*** 1,3 ****
+  # Do not edit -- exists only for use by patch
+  
+! 5
+--- 1,3 ----
+  # Do not edit -- exists only for use by patch
+  
+! 6
-- 
2.55.0



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH] xfsprogs: Update to version 7.2.0
  2026-09-22 17:24 [PATCH] bash: Update to version 5.3 patch-20 Adolf Belka
                   ` (9 preceding siblings ...)
  2026-09-22 17:24 ` [PATCH] readline: Update to version 8.3 Patch-6 Adolf Belka
@ 2026-09-22 17:24 ` Adolf Belka
  10 siblings, 0 replies; 12+ messages in thread
From: Adolf Belka @ 2026-09-22 17:24 UTC (permalink / raw)
  To: development; +Cc: Adolf Belka

- Update from version 7.1.1 to 7.2.0
- No change in rootfile
- Changelog
7.2.0
	xfs_spaceman: port makecfg to use xfsquotactl (Darrick J. Wong)
	xfs_quota: open the filesystem mountpoint for quota operations (Darrick J. Wong)
	man: document that XFS_IOC_FS[G|S]ETXATTR can not be used on special files
	 (Andrey Albershteyn)
	mkfs: allow specification of default options via configuration file
	 (Darrick J. Wong)
	xfs_admin: print configuration file for mounted filesystems (Darrick J. Wong)
	xfs_spaceman: print configuration file for mounted filesystems (Darrick J. Wong)
	xfs_db: print configuration file for mounted filesystems (Darrick J. Wong)
	mkfs: print config file for a given mkfs configuration (Darrick J. Wong)
	mkfs: automatically upgrade autofsck earlier (Darrick J. Wong)
	mkfs: Emit a clearer message if too-small log is due to AG geometry
	 (Eric Sandeen)
	xfs_db: improve the fsmap man page entry (Christoph Hellwig)
	copy: always align to at least page size (Christoph Hellwig)
	copy: log the error number when failing to write (Christoph Hellwig)
	libfrog: make cmn_err() emit each message atomically to avoid torn output
	 (Avinesh Kumar)

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 lfs/xfsprogs | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lfs/xfsprogs b/lfs/xfsprogs
index 8d6653380..62a1fdb22 100644
--- a/lfs/xfsprogs
+++ b/lfs/xfsprogs
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 7.1.1
+VER        = 7.2.0
 #          https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/
 
 THISAPP    = xfsprogs-$(VER)
@@ -47,7 +47,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 7c3f6f4802cb32bb88cf9f439f73aeff4ebf495ff6928c0fe6da977c96256b7fa84e1f71c370ef3e1532a8534709acfc0d3c8e1d404543c6bb0f5c9a9235ba5a
+$(DL_FILE)_BLAKE2 = 925583bb3477744daedff4a6382885aec44096994d79b5a17e525b1bc44832660f1f5c3dba9837ffa62d1659df5217b426cc0d358ddc83cd6a63aeee0df98c5f
 
 install : $(TARGET)
 
-- 
2.55.0



^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2026-09-22 17:24 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-22 17:24 [PATCH] bash: Update to version 5.3 patch-20 Adolf Belka
2026-09-22 17:24 ` [PATCH] core205: Ship bash Adolf Belka
2026-09-22 17:24 ` [PATCH] core205: Ship gzip Adolf Belka
2026-09-22 17:24 ` [PATCH] core205: Ship less Adolf Belka
2026-09-22 17:24 ` [PATCH] core205: Ship readline Adolf Belka
2026-09-22 17:24 ` [PATCH] gzip: Update to version 1.15 Adolf Belka
2026-09-22 17:24 ` [PATCH] harfbuzz: Update to version 14.5.0 Adolf Belka
2026-09-22 17:24 ` [PATCH] less: Update to version 710 Adolf Belka
2026-09-22 17:24 ` [PATCH] libxxhash: Update to version 0.8.4 Adolf Belka
2026-09-22 17:24 ` [PATCH] nfs: Update to version 3.1.1 Adolf Belka
2026-09-22 17:24 ` [PATCH] readline: Update to version 8.3 Patch-6 Adolf Belka
2026-09-22 17:24 ` [PATCH] xfsprogs: Update to version 7.2.0 Adolf Belka

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox