[packages/bash] Up to 5.3.03; drop few old patches that diverge us from upstream and were never merged

arekm arekm at pld-linux.org
Sat Oct 11 19:27:42 CEST 2025


commit 083bce6aafc3b145be1b3276d9333fe718b5217e
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Sat Oct 11 19:27:30 2025 +0200

    Up to 5.3.03; drop few old patches that diverge us from upstream and were never merged

 bash-autoconf.patch    | 26 ++++----------------
 bash-elinks_cont.patch | 11 ---------
 bash-loadables.patch   | 11 ---------
 bash-paths.patch       |  4 ++--
 bash-requires.patch    | 64 +++++++++++++++++++++++++-------------------------
 bash-sighup.patch      | 12 ----------
 bash.spec              | 23 +++++++++---------
 sources                | 40 +++----------------------------
 8 files changed, 53 insertions(+), 138 deletions(-)
---
diff --git a/bash.spec b/bash.spec
index 6752a0a..f29b61a 100644
--- a/bash.spec
+++ b/bash.spec
@@ -6,11 +6,11 @@
 %bcond_with	bash_history	# additional history in /var/log/bash_hist ;)
 %bcond_without	tests		# unit testing
 
-%define		ver		5.2
-%define		patchlevel	37
+%define		ver		5.3
+%define		patchlevel	03
 %define		min_patch_nr	1000
 %define		rel		1
-%define		min_readline	8.2
+%define		min_readline	8.3
 Summary:	GNU Bourne Again Shell (bash)
 Summary(fr.UTF-8):	Le shell Bourne Again de GNU
 Summary(pl.UTF-8):	Powłoka GNU Bourne Again Shell (bash)
@@ -20,7 +20,7 @@ Release:	%{rel}%{?with_bash_history:inv}
 License:	GPL v3+
 Group:		Applications/Shells
 Source0:	https://ftp.gnu.org/gnu/bash/%{name}-%{ver}.tar.gz
-# Source0-md5:	cfb4cf795fc239667f187b3d6b3d396f
+# Source0-md5:	4c7fb7d82586f93ab1d833ef20378ee8
 Source1:	%{name}rc
 Source2:	%{name}-skel-.bash_logout
 Source3:	%{name}-skel-.bash_profile
@@ -34,12 +34,11 @@ Patch3:		%{name}-info.patch
 Patch4:		%{name}-profile.patch
 Patch5:		%{name}-requires.patch
 Patch6:		%{name}-compat.patch
-Patch7:		%{name}-loadables.patch
-Patch8:		%{name}-sighup.patch
+
 Patch9:		%{name}-backup_history.patch
 Patch10:	%{name}-act_like_sh.patch
-Patch11:	%{name}-elinks_cont.patch
-%patchset_source -f https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-%03g -b %{min_patch_nr} 1 %{patchlevel}
+
+%patchset_source -f https://ftp.gnu.org/gnu/bash/bash-5.3-patches/bash53-%03g -b %{min_patch_nr} 1 %{patchlevel}
 URL:		http://www.gnu.org/software/bash/
 BuildRequires:	autoconf >= 2.69
 BuildRequires:	automake
@@ -206,11 +205,9 @@ Pliki nagłówkowe do tworzenia wtyczek basha.
 %patch -P4 -p1
 %patch -P5 -p1
 %patch -P6 -p1
-%patch -P7 -p1
-%patch -P8 -p1
+
 %{?with_bash_history:%patch -P9 -p1}
 %patch -P10 -p1
-%patch -P11 -p1
 
 %{__sed} -i -e 's#/usr/bin/printf#/bin/printf#g' tests/intl2.sub
 
@@ -333,15 +330,18 @@ end
 %dir %{_libdir}/%{name}
 %attr(755,root,root) %{_libdir}/%{name}/accept
 %attr(755,root,root) %{_libdir}/%{name}/basename
+%attr(755,root,root) %{_libdir}/%{name}/chmod
 %attr(755,root,root) %{_libdir}/%{name}/csv
 %attr(755,root,root) %{_libdir}/%{name}/cut
 %attr(755,root,root) %{_libdir}/%{name}/dirname
 %attr(755,root,root) %{_libdir}/%{name}/dsv
 %attr(755,root,root) %{_libdir}/%{name}/fdflags
 %attr(755,root,root) %{_libdir}/%{name}/finfo
+%attr(755,root,root) %{_libdir}/%{name}/fltexpr
 %attr(755,root,root) %{_libdir}/%{name}/getconf
 %attr(755,root,root) %{_libdir}/%{name}/head
 %attr(755,root,root) %{_libdir}/%{name}/id
+%attr(755,root,root) %{_libdir}/%{name}/kv
 %attr(755,root,root) %{_libdir}/%{name}/ln
 %attr(755,root,root) %{_libdir}/%{name}/logname
 %attr(755,root,root) %{_libdir}/%{name}/mkdir
@@ -360,6 +360,7 @@ end
 %attr(755,root,root) %{_libdir}/%{name}/sleep
 %attr(755,root,root) %{_libdir}/%{name}/stat
 %attr(755,root,root) %{_libdir}/%{name}/strftime
+%attr(755,root,root) %{_libdir}/%{name}/strptime
 %attr(755,root,root) %{_libdir}/%{name}/sync
 %attr(755,root,root) %{_libdir}/%{name}/tee
 %attr(755,root,root) %{_libdir}/%{name}/truefalse
diff --git a/bash-autoconf.patch b/bash-autoconf.patch
index 1f9d257..f87cac1 100644
--- a/bash-autoconf.patch
+++ b/bash-autoconf.patch
@@ -1,24 +1,7 @@
---- bash-5.0/aclocal.m4~	2018-12-05 15:31:34.000000000 +0100
-+++ bash-5.0/aclocal.m4	2019-03-21 14:19:55.805259147 +0100
-@@ -959,11 +959,10 @@ fi
- AC_CACHE_VAL(bash_cv_termcap_lib,
- [AC_CHECK_FUNC(tgetent, bash_cv_termcap_lib=libc,
-   [AC_CHECK_LIB(termcap, tgetent, bash_cv_termcap_lib=libtermcap,
--    [AC_CHECK_LIB(tinfo, tgetent, bash_cv_termcap_lib=libtinfo,
--        [AC_CHECK_LIB(curses, tgetent, bash_cv_termcap_lib=libcurses,
-+        [AC_CHECK_LIB(libncursesw, tgetent, bash_cv_termcap_lib=libncursesw,
- 	    [AC_CHECK_LIB(ncurses, tgetent, bash_cv_termcap_lib=libncurses,
--                [AC_CHECK_LIB(ncursesw, tgetent, bash_cv_termcap_lib=libncursesw,
--	            bash_cv_termcap_lib=gnutermcap)])])])])])])
-+                [AC_CHECK_LIB(curses, tgetent, bash_cv_termcap_lib=libcurses,
-+	            bash_cv_termcap_lib=gnutermcap)])])])])])
- if test "X$_bash_needmsg" = "Xyes"; then
- AC_MSG_CHECKING(which library has the termcap functions)
- fi
---- bash-2.05a-new/Makefile.in	Fri Feb  8 00:20:46 2002
-+++ bash-2.05a/Makefile.in	Thu Feb  7 22:38:32 2002
-@@ -727,8 +727,8 @@ pathnames.h:		Makefile $(srcdir)/pathnam
- 	@${RM} pathnames.tmp
+--- bash-5.3/Makefile.in~	2025-05-16 20:56:31.000000000 +0200
++++ bash-5.3/Makefile.in	2025-10-11 19:11:44.184553852 +0200
+@@ -862,8 +862,8 @@ $(SUPPORT_DIR)/bashbug.sh: $(SUPPORT_DIR
+ 	CONFIG_FILES=$(SUPPORT_DIR)/bashbug.sh CONFIG_HEADERS= $(SHELL) ./config.status
  
  # comment out for distribution
 -$(srcdir)/configure:	$(srcdir)/configure.ac $(srcdir)/aclocal.m4 $(srcdir)/config.h.in
@@ -28,4 +11,3 @@
  
  # for chet
  reconfig: force
-
diff --git a/bash-elinks_cont.patch b/bash-elinks_cont.patch
deleted file mode 100644
index 5bf41c9..0000000
--- a/bash-elinks_cont.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- bash-3.2/jobs.c.old	2008-05-02 16:24:17.000000000 +0200
-+++ bash-3.2/jobs.c	2008-05-02 16:24:34.000000000 +0200
-@@ -2824,8 +2824,6 @@ start_job (job, foreground)
-   else
-     jobs[job]->flags &= ~J_FOREGROUND;
- 
--  /* If the job is already running, then don't bother jump-starting it. */
--  if (already_running == 0)
-     {
-       jobs[job]->flags |= J_NOTIFIED;
-       killpg (jobs[job]->pgrp, SIGCONT);
diff --git a/bash-loadables.patch b/bash-loadables.patch
deleted file mode 100644
index c2e32db..0000000
--- a/bash-loadables.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- bash-5.1/examples/loadables/push.c~	2020-04-20 22:07:01.000000000 +0200
-+++ bash-5.1/examples/loadables/push.c	2020-12-08 08:54:19.318948703 +0100
-@@ -36,7 +36,7 @@ extern int errno;
- #endif
- 
- extern pid_t dollar_dollar_pid;
--extern int last_command_exit_value;
-+extern volatile int last_command_exit_value;
- 
- int
- push_builtin (list)
diff --git a/bash-paths.patch b/bash-paths.patch
index 5c6912f..ab03c12 100644
--- a/bash-paths.patch
+++ b/bash-paths.patch
@@ -9,11 +9,11 @@
  #endif
  
  /* If you want to unconditionally set a value for PATH in every restricted
-@@ -74,7 +74,7 @@
+@@ -69,7 +69,7 @@
     the Posix.2 confstr () function, or CS_PATH define are not present. */
  #ifndef STANDARD_UTILS_PATH
  #define STANDARD_UTILS_PATH \
--  "/bin:/usr/bin:/sbin:/usr/sbin:/etc:/usr/etc"
+-  "/bin:/usr/bin:/sbin:/usr/sbin"
 +  "/usr/local/bin:/bin:/usr/bin"
  #endif
  
diff --git a/bash-requires.patch b/bash-requires.patch
index 674e5b9..67595a6 100644
--- a/bash-requires.patch
+++ b/bash-requires.patch
@@ -12,7 +12,7 @@ diff --git a/builtins.h b/builtins.h
 diff --git a/builtins/mkbuiltins.c b/builtins/mkbuiltins.c
 --- a/builtins/mkbuiltins.c
 +++ b/builtins/mkbuiltins.c
-@@ -69,11 +69,16 @@ extern char *strcpy ();
+@@ -62,11 +62,16 @@ static void *xrealloc (void *, size_t);
  #define whitespace(c) (((c) == ' ') || ((c) == '\t'))
  
  /* Flag values that builtins can have. */
@@ -29,7 +29,7 @@ diff --git a/builtins/mkbuiltins.c b/builtins/mkbuiltins.c
  
  #define BASE_INDENT	4
  
-@@ -189,13 +194,21 @@ char *arrayvar_builtins[] =
+@@ -183,13 +188,21 @@ char *arrayvar_builtins[] =
    "typeset", "unset", "wait",		/*]*/
    (char *)NULL
  };
@@ -43,16 +43,16 @@ diff --git a/builtins/mkbuiltins.c b/builtins/mkbuiltins.c
 +};
 +
  /* Forward declarations. */
- static int is_special_builtin ();
- static int is_assignment_builtin ();
- static int is_localvar_builtin ();
- static int is_posix_builtin ();
- static int is_arrayvar_builtin ();
+ static int is_special_builtin (char *);
+ static int is_assignment_builtin (char *);
+ static int is_localvar_builtin (char *);
+ static int is_posix_builtin (char *);
+ static int is_arrayvar_builtin (char *);
 +static int is_requires_builtin ();
  
  #if !defined (HAVE_RENAME)
- static int rename ();
-@@ -856,6 +869,8 @@ builtin_handler (self, defs, arg)
+ static int rename (char *, char *);
+@@ -826,6 +839,8 @@ builtin_handler (char *self, DEF_FILE *defs, char *arg)
      new->flags |= BUILTIN_FLAG_POSIX_BUILTIN;
    if (is_arrayvar_builtin (name))
      new->flags |= BUILTIN_FLAG_ARRAYREF_ARG;
@@ -61,7 +61,7 @@ diff --git a/builtins/mkbuiltins.c b/builtins/mkbuiltins.c
  
    array_add ((char *)new, defs->builtins);
    building_builtin = 1;
-@@ -1275,13 +1290,14 @@ write_builtins (defs, structfile, externfile)
+@@ -1212,13 +1227,14 @@ write_builtins (DEF_FILE *defs, FILE *structfile, FILE *externfile)
  		  else
  		    fprintf (structfile, "(sh_builtin_func_t *)0x0, ");
  
@@ -77,7 +77,7 @@ diff --git a/builtins/mkbuiltins.c b/builtins/mkbuiltins.c
  		    document_name (builtin));
  
  		  /* Don't translate short document summaries that are identical
-@@ -1678,6 +1694,13 @@ is_arrayvar_builtin (name)
+@@ -1597,6 +1613,13 @@ is_arrayvar_builtin (char *name)
    return (_find_in_table (name, arrayvar_builtins));
  }
  
@@ -90,11 +90,11 @@ diff --git a/builtins/mkbuiltins.c b/builtins/mkbuiltins.c
 +
  #if !defined (HAVE_RENAME)
  static int
- rename (from, to)
+ rename (char *from, char *to)
 diff --git a/doc/bash.1 b/doc/bash.1
 --- a/doc/bash.1
 +++ b/doc/bash.1
-@@ -239,6 +239,14 @@ The shell becomes restricted (see
+@@ -276,6 +276,14 @@ The shell becomes restricted (see
  .B "RESTRICTED SHELL"
  below).
  .TP
@@ -112,8 +112,8 @@ diff --git a/doc/bash.1 b/doc/bash.1
 diff --git a/doc/bashref.texi b/doc/bashref.texi
 --- a/doc/bashref.texi
 +++ b/doc/bashref.texi
-@@ -6927,6 +6927,13 @@ standard.  @xref{Bash POSIX Mode}, for a description of the Bash
- @item --restricted
+@@ -7812,6 +7812,13 @@ standard.
+ Equivalent to @option{-r}.
  Make the shell a restricted shell (@pxref{The Restricted Shell}).
  
 + at item --rpm-requires
@@ -124,12 +124,12 @@ diff --git a/doc/bashref.texi b/doc/bashref.texi
 +are not parsed so some dependencies may be missed.
 +
  @item --verbose
- Equivalent to @option{-v}.  Print shell input lines as they're read.
- 
+ Equivalent to @option{-v}.
+ Print shell input lines as they're read.
 diff --git a/eval.c b/eval.c
 --- a/eval.c
 +++ b/eval.c
-@@ -138,7 +138,8 @@ reader_loop ()
+@@ -146,7 +146,8 @@ reader_loop (void)
  
        if (read_command () == 0)
  	{
@@ -142,7 +142,7 @@ diff --git a/eval.c b/eval.c
 diff --git a/execute_cmd.c b/execute_cmd.c
 --- a/execute_cmd.c
 +++ b/execute_cmd.c
-@@ -561,6 +561,8 @@ async_redirect_stdin ()
+@@ -612,6 +612,8 @@ async_redirect_stdin (void)
  
  #define DESCRIBE_PID(pid) do { if (interactive) describe_pid (pid); } while (0)
  
@@ -151,7 +151,7 @@ diff --git a/execute_cmd.c b/execute_cmd.c
  /* Execute the command passed in COMMAND, perhaps doing it asynchronously.
     COMMAND is exactly what read_command () places into GLOBAL_COMMAND.
     ASYNCHRONOUS, if non-zero, says to do this command in the background.
-@@ -592,7 +594,13 @@ execute_command_internal (command, asynchronous, pipe_in, pipe_out,
+@@ -638,7 +640,13 @@ execute_command_internal (COMMAND *command, int asynchronous, int pipe_in, int p
  
    if (breaking || continuing)
      return (last_command_exit_value);
@@ -166,9 +166,9 @@ diff --git a/execute_cmd.c b/execute_cmd.c
      return (last_command_exit_value);
    if (command == 0)
      return (EXECUTION_SUCCESS);
-@@ -2883,7 +2891,7 @@ execute_for_command (for_command)
-   save_line_number = line_number;
-   if (check_identifier (for_command->name, 1) == 0)
+@@ -3505,7 +3513,7 @@ execute_select_command (SELECT_COM *select_command)
+ 
+   if (check_identifier (select_command->name, 1) == 0)
      {
 -      if (posixly_correct && interactive_shell == 0)
 +      if (posixly_correct && interactive_shell == 0 && rpm_requires == 0)
@@ -200,7 +200,7 @@ diff --git a/make_cmd.c b/make_cmd.c
  #include "execute_cmd.h"
  #include "parser.h"
  #include "flags.h"
-@@ -839,6 +841,30 @@ make_coproc_command (name, command)
+@@ -797,6 +799,30 @@ make_coproc_command (char *name, COMMAND *command)
    return (make_command (cm_coproc, (SIMPLE_COM *)temp));
  }
  
@@ -231,7 +231,7 @@ diff --git a/make_cmd.c b/make_cmd.c
  /* Reverse the word list and redirection list in the simple command
     has just been parsed.  It seems simpler to do this here the one
     time then by any other method that I can think of. */
-@@ -856,6 +882,28 @@ clean_simple_command (command)
+@@ -813,6 +839,28 @@ clean_simple_command (COMMAND *command)
  	REVERSE_LIST (command->value.Simple->redirects, REDIRECT *);
      }
  
@@ -263,9 +263,9 @@ diff --git a/make_cmd.c b/make_cmd.c
 diff --git a/shell.c b/shell.c
 --- a/shell.c
 +++ b/shell.c
-@@ -196,6 +196,9 @@ int have_devfd = 0;
- /* The name of the .(shell)rc file. */
- static char *bashrc_file = DEFAULT_BASHRC;
+@@ -205,6 +205,9 @@ int have_devfd = 0;
+ /* The name of the .(shell)rc file, DEFAULT_BASHRC is sourced by default */
+ static char *bashrc_file;
  
 +/* Non-zero if we are finding the scripts requirements. */
 +int rpm_requires;
@@ -273,7 +273,7 @@ diff --git a/shell.c b/shell.c
  /* Non-zero means to act more like the Bourne shell on startup. */
  static int act_like_sh;
  
-@@ -266,6 +269,7 @@ static const struct {
+@@ -272,6 +275,7 @@ static const struct {
    { "protected", Int, &protected_mode, (char **)0x0 },
  #endif
    { "rcfile", Charp, (int *)0x0, &bashrc_file },
@@ -281,7 +281,7 @@ diff --git a/shell.c b/shell.c
  #if defined (RESTRICTED_SHELL)
    { "restricted", Int, &restricted, (char **)0x0 },
  #endif
-@@ -510,6 +514,12 @@ main (argc, argv, env)
+@@ -510,6 +514,12 @@ main (int argc, char **argv, char **env)
      read_but_dont_execute = 1;
  #endif
  
@@ -297,9 +297,9 @@ diff --git a/shell.c b/shell.c
 diff --git a/shell.h b/shell.h
 --- a/shell.h
 +++ b/shell.h
-@@ -100,6 +100,7 @@ extern int interactive, interactive_shell;
- extern int startup_state;
+@@ -105,6 +105,7 @@ extern int startup_state;
  extern int reading_shell_script;
+ extern int ssh_reading_startup_files;
  extern int shell_initialized;
 +extern int rpm_requires;
  extern int bash_argv_initialized;
diff --git a/bash-sighup.patch b/bash-sighup.patch
deleted file mode 100644
index 29d34fe..0000000
--- a/bash-sighup.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur bash-2.03.ORIG/execute_cmd.c bash-2.03/execute_cmd.c
---- bash-2.03.ORIG/execute_cmd.c	Tue Jan 26 18:23:49 1999
-+++ bash-2.03/execute_cmd.c	Tue Jan 25 13:58:35 2000
-@@ -2912,7 +2912,7 @@
- void
- setup_async_signals ()
- {
--#if defined (__BEOS__)
-+#if defined (__BEOS__) || defined (linux)
-   set_signal_handler (SIGHUP, SIG_IGN);	/* they want csh-like behavior */
- #endif
- 
diff --git a/sources b/sources
index d3430b6..92a7bdd 100644
--- a/sources
+++ b/sources
@@ -1,37 +1,3 @@
-8b03b019783c7bbed9ace21f70155716  bash52-001
-d8f7085bfd9f2ebf574858b2e1110c3b  bash52-002
-4c27b778445b21e28cf4f6aba76b5171  bash52-003
-40b2db2180d772c9ba72f773e963d211  bash52-004
-05dde44788d0d181206f0a15afd38501  bash52-005
-af9b98aef8fc987cd398ae9be01a6cdf  bash52-006
-9919243f7fcc1812eb88efe028da7ce0  bash52-007
-99bc0f731b3ddb1368e676327246cb21  bash52-008
-57f589db109d2c72c7cefff1df0819e1  bash52-009
-c1d97dc661639ab0e4648fa50164881e  bash52-010
-e9bc4d7ab21a195f9c6cc78547148112  bash52-011
-0e836c596d19fce655acc9862522423d  bash52-012
-62a7f7bf4ad91a403cb3873f7e1d288b  bash52-013
-7022d611b94ae8fda6a076c0f33ce00b  bash52-014
-a5f9afd119d374ff8f9e1a37ebf11b15  bash52-015
-3fbb82e5500d4d8fc93268a98ea2e474  bash52-016
-4bfdc876c82eda73f563b7aef431ef2f  bash52-017
-c677f65b83d782b6478d5ad75acff03a  bash52-018
-b5feb40e8986a435a9be8ec7b08b0505  bash52-019
-fa530069a8d1075cf0995d95a59732cb  bash52-020
-4773cce94d61b3b7f8482779a4e3c48a  bash52-021
-a547f36f2c50f3cb4f8a6ef717f2dfbf  bash52-022
-e33fc4c60dbdffd46311d963d1fd4d52  bash52-023
-9cf13adeb43920df0ce4ff621371988c  bash52-024
-9de0025a5067cfedddffade2bf059ba7  bash52-025
-3e1bede019794844bd51312bc8675438  bash52-026
-ac8030fc00b0911037593436eac6072e  bash52-027
-0a9c1e9704f4351b8dfd1cc310070e5f  bash52-028
-905c17b49c4804e7828009ca2ff09a39  bash52-029
-a63c83679ebf5f720ecd98d41913ce50  bash52-030
-eab1eb23fe1a5f352d4310a2dd70aacb  bash52-031
-3ef1743a21ac41e54a2af77ab557298f  bash52-032
-2ce1f0d04f127289f47cae3b2e1842db  bash52-033
-b56d4acb61f716ef940d6c3c2f62bfa6  bash52-034
-517ee10a98b1d97ddd7f560f6c004601  bash52-035
-5d80694f5f8446cc9f4f84ed773f0ecb  bash52-036
-5b8e87f69bd02792041e2c472f4d8f43  bash52-037
+71bdb280697184d2b84e31a6139cf46b  bash53-001
+5eb5abc33afe9a72c885e9adf1c7ba17  bash53-002
+f3250b36ff253a6f8ded854923705ad3  bash53-003
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/bash.git/commitdiff/083bce6aafc3b145be1b3276d9333fe718b5217e



More information about the pld-cvs-commit mailing list