[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