Accepting request 1008386 from Base:System

- Add upstream patches
  * bash52-001
    Expanding unset arrays in an arithmetic context can cause a
    segmentation fault.
  * bash52-002
    Starting bash with an invalid locale specification for
    LC_ALL/LANG/LC_CTYPE can cause the shell to crash.
- Do not run checks in parallel as it eats memory, a lot of memory
- Disable alternate array implementation as it eats a lot of memory

- 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.

- Modernize run-tests 

- add checks

- Enable parallel builds by splitting clean and all at make time
- 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

- Update to bash 5.2 rc2
  gg. Since there is no `declare -' equivalent of `local -', make sure to use

OBS-URL: https://build.opensuse.org/request/show/1008386
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/bash?expand=0&rev=180
This commit is contained in:
Richard Brown 2022-10-11 15:59:13 +00:00 committed by Git OBS Bridge
commit d93a48fedf
23 changed files with 290 additions and 85 deletions

View File

@ -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

View File

@ -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)
{

View File

@ -15,7 +15,7 @@
#include "chartypes.h"
#include <errno.h>
@@ -77,6 +81,15 @@ void
@@ -79,6 +83,15 @@ void
set_default_locale ()
{
#if defined (HAVE_SETLOCALE)

View File

@ -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 <config.h>
@ -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;
}

View File

@ -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)

View File

@ -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

View File

@ -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);
}

View File

@ -12,7 +12,7 @@
# include <unistd.h>
#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

View File

@ -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;

View File

@ -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;

BIN
bash-5.1-patches.tar.bz2 (Stored with Git LFS)

Binary file not shown.

BIN
bash-5.1.tar.gz (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

BIN
bash-5.2-patches.tar.bz2 (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -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 <sys/types.h>
@ -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 <time.h>
#include <sys/time.h>
@ -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

BIN
bash-5.2.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
bash-5.2.tar.gz.sig Normal file

Binary file not shown.

View File

@ -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.*")

View File

@ -1,7 +1,38 @@
-------------------------------------------------------------------
Thu Oct 6 10:43:59 UTC 2022 - Dr. Werner Fink <werner@suse.de>
- Add upstream patches
* bash52-001
Expanding unset arrays in an arithmetic context can cause a
segmentation fault.
* bash52-002
Starting bash with an invalid locale specification for
LC_ALL/LANG/LC_CTYPE can cause the shell to crash.
- Do not run checks in parallel as it eats memory, a lot of memory
- Disable alternate array implementation as it eats a lot of memory
-------------------------------------------------------------------
Tue Sep 27 07:54:48 UTC 2022 - Dr. Werner Fink <werner@suse.de>
- 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 <werner@suse.de>
- Modernize run-tests
-------------------------------------------------------------------
Sat Sep 24 13:57:27 UTC 2022 - Christopher Yeleighton <giecrilj@stegny.2a.pl>
- add checks
-------------------------------------------------------------------
Tue Sep 20 06:59:04 UTC 2022 - Dr. Werner Fink <werner@suse.de>
- Enable parallel builds by slpitting clean and all at make time
- Enable parallel builds by splitting clean and all at make time
(Thanks to Christopher Yeleighton)
- Do not copy more than 1 byte for \(aq becoming a "'" in
quotes-man2html.patch
@ -18,11 +49,129 @@ Thu Sep 15 13:09:24 UTC 2022 - Dr. Werner Fink <werner@suse.de>
- 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 <werner@suse.de>
- 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 <werner@suse.de>
- 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 <werner@suse.de>
- 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 <dmueller@suse.com>
- use https:// for source urls
-------------------------------------------------------------------
Thu Apr 28 11:59:44 UTC 2022 - Dr. Werner Fink <werner@suse.de>
- 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}<fn and other styles of varassign
redirection unless they're arguments to the `exec' builtin.
p. The `$0' special parameter is now set to the name of the script when running
any (non-interactive) startup files such as $BASH_ENV.
q. The `enable' builtin tries to load a loadable builtin using the default
search path if `enable name' (without any options) attempts to enable a
non-existent builtin.
r. The `printf' builtin has a new format specifier: %Q. This acts like %q but
applies any specified precision to the original unquoted argument, then
quotes and outputs the result.
s. The new `noexpand_translations' option controls whether or not the translated
output of $"..." is single-quoted.
t. There is a new parameter transformation operator: @k. This is like @K, but
expands the result to separate words after word splitting.
u. There is an alternate array implementation, selectable at `configure' time,
that optimizes access speed over memory use (use the new configure
--enable-alt-array-implementation option).
v. If an [N]<&WORD- or [N]>&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 <werner@suse.de>
@ -2123,7 +2272,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.
@ -2155,7 +2304,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

View File

@ -21,9 +21,11 @@
%else
%bcond_without alternatives
%endif
# Unicode tests do alloc to much memory
%bcond_with altarray
%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
@ -87,6 +89,8 @@ Patch50: quotes-man2html.patch
BuildRequires: autoconf
BuildRequires: bison
BuildRequires: fdupes
BuildRequires: glibc-locale
BuildRequires: glibc-locale-base
BuildRequires: makeinfo
BuildRequires: patchutils
BuildRequires: pkgconfig
@ -98,7 +102,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 +143,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 +222,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 +236,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 +251,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 +401,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 +419,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 +432,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 +446,16 @@ test ${rl1[2]} = ${rl2[2]} || exit 1
--enable-help-builtin \
--enable-separate-helpfiles \
--enable-array-variables \
%if %{with altarray}
--enable-alt-array-implementation \
%else
--disable-alt-array-implementation \
%endif
--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 \
@ -457,7 +473,7 @@ test ${rl1[2]} = ${rl2[2]} || exit 1
tail -q -s 0.5 -f $SCREENLOG & pid=$!
env -i HOME=$PWD TERM=$TERM LD_LIBRARY_PATH=$LD_RUN_PATH TMPDIR=$TMPDIR \
SCREENRC=$SCREENRC SCREENDIR=$SCREENDIR \
screen -D -m %make_build TESTSCRIPT=%{SOURCE4} check
screen -D -m %make_build -j1 TESTSCRIPT=%{SOURCE4} check
kill -TERM $pid
%if 0%{?do_profiling}
rm -f jobs.gcda
@ -467,6 +483,10 @@ test ${rl1[2]} = ${rl2[2]} || exit 1
%make_build $makeopts "$profilecflags" all
%make_build $makeopts -C examples/loadables/
%make_build $makeopts documentation
grep -F '$'\' doc/bash.html %{nil:test for boo#1203091}
%check
%make_build -j1 check
%install
%make_install
@ -528,6 +548,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

View File

@ -1,5 +1,6 @@
#!/bin/bash
# Note: this file is used in the spec file, do not remove it
# Print the highest version number of the patches from the archive
sourcedir=$1
test -n "${sourcedir}" || sourcedir=$PWD
test -e ${sourcedir}/bash.spec || exit 1

View File

@ -1,7 +1,7 @@
boo#1203091
---
support/man2html.c | 12 ++++++++++++
support/man2html.c | 12 ++++
1 file changed, 12 insertions(+)
--- support/man2html.c

View File

@ -1,4 +1,18 @@
#! /bin/sh
#
# 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
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
: ${TMPDIR:=/tmp}
export TMPDIR
@ -6,14 +20,15 @@ export TMPDIR
# basic /bin/sh syntax
SUFFIX=`${THIS_SH} -c 'echo $(( $RANDOM + $BASHPID ))'`
BASH_TSTOUT=${TMPDIR}/bashtst-$SUFFIX # for now
BASH_TSTOUT=${TMPDIR}/bashtst-$SUFFIX # for now
export BASH_TSTOUT
trap 'rm -f $BASH_TSTOUT' 0
trap 'rm -f $BASH_TSTOUT' 0 1 2 3 15
PATH=.:$PATH # just to get recho/zecho/printenv if not run via `make tests'
export PATH
# unset BASH_ENV only if it is set
[ "${BASH_ENV+set}" = "set" ] && unset BASH_ENV
# ditto for SHELLOPTS
@ -22,9 +37,12 @@ export PATH
: ${THIS_SH:=../bash}
export THIS_SH
: ${BUILD_DIR:=..}
export BUILD_DIR
${THIS_SH} ./version
rm -f "$BASH_TSTOUT"
rm -f ${BASH_TSTOUT}
echo Any output from any test, unless otherwise noted, indicates a possible anomaly
@ -33,11 +51,11 @@ do
case $x in
$0|run-all|run-minimal|run-gprof|run-jobs) ;;
*.orig|*~) ;;
*) echo $x ; sh $x ;;
*) echo $x ; sh $x ; rm -f ${BASH_TSTOUT} ;;
esac
done
trap 'rm -f $tmp' EXIT TERM INT QUIT
trap 'rm -f $tmp' EXIT HUP INT QUIT TERM
tmp=$(mktemp /tmp/hello.XXXXXXXX) || exit 1
echo '#!/bin/sh' > $tmp
echo exit >> $tmp