diff --git a/bash-2.03-manual.patch b/bash-2.03-manual.patch index 23863cf..7e36f22 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. -@@ -7294,6 +7300,11 @@ Apply the following `\fBs\fP' modifier o +@@ -7382,6 +7388,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 -@@ -10768,6 +10779,11 @@ process or job waited for. +@@ -11081,6 +11092,11 @@ process or job waited for. .SH "RESTRICTED SHELL" .\" rbash.1 .zY diff --git a/bash-3.2-printf.patch b/bash-3.2-printf.patch index d38d958..f6b30b4 100644 --- a/bash-3.2-printf.patch +++ b/bash-3.2-printf.patch @@ -12,7 +12,7 @@ #include "../bashtypes.h" -@@ -662,12 +663,20 @@ printf_builtin (list) +@@ -661,12 +662,20 @@ printf_builtin (list) case 'A': #endif { diff --git a/bash-4.0-security.patch b/bash-4.0-security.patch deleted file mode 100644 index dce90e9..0000000 --- a/bash-4.0-security.patch +++ /dev/null @@ -1,55 +0,0 @@ ---- - variables.c | 35 +++++++++++++++++++++++++++++++++++ - 1 file changed, 35 insertions(+) - ---- variables.c -+++ variables.c 2018-12-21 13:24:48.757352405 +0000 -@@ -1324,6 +1324,7 @@ static int seeded_subshell = 0; - # define BASH_RAND_MAX 0x7fffffff /* 32 bits */ - #endif - -+#if !defined(linux) - /* Returns a pseudo-random number between 0 and 32767. */ - static int - brand () -@@ -1380,6 +1381,40 @@ seedrand () - #endif - } - -+#else -+/* Use ISO C Random Number Functions of the glibc */ -+static int -+brand (void) -+{ -+ if (rseed == 0) -+ seedrand (); -+ return ((unsigned int)(rand() & BASH_RAND_MAX)); /* was % BASH_RAND_MAX+1 */ -+} -+ -+static void -+sbrand (unsigned long seed) -+{ -+ rseed = seed; -+ srand(seed); -+} -+ -+static void -+seedrand (void) -+{ -+ struct timeval tv; -+#ifdef _EXTENDTHIS -+ SHELL_VAR *v; -+#endif -+ gettimeofday (&tv, NULL); -+#ifdef _EXTENDTHIS -+ v = find_variable ("BASH_VERSION"); -+ sbrand (tv.tv_sec ^ tv.tv_usec ^ getpid () ^ ((u_bits32_t)&v & 0x7fffffff)); -+#else -+ srand (tv.tv_sec ^ tv.tv_usec ^ getpid ()); -+#endif -+} -+#endif -+ - static SHELL_VAR * - assign_random (self, value, unused, key) - SHELL_VAR *self; diff --git a/bash-4.0-setlocale.dif b/bash-4.0-setlocale.dif index 8c8ccd7..7b5359c 100644 --- a/bash-4.0-setlocale.dif +++ b/bash-4.0-setlocale.dif @@ -12,7 +12,7 @@ /* The current domain for textdomain(3). */ static char *default_domain; -@@ -339,11 +340,21 @@ get_locale_var (var) +@@ -359,11 +360,21 @@ get_locale_var (var) if (locale == 0 || *locale == 0) locale = lang; if (locale == 0 || *locale == 0) diff --git a/bash-4.1-completion.dif b/bash-4.1-completion.dif index 49cefde..9bc6ba7 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 -@@ -2043,6 +2043,13 @@ globword: +@@ -2128,6 +2128,13 @@ globword: return ((char *)NULL); } diff --git a/bash-4.2-nscdunmap.dif b/bash-4.2-nscdunmap.dif index e97979a..023f96b 100644 --- a/bash-4.2-nscdunmap.dif +++ b/bash-4.2-nscdunmap.dif @@ -12,7 +12,7 @@ # include #endif -@@ -1800,6 +1801,28 @@ init_interactive_script () +@@ -1855,6 +1856,28 @@ init_interactive_script () #endif } @@ -41,7 +41,7 @@ void get_current_user_info () { -@@ -1831,6 +1854,7 @@ get_current_user_info () +@@ -1886,6 +1909,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 38b09b5..60e806b 100644 --- a/bash-4.3-2.4.4.patch +++ b/bash-4.3-2.4.4.patch @@ -1,15 +1,17 @@ --- array.c | 2 +- examples/loadables/tee.c | 3 ++- - hashlib.c | 2 +- + hashlib.c | 4 ++-- jobs.c | 9 +++++++++ sig.c | 4 ++-- sig.h | 4 ++-- - 6 files changed, 17 insertions(+), 7 deletions(-) + trap.c | 2 +- + trap.h | 2 +- + 8 files changed, 20 insertions(+), 10 deletions(-) --- array.c -+++ array.c 2018-11-29 08:10:37.098634355 +0000 -@@ -965,7 +965,7 @@ char *s, *sep; ++++ array.c 2020-10-12 16:00:37.207185803 +0000 +@@ -1028,7 +1028,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 */ @@ -19,7 +21,7 @@ int signal_is_trapped(s) --- examples/loadables/tee.c -+++ examples/loadables/tee.c 2018-11-29 08:10:37.098634355 +0000 ++++ examples/loadables/tee.c 2020-10-12 16:00:37.267184666 +0000 @@ -35,6 +35,7 @@ #include "bashansi.h" @@ -38,19 +40,21 @@ extern char *strerror (); --- hashlib.c -+++ hashlib.c 2018-11-29 08:10:37.098634355 +0000 -@@ -391,7 +391,7 @@ hash_pstats (table, name) ++++ hashlib.c 2020-10-12 16:02:31.677016331 +0000 +@@ -473,8 +473,8 @@ hash_pstats (table, name) HASH_TABLE *table, *ntable; -int interrupt_immediately = 0; +-int running_trap = 0; +volatile sig_atomic_t interrupt_immediately = 0; ++volatile sig_atomic_t running_trap = 0; int signal_is_trapped (s) --- jobs.c -+++ jobs.c 2018-11-29 08:10:37.102634281 +0000 -@@ -1999,6 +1999,15 @@ make_child (command, async_p) ++++ jobs.c 2020-10-12 16:00:37.267184666 +0000 +@@ -2221,6 +2221,15 @@ make_child (command, flags) child process, go back and change callers who free `command' in the child process when this returns. */ mypid = getpid (); @@ -67,7 +71,7 @@ /* Close default_buffered_input if it's > 0. We don't close it if it's 0 because that's the file descriptor used when redirecting input, --- sig.c -+++ sig.c 2018-11-29 08:10:37.102634281 +0000 ++++ sig.c 2020-10-12 16:00:37.267184666 +0000 @@ -83,10 +83,10 @@ sigset_t top_level_mask; #endif /* JOB_CONTROL */ @@ -82,7 +86,7 @@ #if defined (SIGWINCH) static SigHandler *old_winch = (SigHandler *)SIG_DFL; --- sig.h -+++ sig.h 2018-11-29 08:10:37.102634281 +0000 ++++ sig.h 2020-10-12 16:03:44.403637781 +0000 @@ -109,8 +109,8 @@ do { \ extern volatile sig_atomic_t sigwinch_received; extern volatile sig_atomic_t sigterm_received; @@ -93,4 +97,26 @@ +extern volatile sig_atomic_t terminate_immediately; /* Functions from sig.c. */ - extern sighandler termsig_sighandler __P((int)); + extern sighandler termsig_sighandler PARAMS((int)); +--- trap.c ++++ trap.c 2020-10-12 16:08:10.102600477 +0000 +@@ -111,7 +111,7 @@ int pending_traps[NSIG]; + Used in execute_cmd.c and builtins/common.c to clean up when + parse_and_execute does not return normally after executing the + trap command (e.g., when `return' is executed in the trap command). */ +-int running_trap; ++volatile sig_atomic_t running_trap; + + /* Set to last_command_exit_value before running a trap. */ + int trap_saved_exit_value; +--- trap.h ++++ trap.h 2020-10-12 16:05:57.105122164 +0000 +@@ -62,7 +62,7 @@ extern char *trap_list[]; + + extern int trapped_signal_received; + extern int wait_signal_received; +-extern int running_trap; ++extern volatile sig_atomic_t running_trap; + extern int trap_saved_exit_value; + extern int suppress_debug_trap_verbose; + diff --git a/bash-4.3-loadables.dif b/bash-4.3-loadables.dif index d75c01d..48f0530 100644 --- a/bash-4.3-loadables.dif +++ b/bash-4.3-loadables.dif @@ -1,16 +1,16 @@ --- - examples/loadables/finfo.c | 9 ++++----- + examples/loadables/finfo.c | 3 +-- examples/loadables/head.c | 2 -- examples/loadables/id.c | 2 -- examples/loadables/mkdir.c | 2 +- examples/loadables/pathchk.c | 2 -- examples/loadables/print.c | 2 +- examples/loadables/tee.c | 2 -- - 7 files changed, 6 insertions(+), 15 deletions(-) + 7 files changed, 3 insertions(+), 12 deletions(-) --- examples/loadables/finfo.c +++ examples/loadables/finfo.c 2018-09-20 08:07:43.739129083 +0000 -@@ -102,7 +102,7 @@ int argc; +@@ -108,7 +108,7 @@ int argc; char **argv; { register int i; @@ -19,24 +19,7 @@ sh_optind = 0; /* XXX */ prog = base_pathname(argv[0]); -@@ -334,13 +334,13 @@ int flags; - else - printf("%ld\n", st->st_ctime); - } else if (flags & OPT_DEV) -- printf("%d\n", st->st_dev); -+ printf("%lu\n", (unsigned long)st->st_dev); - else if (flags & OPT_INO) - printf("%lu\n", (unsigned long)st->st_ino); - else if (flags & OPT_FID) -- printf("%d:%lu\n", st->st_dev, (unsigned long)st->st_ino); -+ printf("%lu:%lu\n", (unsigned long)st->st_dev, (unsigned long)st->st_ino); - else if (flags & OPT_NLINK) -- printf("%d\n", st->st_nlink); -+ printf("%lu\n", (unsigned long)st->st_nlink); - else if (flags & OPT_LNKNAM) { - #ifdef S_ISLNK - b = xmalloc(4096); -@@ -390,7 +390,6 @@ finfo_builtin(list) +@@ -396,7 +396,6 @@ finfo_builtin(list) { int c, r; char **v; diff --git a/bash-4.3-pathtemp.patch b/bash-4.3-pathtemp.patch index 56eed20..bd1b239 100644 --- a/bash-4.3-pathtemp.patch +++ b/bash-4.3-pathtemp.patch @@ -60,7 +60,7 @@ static char * get_tmpdir (flags) int flags; -@@ -186,7 +221,8 @@ sh_mktmpfd (nameroot, flags, namep) +@@ -194,7 +229,8 @@ sh_mktmpfd (nameroot, flags, namep) { char *filename, *tdir, *lroot; int fd, tdlen; @@ -70,7 +70,7 @@ filename = (char *)xmalloc (PATH_MAX + 1); tdir = get_tmpdir (flags); tdlen = strlen (tdir); -@@ -201,6 +237,10 @@ sh_mktmpfd (nameroot, flags, namep) +@@ -217,6 +253,10 @@ sh_mktmpfd (nameroot, flags, namep) free (filename); filename = NULL; } @@ -81,7 +81,7 @@ if (namep) *namep = filename; return fd; -@@ -219,6 +259,13 @@ sh_mktmpfd (nameroot, flags, namep) +@@ -235,6 +275,13 @@ sh_mktmpfd (nameroot, flags, namep) } while (fd < 0 && errno == EEXIST); diff --git a/bash-4.3-sigrestart.patch b/bash-4.3-sigrestart.patch index eabdbbd..82879f8 100644 --- a/bash-4.3-sigrestart.patch +++ b/bash-4.3-sigrestart.patch @@ -4,7 +4,7 @@ --- sig.c +++ sig.c 2018-11-29 08:13:00.103944580 +0000 -@@ -761,6 +761,8 @@ set_signal_handler (sig, handler) +@@ -788,6 +788,8 @@ set_signal_handler (sig, handler) if (sig == SIGCHLD) act.sa_flags |= SA_RESTART; /* XXX */ #endif @@ -13,7 +13,7 @@ /* Let's see if we can keep SIGWINCH from interrupting interruptible system calls, like open(2)/read(2)/write(2) */ #if defined (SIGWINCH) -@@ -771,6 +773,10 @@ set_signal_handler (sig, handler) +@@ -798,6 +800,10 @@ set_signal_handler (sig, handler) it to be as close to SIG_IGN as possible. */ if (sig == SIGTERM && handler == sigterm_sighandler) act.sa_flags |= SA_RESTART; /* XXX */ diff --git a/bash-5.0-patches.tar.bz2 b/bash-5.0-patches.tar.bz2 deleted file mode 100644 index a1a062c..0000000 --- a/bash-5.0-patches.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:079f287939ff1fbd753c397277ad58249ba96bb06b7ed4a212cc3626aada8a3e -size 12963 diff --git a/bash-5.0.tar.gz b/bash-5.0.tar.gz deleted file mode 100644 index 0bcd795..0000000 --- a/bash-5.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d -size 10135110 diff --git a/bash-5.1-patches.tar.bz2 b/bash-5.1-patches.tar.bz2 new file mode 100644 index 0000000..04666a7 --- /dev/null +++ b/bash-5.1-patches.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67717d807a3d64efeafa02b9078297e345a90b9ed153964c4b392579b1ff5be2 +size 3631 diff --git a/bash-5.0.dif b/bash-5.1.dif similarity index 82% rename from bash-5.0.dif rename to bash-5.1.dif index 5a0dd80..ac2dd21 100644 --- a/bash-5.0.dif +++ b/bash-5.1.dif @@ -15,8 +15,8 @@ 13 files changed, 37 insertions(+), 21 deletions(-) --- Makefile.in -+++ Makefile.in 2018-11-29 08:14:06.638693338 +0000 -@@ -456,7 +456,7 @@ SOURCES = $(CSOURCES) $(HSOURCES) $(BUI ++++ Makefile.in 2020-11-23 07:50:41.491908452 +0000 +@@ -457,7 +457,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 \ @@ -26,7 +26,7 @@ bashintl.h bashansi.h bashjmp.h alias.h hashlib.h \ conftypes.h unwind_prot.h jobs.h siglist.h --- config-top.h -+++ config-top.h 2018-11-29 08:14:06.638693338 +0000 ++++ config-top.h 2020-11-23 07:52:34.257749719 +0000 @@ -60,10 +60,14 @@ due to EPIPE. */ /* #define DONT_REPORT_BROKEN_PIPE_WRITE_ERRORS */ @@ -75,10 +75,10 @@ -/* #define SSH_SOURCE_BASHRC */ +#define SSH_SOURCE_BASHRC - /* Define if you want the case-capitalizing operators (~[~]) and the + /* Define if you want the case-toggling operators (~[~]) and the `capcase' variable attribute (declare -c). */ --- doc/Makefile.in -+++ doc/Makefile.in 2018-11-29 08:14:06.638693338 +0000 ++++ doc/Makefile.in 2020-11-23 07:50:41.491908452 +0000 @@ -154,7 +154,7 @@ BASHREF_FILES = $(srcdir)/bashref.texi $ # $(RM) $@ # -${TEXI2PDF} $< @@ -89,8 +89,8 @@ everything: all pdf --- doc/bash.1 -+++ doc/bash.1 2018-11-29 08:14:06.638693338 +0000 -@@ -5443,8 +5443,8 @@ file (the \fIinputrc\fP file). ++++ doc/bash.1 2020-11-23 07:50:41.491908452 +0000 +@@ -5520,8 +5520,8 @@ file (the \fIinputrc\fP file). The name of this file is taken from the value of the .SM .B INPUTRC @@ -98,10 +98,10 @@ -.IR ~/.inputrc . +environment variable. If that variable is unset, readline will read both +.IR /etc/inputrc " and " ~/.inputrc . + 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 - initialization file is read, and the key bindings and variables - are set. -@@ -10922,6 +10922,9 @@ The individual login shell cleanup file, +@@ -11241,6 +11241,9 @@ The individual login shell cleanup file, .TP .FN ~/.inputrc Individual \fIreadline\fP initialization file @@ -112,7 +112,7 @@ .SH AUTHORS Brian Fox, Free Software Foundation --- general.h -+++ general.h 2018-11-29 08:14:06.638693338 +0000 ++++ general.h 2020-11-23 07:50:41.491908452 +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 2018-11-29 08:14:06.638693338 +0000 -@@ -1456,7 +1456,7 @@ input_file_descriptor () ++++ parse.y 2020-11-23 07:50:41.491908452 +0000 +@@ -1458,7 +1458,7 @@ input_file_descriptor () #if defined (READLINE) char *current_readline_prompt = (char *)NULL; @@ -139,7 +139,7 @@ static int --- shell.c -+++ shell.c 2018-11-29 08:14:06.638693338 +0000 ++++ shell.c 2020-11-23 07:50:41.491908452 +0000 @@ -45,6 +45,7 @@ #if defined (HAVE_UNISTD_H) # include @@ -148,7 +148,7 @@ #endif #include "bashintl.h" -@@ -497,7 +498,7 @@ main (argc, argv, env) +@@ -503,7 +504,7 @@ main (argc, argv, env) if (dump_translatable_strings) read_but_dont_execute = 1; @@ -157,18 +157,18 @@ disable_priv_mode (); /* Need to get the argument to a -c option processed in the -@@ -1294,6 +1295,9 @@ disable_priv_mode () +@@ -1310,6 +1311,9 @@ disable_priv_mode () { int e; + if (!current_user.user_name) + get_current_user_info(); + initgroups (current_user.user_name, current_user.gid); - if (setuid (current_user.uid) < 0) - { - e = errno; + #if HAVE_SETRESUID + if (setresuid (current_user.uid, current_user.uid, current_user.uid) < 0) + #else --- support/man2html.c -+++ support/man2html.c 2018-11-29 08:14:06.638693338 +0000 ++++ support/man2html.c 2020-11-23 07:50:41.491908452 +0000 @@ -78,6 +78,7 @@ #include #include @@ -178,7 +178,7 @@ #define NULL_TERMINATED(n) ((n) + 1) --- support/rlvers.sh -+++ support/rlvers.sh 2018-11-29 08:14:06.638693338 +0000 ++++ support/rlvers.sh 2020-11-23 07:50:41.495908376 +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 2018-11-29 08:14:06.642693263 +0000 ++++ support/shobj-conf 2020-11-23 07:50:41.495908376 +0000 @@ -126,10 +126,11 @@ sunos5*|solaris2*) - linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*-gentoo) + linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*|dragonfly*) SHOBJ_CFLAGS=-fPIC SHOBJ_LD='${CC}' - SHOBJ_LDFLAGS='-shared -Wl,-soname,$@' @@ -208,10 +208,10 @@ + echo 'int main () { return 0; }' | gcc -ltinfo -o /dev/null -xc - > /dev/null 2>&1 && SHLIB_LIBS=-ltinfo || SHLIB_LIBS=-lncurses ;; - freebsd2*) + # Darwin/MacOS X --- tests/glob.tests -+++ tests/glob.tests 2018-11-29 08:14:06.642693263 +0000 -@@ -15,8 +15,8 @@ ${THIS_SH} ./glob3.sub ++++ tests/glob.tests 2020-11-23 07:50:41.495908376 +0000 +@@ -33,8 +33,8 @@ ${THIS_SH} ./glob9.sub MYDIR=$PWD # save where we are @@ -223,7 +223,7 @@ rm -rf * --- tests/run-intl -+++ tests/run-intl 2018-11-29 08:14:06.642693263 +0000 ++++ 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 @@ -231,7 +231,7 @@ -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 2018-11-29 08:14:06.642693263 +0000 ++++ tests/run-read 2020-11-23 07:50:41.495908376 +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.1.tar.gz b/bash-5.1.tar.gz new file mode 100644 index 0000000..30d4eca --- /dev/null +++ b/bash-5.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc012bc860406dcf42f64431bcd3d2fa7560c02915a601aba9cd597a39329baa +size 10458638 diff --git a/bash.changes b/bash.changes index db17b38..861d42d 100644 --- a/bash.changes +++ b/bash.changes @@ -1,13 +1,165 @@ +------------------------------------------------------------------- +Mon Jan 11 12:00:19 UTC 2021 - Dr. Werner Fink + +- Update to final bash 5.1 + * Which is mainly the last rc3 veresion +- Add official patch bash51-001 + There is a missing dependency on a constructed file, which can cause highly + parellel builds to fail. +- Add official patch bash51-002 + If there are no jobs, and the `-n' and `-p' options are both supplied to + `wait', bash can assign a value to the variable name specified with `-p' + instead of leaving it unset. +- Add official patch bash51-003 + Bash does not put a command substitution process that is started to perform an + expansion in a child process into the right process group where it can receive + keyboard-generated signals. +- Add official patch bash51-004 + If a key-value compound array assignment to an associative array is supplied + as an assignment statement argument to the `declare' command that declares the + array, the assignment doesn't perform the correct word expansions. + + This patch makes key-value assignment and subscript assignment perform the + same expansions when they're supplied as an argument to `declare'. + +------------------------------------------------------------------- +Mon Nov 23 08:28:20 UTC 2020 - Dr. Werner Fink + +- Update to bash 5.1 rc3 + * The `assoc_expand_once' option now affects the evaluation of the -v primary + to test and the [[ compound command. + ------------------------------------------------------------------- Thu Nov 19 15:47:13 UTC 2020 - Ludwig Nussel - remove obsolete info macros +------------------------------------------------------------------- +Tue Nov 10 13:31:20 UTC 2020 - Dr. Werner Fink + +- Update to bash 5.1 rc2 + * Process substitutions started from an interactive shell no longer have their + standard input implicitly redirected from /dev/null. + * Fixed an issue with setting the SIGINT trap handler in an interactive shell + when temporarily running $PROMPT_COMMAND non-interactively. + ------------------------------------------------------------------- Fri Oct 16 07:08:31 UTC 2020 - Ludwig Nussel - prepare usrmerge (boo#1029961) +------------------------------------------------------------------- +Mon Oct 12 17:19:06 UTC 2020 - Dr. Werner Fink + +- Update to bash 5.1 rc1 + * `bind -x' now supports different bindings for different editing modes and + keymaps. + * Bash attempts to optimize the number of times it forks when executing + commands in subshells and from `bash -c'. + * Here documents and here strings now use pipes for the expanded document if + it's smaller than the pipe buffer size, reverting to temporary files if it's + larger. + * There are new loadable builtins: mktemp, accept, mkfifo, csv, cut/lcut + * In posix mode, `trap -p' now displays signals whose disposition is SIG_DFL + and those that were SIG_IGN when the shell starts. + * The shell now expands the history number (e.g., in PS1) even if it is not + currently saving commands to the history list. + * `read -e' may now be used with arbitrary file descriptors (`read -u N'). + * The `select' builtin now runs traps if its internal call to the read builtin + is interrupted by a signal. + * SRANDOM: a new variable that expands to a 32-bit random number that is not + produced by an LCRNG, and uses getrandom/getentropy, falling back to + /dev/urandom or arc4random if available. There is a fallback generator if + none of these are available. + * shell-transpose-words: a new bindable readline command that uses the same + definition of word as shell-forward-word, etc. + * The shell now adds default bindings for shell-forward-word, + shell-backward-word, shell-transpose-words, and shell-kill-word. + * Bash now allows ARGV0 appearing in the initial shell environment to set $0. + * If `unset' is executed without option arguments, bash tries to unset a shell + function if a name argument cannot be a shell variable name because it's not + an identifier. + * The `test -N' operator uses nanosecond timestamp granularity if it's + available. + * Bash posix mode now treats assignment statements preceding shell function + definitions the same as in its default mode, since POSIX has changed and + no longer requires those assignments to persist after the function returns + (POSIX interp 654). + * BASH_REMATCH is no longer readonly. + * wait: has a new -p VARNAME option, which stores the PID returned by `wait -n' + or `wait' without arguments. + * Sorting the results of pathname expansion now uses byte-by-byte comparisons + if two strings collate equally to impose a total order; the result of a + POSIX interpretation. + * Bash now allows SIGINT trap handlers to execute recursively. + * Bash now saves and restores state around setting and unsetting posix mode, + instead of having unsetting posix mode set a known state. + * Process substitution is now available in posix mode. + * READLINE_MARK: a new variable available while executing commands bound with + `bind -x', contains the value of the mark. + * Bash removes SIGCHLD from the set of blocked signals if it's blocked at shell + startup. + * `test -v N' can now test whether or not positional parameter N is set. + * `local' now honors the `-p' option to display all local variables at the + current context. + * The `@a' variable transformation now prints attributes for unset array + variables. + * The `@A' variable transformation now prints a declare command that sets a + variable's attributes if the variable has attributes but is unset. + * `declare' and `local' now have a -I option that inherits attributes and + value from a variable with the same name at a previous scope. + * When run from a -c command, `jobs' now reports the status of completed jobs. + * New `U', `u', and `L' parameter transformations to convert to uppercase, + convert first character to uppercase, and convert to lowercase, + respectively. + * PROMPT_COMMAND: can now be an array variable, each element of which can + contain a command to be executed like a string PROMPT_COMMAND variable. + * `ulimit' has a -R option to report and set the RLIMIT_RTTIME resource. + * Associative arrays may be assigned using a list of key-value pairs within + a compound assignment. Compound assignments where the words are not of + the form [key]=value are assumed to be key-value assignments. A missing or + empty key is an error; a missing value is treated as NULL. Assignments may + not mix the two forms. + * New `K' parameter transformation to display associative arrays as key- + value pairs. + * Writing history to syslog now handles messages longer than the syslog max + length by writing multiple messages with a sequence number. + * SECONDS and RANDOM may now be assigned using arithmetic expressions, since + they are nominally integer variables. LINENO is not an integer variable. + * Bash temporarily suppresses the verbose option when running the DEBUG trap + while running a command from the `fc' builtin. + * `wait -n' now accepts a list of job specifications as arguments and will + wait for the first one in the list to change state. + * The associative array implementation can now dynamically increase the + size of the hash table based on insertion patterns. + * HISTFILE is now readonly in a restricted shell. + * The bash malloc now returns memory that is 16-byte aligned on 64-bit + systems. + * If the hash builtin is listing hashed filenames portably, don't print + anything if the table is empty. + * GLOBIGNORE now ignores `.' and `..' as a terminal pathname component. + * Bash attempts to optimize away forks in the last command in a function body + under appropriate circumstances. + * The globbing code now uses fnmatch(3) to check collation elements (if + available) even in cases without multibyte characters. + * The `fg' and `bg' builtins now return an error in a command substitution + when asked to restart a job inherited from the parent shell. + * The shell now attempts to unlink all FIFOs on exit, whether a consuming + process has finished with them or not. + * There is a new contributed loadable builtin: asort. +- Remove patch bash-4.0-security.patch as now solved upstream +- Port and modify patches + * bash-2.03-manual.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 + * bash-4.3-pathtemp.patch + * bash-4.3-sigrestart.patch +- Port and rename patch bash-5.0.dif which is now bash-5.1.dif + ------------------------------------------------------------------- Wed Sep 23 16:30:31 UTC 2020 - Stefan Dirsch diff --git a/bash.spec b/bash.spec index 6116fc4..d1af8df 100644 --- a/bash.spec +++ b/bash.spec @@ -1,7 +1,7 @@ # # spec file for package bash # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -21,8 +21,8 @@ Name: bash %define bextend %nil -%define bversion 5.0 -%define bpatchlvl 18 +%define bversion 5.1 +%define bpatchlvl 4 Version: %{bversion}.%{bpatchlvl} Release: 0 Summary: The GNU Bourne-Again Shell @@ -49,7 +49,6 @@ Source8: baselibs.conf Source9: bash-4.2-history-myown.dif.bz2 Patch0: bash-%{bversion}.dif Patch1: bash-2.03-manual.patch -Patch2: bash-4.0-security.patch Patch3: bash-4.3-2.4.4.patch Patch4: bash-3.0-evalexp.patch Patch5: bash-3.0-warn-locale.patch @@ -82,7 +81,7 @@ BuildRequires: ncurses-devel BuildRequires: patchutils BuildRequires: pkg-config # This has to be always the same version as included in the bash its self -BuildRequires: readline-devel == 8.0 +BuildRequires: readline-devel == 8.1 BuildRequires: screen BuildRequires: sed BuildRequires: update-alternatives @@ -229,7 +228,6 @@ for patch in ../bash-%{bversion}-patches/*; do done set -x %patch1 -p0 -b .manual -%patch2 -p0 -b .security %patch3 -p0 -b .2.4.4 %patch4 -p0 -b .evalexp %patch5 -p0 -b .warnlc