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:
commit
d93a48fedf
@ -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
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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)
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)
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
BIN
bash-5.2-patches.tar.bz2
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -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
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
BIN
bash-5.2.tar.gz.sig
Normal file
Binary file not shown.
@ -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.*")
|
||||
|
155
bash.changes
155
bash.changes
@ -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
|
||||
|
31
bash.spec
31
bash.spec
@ -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
|
||||
|
@ -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
|
||||
|
@ -1,7 +1,7 @@
|
||||
boo#1203091
|
||||
|
||||
---
|
||||
support/man2html.c | 12 ++++++++++++
|
||||
support/man2html.c | 12 ++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
--- support/man2html.c
|
||||
|
28
run-tests
28
run-tests
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user