diff --git a/bash-2.03-manual.patch b/bash-2.03-manual.patch index 7e36f22..446c29d 100644 --- a/bash-2.03-manual.patch +++ b/bash-2.03-manual.patch @@ -19,7 +19,7 @@ .B \-D A list of all double-quoted strings preceded by \fB$\fP is printed on the standard output. -@@ -7382,6 +7388,11 @@ Apply the following `\fBs\fP' modifier o +@@ -7667,6 +7673,11 @@ Apply the following `\fBs\fP' modifier o .SH "SHELL BUILTIN COMMANDS" .\" start of bash_builtins .zZ @@ -31,7 +31,7 @@ .PP Unless otherwise noted, each builtin command documented in this section as accepting options preceded by -@@ -11081,6 +11092,11 @@ process or job waited for. +@@ -11543,6 +11554,11 @@ process or job waited for. .SH "RESTRICTED SHELL" .\" rbash.1 .zY diff --git a/bash-3.0-evalexp.patch b/bash-3.0-evalexp.patch index 026ba43..e3cf11f 100644 --- a/bash-3.0-evalexp.patch +++ b/bash-3.0-evalexp.patch @@ -4,7 +4,7 @@ --- expr.c +++ expr.c 2018-11-29 08:10:59.542212175 +0000 -@@ -512,8 +512,8 @@ expassign () +@@ -514,8 +514,8 @@ expassign () value = expcond (); if (curtok == EQ || curtok == OP_ASSIGN) { diff --git a/bash-3.0-warn-locale.patch b/bash-3.0-warn-locale.patch index 61b71d5..600804a 100644 --- a/bash-3.0-warn-locale.patch +++ b/bash-3.0-warn-locale.patch @@ -15,7 +15,7 @@ #include "chartypes.h" #include -@@ -77,6 +81,15 @@ void +@@ -79,6 +83,15 @@ void set_default_locale () { #if defined (HAVE_SETLOCALE) diff --git a/bash-3.2-printf.patch b/bash-3.2-printf.patch index f6b30b4..f809173 100644 --- a/bash-3.2-printf.patch +++ b/bash-3.2-printf.patch @@ -1,10 +1,10 @@ --- - builtins/printf.def | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) + builtins/printf.def | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) --- builtins/printf.def -+++ builtins/printf.def 2018-11-29 08:11:53.901189708 +0000 -@@ -54,6 +54,7 @@ error occurs. ++++ builtins/printf.def 2022-06-22 06:26:14.069158235 +0000 +@@ -56,6 +56,7 @@ error occurs. $END #include @@ -12,25 +12,38 @@ #include "../bashtypes.h" -@@ -661,12 +662,20 @@ printf_builtin (list) +@@ -702,7 +703,7 @@ printf_builtin (list) case 'A': #endif { - char *f; + char *f, *lce = getenv("LC_NUMERIC"), *lcl = setlocale(LC_NUMERIC, NULL); - floatmax_t p; - p = getfloatmax (); - f = mklong (start, FLOATMAX_CONV, sizeof(FLOATMAX_CONV) - 1); + if (use_Lmod || posixly_correct == 0) + { +@@ -710,7 +711,12 @@ printf_builtin (list) + + p = getfloatmax (); + f = mklong (start, "L", 1); + -+ if (lce && lcl) -+ setlocale(LC_NUMERIC, lce); ++ if (lce && lcl) setlocale(LC_NUMERIC, lce); + - PF (f, p); + PF (f, p); + -+ if (lce && lcl) -+ setlocale(LC_NUMERIC, lcl); ++ if (lce && lcl) setlocale(LC_NUMERIC, lcl); + } + else /* posixly_correct */ + { +@@ -718,7 +724,12 @@ printf_builtin (list) + + p = getdouble (); + f = mklong (start, "", 0); + ++ if (lce && lcl) setlocale(LC_NUMERIC, lce); ++ + PF (f, p); ++ ++ if (lce && lcl) setlocale(LC_NUMERIC, lcl); + } + break; - } - diff --git a/bash-4.0-setlocale.dif b/bash-4.0-setlocale.dif index 7b5359c..8df06ad 100644 --- a/bash-4.0-setlocale.dif +++ b/bash-4.0-setlocale.dif @@ -4,7 +4,7 @@ --- locale.c +++ locale.c 2018-09-20 08:14:41.307485537 +0000 -@@ -55,6 +55,7 @@ extern int dump_translatable_strings, du +@@ -57,6 +57,7 @@ extern int dump_translatable_strings, du /* The current locale when the program begins */ static char *default_locale; @@ -12,7 +12,7 @@ /* The current domain for textdomain(3). */ static char *default_domain; -@@ -359,11 +360,21 @@ get_locale_var (var) +@@ -361,11 +362,21 @@ get_locale_var (var) if (locale == 0 || *locale == 0) locale = lang; if (locale == 0 || *locale == 0) diff --git a/bash-4.1-bash.bashrc.dif b/bash-4.1-bash.bashrc.dif index a34409a..20b8df0 100644 --- a/bash-4.1-bash.bashrc.dif +++ b/bash-4.1-bash.bashrc.dif @@ -16,11 +16,11 @@ |other files as well even if the bash does not. | --- - doc/bash.1 | 15 ++++++++++++--- - 1 file changed, 12 insertions(+), 3 deletions(-) + doc/bash.1 | 16 ++++++++++++---- + 1 file changed, 12 insertions(+), 4 deletions(-) --- doc/bash.1 -+++ doc/bash.1 2018-09-20 08:16:12.073822864 +0000 ++++ doc/bash.1 2022-06-22 06:31:11.283670836 +0000 @@ -330,6 +330,8 @@ and executes commands from the first one The .B \-\-noprofile @@ -52,13 +52,14 @@ .PP When .B bash -@@ -431,7 +439,8 @@ daemon, usually \fIrshd\fP, or the secur +@@ -432,8 +440,8 @@ or the secure shell daemon \fIsshd\fP. If .B bash - determines it is being run in this fashion, it reads and executes --commands from \fI~/.bashrc\fP, if that file exists and is readable. -+commands from \fI/etc/bash.bashrc\fP then \fI~/.bashrc\fP when -+those files exist and are readable. + determines it is being run non-interactively in this fashion, +-it reads and executes commands from \fI~/.bashrc\fP, +-if that file exists and is readable. ++it reads and executes commands from \fI/etc/bash.bashrc\fP then ++\fI~/.bashrc\fP, when those files exists and are readable. It will not do this if invoked as \fBsh\fP. The .B \-\-norc diff --git a/bash-4.1-completion.dif b/bash-4.1-completion.dif index 9bc6ba7..da5c6dd 100644 --- a/bash-4.1-completion.dif +++ b/bash-4.1-completion.dif @@ -4,7 +4,7 @@ --- bashline.c +++ bashline.c 2018-11-29 08:12:25.876588305 +0000 -@@ -2128,6 +2128,13 @@ globword: +@@ -2206,6 +2206,13 @@ globword: return ((char *)NULL); } diff --git a/bash-4.2-nscdunmap.dif b/bash-4.2-nscdunmap.dif index 023f96b..578a6af 100644 --- a/bash-4.2-nscdunmap.dif +++ b/bash-4.2-nscdunmap.dif @@ -12,7 +12,7 @@ # include #endif -@@ -1855,6 +1856,28 @@ init_interactive_script () +@@ -1888,6 +1893,28 @@ init_interactive_script () #endif } @@ -41,7 +41,7 @@ void get_current_user_info () { -@@ -1886,6 +1909,7 @@ get_current_user_info () +@@ -1919,6 +1946,7 @@ get_current_user_info () #if defined (HAVE_GETPWENT) endpwent (); #endif diff --git a/bash-4.3-2.4.4.patch b/bash-4.3-2.4.4.patch index 0ce0f58..716d301 100644 --- a/bash-4.3-2.4.4.patch +++ b/bash-4.3-2.4.4.patch @@ -11,7 +11,7 @@ --- array.c +++ array.c 2020-10-12 16:00:37.207185803 +0000 -@@ -1028,7 +1028,7 @@ char *s, *sep; +@@ -1095,7 +1095,7 @@ char *s, *sep; * To make a running version, compile -DTEST_ARRAY and link with: * xmalloc.o syntax.o lib/malloc/libmalloc.a lib/sh/libsh.a */ @@ -54,7 +54,7 @@ signal_is_trapped (s) --- jobs.c +++ jobs.c 2020-10-12 16:00:37.267184666 +0000 -@@ -2223,6 +2223,15 @@ make_child (command, flags) +@@ -2212,6 +2212,15 @@ make_child (command, flags) child process, go back and change callers who free `command' in the child process when this returns. */ mypid = getpid (); @@ -87,7 +87,7 @@ static SigHandler *old_winch = (SigHandler *)SIG_DFL; --- sig.h +++ sig.h 2020-10-12 16:03:44.403637781 +0000 -@@ -109,8 +109,8 @@ do { \ +@@ -105,8 +105,8 @@ do { \ extern volatile sig_atomic_t sigwinch_received; extern volatile sig_atomic_t sigterm_received; diff --git a/bash-4.3-loadables.dif b/bash-4.3-loadables.dif index 48f0530..30bbe10 100644 --- a/bash-4.3-loadables.dif +++ b/bash-4.3-loadables.dif @@ -29,7 +29,7 @@ r = finfo_main (c, v); --- examples/loadables/head.c +++ examples/loadables/head.c 2018-09-20 08:07:43.739129083 +0000 -@@ -99,8 +99,6 @@ head_builtin (list) +@@ -101,8 +101,6 @@ head_builtin (list) WORD_LIST *l; FILE *fp; diff --git a/bash-5.1-patches.tar.bz2 b/bash-5.1-patches.tar.bz2 deleted file mode 100644 index 77dd7d4..0000000 --- a/bash-5.1-patches.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2c650b815eadbfdc0e4ac1ae4b7adddd679c6af91f5bab375f6e950c61f8d41f -size 11560 diff --git a/bash-5.1.tar.gz b/bash-5.1.tar.gz deleted file mode 100644 index 30d4eca..0000000 --- a/bash-5.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cc012bc860406dcf42f64431bcd3d2fa7560c02915a601aba9cd597a39329baa -size 10458638 diff --git a/bash-5.1.tar.gz.sig b/bash-5.1.tar.gz.sig deleted file mode 100644 index 9f16e16..0000000 Binary files a/bash-5.1.tar.gz.sig and /dev/null differ diff --git a/bash-5.2-patches.tar.bz2 b/bash-5.2-patches.tar.bz2 new file mode 100644 index 0000000..1c972c0 --- /dev/null +++ b/bash-5.2-patches.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f42795923731f5c12f73f2e6b011aa16dec5b3d77e785850177f0c1bddf8f54 +size 237 diff --git a/bash-5.1.dif b/bash-5.2.dif similarity index 82% rename from bash-5.1.dif rename to bash-5.2.dif index ac2dd21..67496b5 100644 --- a/bash-5.1.dif +++ b/bash-5.2.dif @@ -15,8 +15,8 @@ 13 files changed, 37 insertions(+), 21 deletions(-) --- Makefile.in -+++ Makefile.in 2020-11-23 07:50:41.491908452 +0000 -@@ -457,7 +457,7 @@ SOURCES = $(CSOURCES) $(HSOURCES) $(BUI ++++ Makefile.in 2022-06-22 06:38:20.511747259 +0000 +@@ -466,7 +466,7 @@ SOURCES = $(CSOURCES) $(HSOURCES) $(BUI # headers in top-level source directory that get installed by install-headers INSTALLED_HEADERS = shell.h bashjmp.h command.h syntax.h general.h error.h \ variables.h array.h assoc.h arrayfunc.h quit.h dispose_cmd.h \ @@ -24,9 +24,9 @@ + make_cmd.h subst.h sig.h externs.h builtins.h bashline.h \ bashtypes.h xmalloc.h config-top.h config-bot.h \ bashintl.h bashansi.h bashjmp.h alias.h hashlib.h \ - conftypes.h unwind_prot.h jobs.h siglist.h + conftypes.h unwind_prot.h jobs.h siglist.h \ --- config-top.h -+++ config-top.h 2020-11-23 07:52:34.257749719 +0000 ++++ config-top.h 2022-04-28 11:55:03.660248012 +0000 @@ -60,10 +60,14 @@ due to EPIPE. */ /* #define DONT_REPORT_BROKEN_PIPE_WRITE_ERRORS */ @@ -51,8 +51,8 @@ + _PATH_STDPATH #endif - /* Default primary and secondary prompt strings. */ -@@ -91,20 +95,20 @@ + /* The default path for enable -f */ +@@ -97,20 +101,20 @@ #define DEFAULT_BASHRC "~/.bashrc" /* System-wide .bashrc file for interactive shells. */ @@ -78,8 +78,8 @@ /* Define if you want the case-toggling operators (~[~]) and the `capcase' variable attribute (declare -c). */ --- doc/Makefile.in -+++ doc/Makefile.in 2020-11-23 07:50:41.491908452 +0000 -@@ -154,7 +154,7 @@ BASHREF_FILES = $(srcdir)/bashref.texi $ ++++ doc/Makefile.in 2022-04-28 11:53:04.334380153 +0000 +@@ -153,7 +153,7 @@ BASHREF_FILES = $(srcdir)/bashref.texi $ # $(RM) $@ # -${TEXI2PDF} $< @@ -89,8 +89,8 @@ everything: all pdf --- doc/bash.1 -+++ doc/bash.1 2020-11-23 07:50:41.491908452 +0000 -@@ -5520,8 +5520,8 @@ file (the \fIinputrc\fP file). ++++ doc/bash.1 2022-06-22 06:37:14.908958305 +0000 +@@ -5745,8 +5745,8 @@ file (the \fIinputrc\fP file). The name of this file is taken from the value of the .SM .B INPUTRC @@ -101,7 +101,7 @@ If that file does not exist or cannot be read, the ultimate default is .IR /etc/inputrc . When a program which uses the readline library starts up, the -@@ -11241,6 +11241,9 @@ The individual login shell cleanup file, +@@ -11706,6 +11706,9 @@ command history .TP .FN ~/.inputrc Individual \fIreadline\fP initialization file @@ -112,7 +112,7 @@ .SH AUTHORS Brian Fox, Free Software Foundation --- general.h -+++ general.h 2020-11-23 07:50:41.491908452 +0000 ++++ general.h 2022-04-28 11:53:04.334380153 +0000 @@ -21,10 +21,13 @@ #if !defined (_GENERAL_H_) #define _GENERAL_H_ @@ -128,8 +128,8 @@ #if defined (HAVE_SYS_RESOURCE_H) && defined (RLIMTYPE) # if defined (HAVE_SYS_TIME_H) --- parse.y -+++ parse.y 2020-11-23 07:50:41.491908452 +0000 -@@ -1458,7 +1458,7 @@ input_file_descriptor () ++++ parse.y 2022-04-28 11:53:04.334380153 +0000 +@@ -1498,7 +1498,7 @@ input_file_descriptor () #if defined (READLINE) char *current_readline_prompt = (char *)NULL; @@ -139,7 +139,7 @@ static int --- shell.c -+++ shell.c 2020-11-23 07:50:41.491908452 +0000 ++++ shell.c 2022-04-28 11:56:12.623015117 +0000 @@ -45,6 +45,7 @@ #if defined (HAVE_UNISTD_H) # include @@ -148,16 +148,16 @@ #endif #include "bashintl.h" -@@ -503,7 +504,7 @@ main (argc, argv, env) - if (dump_translatable_strings) +@@ -511,7 +512,7 @@ main (argc, argv, env) read_but_dont_execute = 1; + #endif - if (running_setuid && privileged_mode == 0) + if (running_setuid && privileged_mode == 0 /* && act_like_sh == 0 */) disable_priv_mode (); /* Need to get the argument to a -c option processed in the -@@ -1310,6 +1311,9 @@ disable_priv_mode () +@@ -1341,6 +1342,9 @@ disable_priv_mode () { int e; @@ -168,7 +168,7 @@ if (setresuid (current_user.uid, current_user.uid, current_user.uid) < 0) #else --- support/man2html.c -+++ support/man2html.c 2020-11-23 07:50:41.491908452 +0000 ++++ support/man2html.c 2022-04-28 11:53:04.338380081 +0000 @@ -78,6 +78,7 @@ #include #include @@ -178,7 +178,7 @@ #define NULL_TERMINATED(n) ((n) + 1) --- support/rlvers.sh -+++ support/rlvers.sh 2020-11-23 07:50:41.495908376 +0000 ++++ support/rlvers.sh 2022-04-28 11:53:04.338380081 +0000 @@ -27,10 +27,10 @@ TDIR=$TMPDIR/rlvers # defaults @@ -194,9 +194,9 @@ # cannot rely on the presence of getopts while [ $# -gt 0 ]; do --- support/shobj-conf -+++ support/shobj-conf 2020-11-23 07:50:41.495908376 +0000 ++++ support/shobj-conf 2022-04-28 11:57:29.117647038 +0000 @@ -126,10 +126,11 @@ sunos5*|solaris2*) - linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*|dragonfly*) + linux*-*|gnu*-*|k*bsd*-gnu-*|midnightbsd*|freebsd*|dragonfly*) SHOBJ_CFLAGS=-fPIC SHOBJ_LD='${CC}' - SHOBJ_LDFLAGS='-shared -Wl,-soname,$@' @@ -210,8 +210,8 @@ # Darwin/MacOS X --- tests/glob.tests -+++ tests/glob.tests 2020-11-23 07:50:41.495908376 +0000 -@@ -33,8 +33,8 @@ ${THIS_SH} ./glob9.sub ++++ tests/glob.tests 2022-04-28 11:53:04.338380081 +0000 +@@ -34,8 +34,8 @@ ${THIS_SH} ./glob10.sub MYDIR=$PWD # save where we are @@ -223,15 +223,15 @@ rm -rf * --- tests/run-intl -+++ tests/run-intl 2020-11-23 07:50:41.495908376 +0000 -@@ -5,4 +5,4 @@ echo "warning: some of these tests will - echo "warning: locales installed on your system." >&2 ++++ tests/run-intl 2022-04-28 11:58:22.140698412 +0000 +@@ -2,4 +2,4 @@ + ( diff -a ./intl.right ./intl.right >/dev/null 2>&1 ) && AFLAG=-a ${THIS_SH} ./intl.tests > ${BASH_TSTOUT} -diff $AFLAG ${BASH_TSTOUT} intl.right && rm -f ${BASH_TSTOUT} +diff -w $AFLAG ${BASH_TSTOUT} intl.right && rm -f ${BASH_TSTOUT} --- tests/run-read -+++ tests/run-read 2020-11-23 07:50:41.495908376 +0000 ++++ tests/run-read 2022-04-28 11:53:04.338380081 +0000 @@ -1,4 +1,4 @@ echo "warning: please do not consider output differing only in the amount of" >&2 echo "warning: white space to be an error." >&2 diff --git a/bash-5.2.tar.gz b/bash-5.2.tar.gz new file mode 100644 index 0000000..7e99f6a --- /dev/null +++ b/bash-5.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a139c166df7ff4471c5e0733051642ee5556c1cc8a4a78f145583c5c81ab32fb +size 10950833 diff --git a/bash-5.2.tar.gz.sig b/bash-5.2.tar.gz.sig new file mode 100644 index 0000000..fd15811 Binary files /dev/null and b/bash-5.2.tar.gz.sig differ diff --git a/bash-rpmlintrc b/bash-rpmlintrc index afd9db3..20a2d72 100644 --- a/bash-rpmlintrc +++ b/bash-rpmlintrc @@ -1,4 +1,6 @@ addFilter(".*shared-library-without-dependency-information.*") -addFilter(".*useless-provides.*") addFilter(".*zero-length.*/etc/skel/\..*") addFilter(".*call-to-mktemp.*/usr/bin/bash.*") +addFilter(".*bash-loadables\..*:.*W:.*unstripped-binary-or-object.*/usr/lib.*/bash/.*") +addFilter(".*W:.*patch-not-applied.*Patch.*:.*bash-4\.3-winch\.dif.*") +addFilter(".*W:.*macro-in-comment.*%patch.*") diff --git a/bash.changes b/bash.changes index 2ce1947..ce7b977 100644 --- a/bash.changes +++ b/bash.changes @@ -1,8 +1,17 @@ +------------------------------------------------------------------- +Tue Sep 27 07:54:48 UTC 2022 - Dr. Werner Fink + +- Update to final bash 5.2 + a. When replacing a history entry, make sure the existing entry has a non-NULL + timestamp before copying it; it may have been added by the application, not + the history library. + ------------------------------------------------------------------- Tue Sep 27 07:44:16 UTC 2022 - Dr. Werner Fink - Modernize run-tests + ------------------------------------------------------------------- Sat Sep 24 13:57:27 UTC 2022 - Christopher Yeleighton @@ -28,11 +37,129 @@ Thu Sep 15 13:09:24 UTC 2022 - Dr. Werner Fink - Add patch quotes-man2html.patch * Fix boo#1203091 -- BASH(1) Manual Page: Unprocessed macro aq +------------------------------------------------------------------- +Tue Sep 13 06:42:43 UTC 2022 - Dr. Werner Fink + +- Update to bash 5.2 rc4 + Pos. aa is now enabled by default. + m. Readline now checks for changes to locale settings (LC_ALL/LC_CTYPE/LANG) + each time it is called, and modifies the appropriate locale-specific display +- Port patches + * bash-2.03-manual.patch + * bash-5.2.dif + +------------------------------------------------------------------- +Wed Jul 27 12:20:53 UTC 2022 - Dr. Werner Fink + +- Update to bash 5.2 rc2 + gg. Since there is no `declare -' equivalent of `local -', make sure to use + `local -' in the output of `local -p'. + +------------------------------------------------------------------- +Wed Jun 22 06:19:27 UTC 2022 - Dr. Werner Fink + +- Update to bash 5.2 rc1 + dd. In posix mode, the `printf' builtin checks for the `L' length modifier and + uses long double for floating point conversion specifiers if it's present, + double otherwise. + ee. The `globbing' completion code now takes the `globstar' option into account. + ff. `suspend -f' now forces the shell to suspend even if job control is not + currently enabled. +- Port patches + * bash-2.03-manual.patch + * bash-3.2-printf.patch + * bash-4.1-bash.bashrc.dif + * bash-5.2.dif + ------------------------------------------------------------------- Thu Apr 28 19:00:17 UTC 2022 - Dirk Müller - use https:// for source urls +------------------------------------------------------------------- +Thu Apr 28 11:59:44 UTC 2022 - Dr. Werner Fink + +- Update to bash 5.2 beta + a. The bash malloc returns memory that is aligned on 16-byte boundaries. + b. There is a new internal timer framework used for read builtin timeouts. + c. Rewrote the command substitution parsing code to call the parser recursively + and rebuild the command string from the parsed command. This allows better + syntax checking and catches errors much earlier. + d. The `ulimit' builtin now treats an operand remaining after all of the options + and arguments are parsed as an argument to the last command specified by + an option. This is for POSIX compatibility. + e. Here-document parsing now handles $'...' and $"..." quoting when reading the + here-document body. + f. The `shell-expand-line' and `history-and-alias-expand-line' bindable readline + commands now understand $'...' and $"..." quoting. + g. There is a new `spell-correct-word' bindable readline command to perform + spelling correction on the current word. + h. The `unset' builtin now attempts to treat arguments as array subscripts + without parsing or expanding the subscript, even when `assoc_expand_once' + is not set. + i. There is a default value for $BASH_LOADABLES_PATH in config-top.h. + j. Associative array assignment and certain instances of referencing (e.g., + `test -v' now allow `@' and `*' to be used as keys. + k. Bash attempts to expand indexed array subscripts only once when executing + shell constructs and word expansions. + l. The `unset' builtin allows a subscript of `@' or `*' to unset a key with + that value for associative arrays instead of unsetting the entire array + (which you can still do with `unset arrayname'). For indexed arrays, it + removes all elements of the array without unsetting it (like `A=()'). + m. Additional builtins (printf/test/read/wait) do a better job of not + parsing array subscripts if array_expand_once is set. + n. New READLINE_ARGUMENT variable set to numeric argument for readline commands + defined using `bind -x'. + o. The new `varredir_close' shell option causes bash to automatically close + file descriptors opened with {var}&WORD- redirection has WORD expand to the empty + string, treat the redirection as [N]<&- or [N]>&- and close file descriptor + N (default 0). + w. Invalid parameter transformation operators are now invalid word expansions, + and so cause fatal errors in non-interactive shells. + x. New shell option: patsub_replacement. When enabled, a `&' in the replacement + string of the pattern substitution expansion is replaced by the portion of + the string that matched the pattern. Backslash will escape the `&' and + insert a literal `&'. + y. `command -p' no longer looks in the hash table for the specified command. + z. The new `--enable-translatable-strings' option to `configure' allows $"..." + support to be compiled in or out. + aa. The new `globskipdots' shell option forces pathname expansion never to + return `.' or `..' unless explicitly matched. + bb. Array references using `@' and `*' that are the value of nameref variables + (declare -n ref='v[@]' ; echo $ref) no longer cause the shell to exit if + set -u is enabled and the array (v) is unset. + cc. There is a new bindable readline command name: + `vi-edit-and-execute-command'. +- Remove upstream patchset tarball for 8.1 and create new and empty for 8.2 +- Port patches + * bash-2.03-manual.patch + * bash-3.0-evalexp.patch + * bash-3.0-warn-locale.patch + * bash-3.2-printf.patch + * bash-4.0-setlocale.dif + * bash-4.1-completion.dif + * bash-4.2-nscdunmap.dif + * bash-4.3-2.4.4.patch + * bash-4.3-loadables.dif +- Port patch bash-5.1.dif and rename it to bash-5.2.dif + ------------------------------------------------------------------- Thu Mar 24 14:37:18 UTC 2022 - Dr. Werner Fink @@ -2133,7 +2260,7 @@ Mon Feb 15 17:24:46 CET 2010 - werner@suse.de forward all history entries to syslog. * A new variable $BASHOPTS to export shell options settable using `shopt' to child processes. - * There is a new confgure option that forces the extglob option to be + * There is a new configure option that forces the extglob option to be enabled by default. * New variable $BASH_XTRACEFD; when set to an integer bash will write xtrace output to that file descriptor. @@ -2165,7 +2292,7 @@ Mon Feb 15 17:24:46 CET 2010 - werner@suse.de consume key sequences generated by keys like Home and End without having to bind all keys. * New application-settable function: rl_filename_rewrite_hook. Can be used - to rewite or modify filenames read from the file system before they are + to rewrite or modify filenames read from the file system before they are compared to the word to be completed. * New bindable variable: skip-completed-text, active when completing in the middle of a word. If enabled, it means that characters in the completion diff --git a/bash.spec b/bash.spec index a3e6f87..8ae0dff 100644 --- a/bash.spec +++ b/bash.spec @@ -23,7 +23,7 @@ %endif %define bextend %{nil} -%define bversion 5.1 +%define bversion 5.2 %define bpatchlvl %(bash %{_sourcedir}/get_version_number.sh %{_sourcedir}) %global _incdir %{_includedir} %global _ldldir %{_libdir}/bash @@ -98,7 +98,7 @@ BuildRequires: update-alternatives BuildRequires: pkgconfig(audit) BuildRequires: pkgconfig(ncurses) # This has to be always the same version as included in the bash its self -BuildRequires: pkgconfig(readline) = 8.1 +BuildRequires: pkgconfig(readline) = 8.2 %if %{with alternatives} Requires(post): update-alternatives Requires(preun):update-alternatives @@ -139,6 +139,7 @@ Group: System/Shells Provides: alternative(sh) Conflicts: alternative(sh) PreReq: bash = %{version} +BuildArch: noarch %description sh Use bash as /bin/sh implementation. @@ -217,6 +218,7 @@ Group: System/Shells Requires: bash = %{version}-%{release} Requires: this-is-only-for-build-envs Conflicts: rpmlib(X-CheckUnifiedSystemdir) +BuildArch: noarch %description legacybin Legacy usrmove helper files for the build system. Do not install. @@ -230,6 +232,7 @@ Legacy usrmove helper files for the build system. Do not install. %endif %setup -q -n bash-%{bversion}%{bextend} -b1 typeset -i level +set +x for patch in ../bash-%{bversion}-patches/*-*[0-9]; do test -e $patch || break @@ -244,6 +247,7 @@ for patch in ../bash-%{bversion}-patches/*-*[0-9]; do echo Patch $patch patch -s -p$level < $patch done +set -x %patch1 -b .manual %patch3 -b .2.4.4 %patch4 -b .evalexp @@ -393,6 +397,7 @@ test ${rl1[2]} = ${rl2[2]} || exit 1 --enable-minimal-config \ --enable-arith-for-command \ --enable-array-variables \ + --disable-alt-array-implementation \ --enable-brace-expansion \ --enable-casemod-attributes \ --enable-casemod-expansion \ @@ -410,8 +415,8 @@ test ${rl1[2]} = ${rl2[2]} || exit 1 --disable-strict-posix-default \ --enable-separate-helpfiles=%{_datadir}/bash/helpfiles \ $READLINE - make Program=sh sh - make distclean + %make_build Program=sh sh + %make_build distclean %endif ./configure --build=%{_target_cpu}-suse-linux \ --prefix=%{_prefix} \ @@ -423,6 +428,7 @@ test ${rl1[2]} = ${rl2[2]} || exit 1 --with-afs \ --with-gnu-ld \ $SYSMALLOC \ + --enable-threads=posix \ --enable-job-control \ --enable-net-redirections \ --enable-alias \ @@ -436,10 +442,12 @@ test ${rl1[2]} = ${rl2[2]} || exit 1 --enable-help-builtin \ --enable-separate-helpfiles \ --enable-array-variables \ + --enable-alt-array-implementation \ --enable-brace-expansion \ --enable-command-timing \ --enable-disabled-builtins \ --enable-glob-asciiranges-default \ + --enable-translatable-strings \ --disable-strict-posix-default \ --enable-multibyte \ --enable-separate-helpfiles=%{_datadir}/bash/helpfiles \ @@ -532,6 +540,7 @@ EOF %find_lang bash %fdupes -s %{buildroot}%{_datadir}/bash/helpfiles sed -ri '1{ s@/bin/sh@/bin/bash@ }' %{buildroot}%{_bindir}/bashbug + strip --strip-unneeded %{buildroot}%{_bindir}/bash %if %{with alternatives} %post -p %{_bindir}/bash