This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 3.x development tree".
The branch, master has been updated via 0d0c4226c9bc31a9c731d3769d321b343c41ac8b (commit) via f4587ad056d4b5241f7035e8b76b16689a699cc5 (commit) via 11676d9f76329396aa36003469fa98478cc74399 (commit) from 5caf3364f5d9c3faa2a461749dd815166cb8bd4c (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit 0d0c4226c9bc31a9c731d3769d321b343c41ac8b Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Sep 19 13:49:10 2016 +0100
binutils: Update to 2.27
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit f4587ad056d4b5241f7035e8b76b16689a699cc5 Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Sep 18 14:57:39 2016 +0100
bash: Update to 4.4
This drops most of the patches and uses CPPFLAGS instead.
bash is now using libreadline from the system and not shipping an own version any more.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 11676d9f76329396aa36003469fa98478cc74399 Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Sep 18 11:05:31 2016 +0100
readline: Update to 7.0
Requires shipping a compat package for libreadline 6.x
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
-----------------------------------------------------------------------
Summary of changes: bash/bash.nm | 33 +++- bash/patches/bash-2.02-security.patch | 11 -- bash/patches/bash-2.03-paths.patch | 11 -- bash/patches/bash-2.03-profile.patch | 12 -- bash/patches/bash-2.05a-interpreter.patch | 219 --------------------- bash/patches/bash-2.05b-manso.patch | 10 - bash/patches/bash-2.05b-pgrp_sync.patch | 11 -- bash/patches/bash-2.05b-readline-oom.patch | 11 -- bash/patches/bash-3.2-ssh_source_bash.patch | 12 -- bash/patches/bash-4.0-nobits.patch | 154 --------------- bash/patches/bash-4.1-broken_pipe.patch | 12 -- bash/patches/bash-4.1-defer-sigchld-trap.patch | 11 -- bash/patches/bash-4.1-examples.patch | 24 --- bash/patches/bash-4.2-coverity.patch | 99 ---------- bash/patches/bash-4.2-manpage_trap.patch | 12 -- bash/patches/bash-4.2-rc2-logout.patch | 36 ---- bash/patches/bash-4.2-size_type.patch | 14 -- bash/patches/bash-4.3-here-doc-ps2-comsub.patch0 | 47 ----- .../bash-4.3-lastpipe-nested-pipe-segfault.patch0 | 24 --- bash/patches/bash-4.3-man-ulimit.patch | 24 --- bash/patches/bash-4.3-parse-time-keyword.patch0 | 28 --- .../bash-4.3-pathexp-globignore-delim.patch0 | 15 -- bash/patches/bash-4.3-readline-revert-lines.patch0 | 18 -- bash/patches/bash-bashbug.patch | 56 ------ bash/patches/bash-infotags.patch | 30 --- bash/patches/bash-requires.patch | 149 ++++++++------ bash/patches/bash43-001 | 58 ------ bash/patches/bash43-002 | 62 ------ bash/patches/bash43-003 | 48 ----- bash/patches/bash43-004 | 47 ----- bash/patches/bash43-005 | 63 ------ bash/patches/bash43-006 | 48 ----- bash/patches/bash43-007 | 50 ----- bash/patches/bash43-008 | 188 ------------------ bash/patches/bash43-009 | 64 ------ bash/patches/bash43-010 | 157 --------------- bash/patches/bash43-011 | 49 ----- bash/patches/bash43-012 | 43 ---- bash/patches/bash43-013 | 66 ------- bash/patches/bash43-014 | 102 ---------- bash/patches/bash43-015 | 58 ------ bash/patches/bash43-016 | 132 ------------- bash/patches/bash43-017 | 51 ----- bash/patches/bash43-018 | 44 ----- bash/patches/bash43-019 | 84 -------- bash/patches/bash43-020 | 110 ----------- bash/patches/bash43-021 | 52 ----- bash/patches/bash43-022 | 56 ------ bash/patches/bash43-023 | 104 ---------- bash/patches/bash43-024 | 54 ----- bash/patches/bash43-025 | 123 ------------ bash/patches/bash43-026 | 60 ------ binutils/binutils.nm | 2 +- .../binutils-2.22.52.0.1-relro-on-by-default.patch | 58 ------ binutils/patches/binutils-2.24-use-relro.patch | 9 - .../binutils-2.26-fix-GOT-offset-calculation.patch | 17 -- binutils/patches/binutils-2.26-lto.patch | 159 +++++++-------- .../binutils-2.26-x86-PIE-relocations.patch | 46 ----- .../binutils-2.27-arm-aarch64-default-relro.patch | 20 ++ .../binutils-2.27-relro-on-by-default.patch | 13 ++ binutils/patches/binutils-rh1312151.patch | 22 --- .../compat-readline.nm | 32 ++- .../patches/readline-5.0-no_rpath.patch | 13 ++ readline/patches/readline-5.0-no_rpath.patch | 13 ++ readline/readline.nm | 3 +- 65 files changed, 271 insertions(+), 3192 deletions(-) delete mode 100644 bash/patches/bash-2.02-security.patch delete mode 100644 bash/patches/bash-2.03-paths.patch delete mode 100644 bash/patches/bash-2.03-profile.patch delete mode 100644 bash/patches/bash-2.05a-interpreter.patch delete mode 100644 bash/patches/bash-2.05b-manso.patch delete mode 100644 bash/patches/bash-2.05b-pgrp_sync.patch delete mode 100644 bash/patches/bash-2.05b-readline-oom.patch delete mode 100644 bash/patches/bash-3.2-ssh_source_bash.patch delete mode 100644 bash/patches/bash-4.0-nobits.patch delete mode 100644 bash/patches/bash-4.1-broken_pipe.patch delete mode 100644 bash/patches/bash-4.1-defer-sigchld-trap.patch delete mode 100644 bash/patches/bash-4.1-examples.patch delete mode 100644 bash/patches/bash-4.2-coverity.patch delete mode 100644 bash/patches/bash-4.2-manpage_trap.patch delete mode 100644 bash/patches/bash-4.2-rc2-logout.patch delete mode 100644 bash/patches/bash-4.2-size_type.patch delete mode 100644 bash/patches/bash-4.3-here-doc-ps2-comsub.patch0 delete mode 100644 bash/patches/bash-4.3-lastpipe-nested-pipe-segfault.patch0 delete mode 100644 bash/patches/bash-4.3-man-ulimit.patch delete mode 100644 bash/patches/bash-4.3-parse-time-keyword.patch0 delete mode 100644 bash/patches/bash-4.3-pathexp-globignore-delim.patch0 delete mode 100644 bash/patches/bash-4.3-readline-revert-lines.patch0 delete mode 100644 bash/patches/bash-bashbug.patch delete mode 100644 bash/patches/bash-infotags.patch delete mode 100644 bash/patches/bash43-001 delete mode 100644 bash/patches/bash43-002 delete mode 100644 bash/patches/bash43-003 delete mode 100644 bash/patches/bash43-004 delete mode 100644 bash/patches/bash43-005 delete mode 100644 bash/patches/bash43-006 delete mode 100644 bash/patches/bash43-007 delete mode 100644 bash/patches/bash43-008 delete mode 100644 bash/patches/bash43-009 delete mode 100644 bash/patches/bash43-010 delete mode 100644 bash/patches/bash43-011 delete mode 100644 bash/patches/bash43-012 delete mode 100644 bash/patches/bash43-013 delete mode 100644 bash/patches/bash43-014 delete mode 100644 bash/patches/bash43-015 delete mode 100644 bash/patches/bash43-016 delete mode 100644 bash/patches/bash43-017 delete mode 100644 bash/patches/bash43-018 delete mode 100644 bash/patches/bash43-019 delete mode 100644 bash/patches/bash43-020 delete mode 100644 bash/patches/bash43-021 delete mode 100644 bash/patches/bash43-022 delete mode 100644 bash/patches/bash43-023 delete mode 100644 bash/patches/bash43-024 delete mode 100644 bash/patches/bash43-025 delete mode 100644 bash/patches/bash43-026 delete mode 100644 binutils/patches/binutils-2.22.52.0.1-relro-on-by-default.patch delete mode 100644 binutils/patches/binutils-2.24-use-relro.patch delete mode 100644 binutils/patches/binutils-2.26-fix-GOT-offset-calculation.patch delete mode 100644 binutils/patches/binutils-2.26-x86-PIE-relocations.patch create mode 100644 binutils/patches/binutils-2.27-arm-aarch64-default-relro.patch create mode 100644 binutils/patches/binutils-2.27-relro-on-by-default.patch delete mode 100644 binutils/patches/binutils-rh1312151.patch copy readline/readline.nm => compat-readline/compat-readline.nm (65%) create mode 100644 compat-readline/patches/readline-5.0-no_rpath.patch create mode 100644 readline/patches/readline-5.0-no_rpath.patch
Difference in files: diff --git a/bash/bash.nm b/bash/bash.nm index 9894794..0ca9d15 100644 --- a/bash/bash.nm +++ b/bash/bash.nm @@ -4,8 +4,8 @@ ###############################################################################
name = bash -version = 4.3 -release = 11 +version = 4.4 +release = 1
groups = System/Tools url = http://www.gnu.org/software/bash/ @@ -28,29 +28,42 @@ build bison filesystem >= 002 ncurses-devel + readline-devel >= 7.0 texinfo end
+ # Disable parallel build + MAKETUNING = + prepare_cmds # Bash uses the RTLD_LAZY option when loading libraries. We want to use # RTLD_NOW (it is defined from <dlfcn.h>: sed -e "s/filename, RTLD_LAZY/filename, RTLD_NOW/" \ -i builtins/enable.def - - sed -i "s|htmldir = @htmldir@|htmldir = /usr/share/doc/%{thisapp}|" \ - Makefile.in end
- configure_options += \ - --with-afs \ - --with-bash-malloc=no + CPPFLAGS += -D_GNU_SOURCE %(getconf LFS_CFLAGS) + + CPPFLAGS += -DNON_INTERACTIVE_LOGIN_SHELLS + CPPFLAGS += -DSSH_SOURCE_BASHRC
# Recycles pids is neccessary. When bash's last fork's pid was X # and new fork's pid is also X, bash has to wait for this same pid. # Without Recycles pids bash will not wait. - make_build_targets += "CPPFLAGS=-D_GNU_SOURCE -DRECYCLES_PIDS -DDEFAULT_PATH_VALUE='"/usr/local/bin:/usr/bin"' $(getconf LFS_CFLAGS)" + CPPFLAGS += -DRECYCLES_PIDS + + CPPFLAGS += \ + -DDEFAULT_PATH_VALUE='"/usr/local/bin:/usr/bin"' \ + -DSTANDARD_UTILS_PATH='"/bin:/usr/bin:/sbin:/usr/sbin"' \ + -DSYS_BASH_LOGOUT='"/etc/bash.bash_logout"' + + configure_options += \ + --with-installed-readline \ + --with-afs \ + --with-bash-malloc=no + + make_build_targets += CPPFLAGS="%{CPPFLAGS}"
- # Test hangs forever test make tests end diff --git a/bash/patches/bash-2.02-security.patch b/bash/patches/bash-2.02-security.patch deleted file mode 100644 index f8a913b..0000000 --- a/bash/patches/bash-2.02-security.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- bash-2.02-orig/parse.y Wed Mar 25 18:16:23 1998 -+++ bash-2.02/parse.y Sun Apr 19 16:46:34 1998 -@@ -923,7 +923,7 @@ - - #if defined (READLINE) - char *current_readline_prompt = (char *)NULL; --char *current_readline_line = (char *)NULL; -+unsigned char *current_readline_line = (unsigned char *)NULL; - int current_readline_line_index = 0; - - static int diff --git a/bash/patches/bash-2.03-paths.patch b/bash/patches/bash-2.03-paths.patch deleted file mode 100644 index 24ec5cc..0000000 --- a/bash/patches/bash-2.03-paths.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- bash-3.0/config-top.h.paths 2003-08-05 15:36:12.000000000 +0100 -+++ bash-3.0/config-top.h 2004-07-28 09:36:27.117205637 +0100 -@@ -66,7 +66,7 @@ - the Posix.2 confstr () function, or CS_PATH define are not present. */ - #ifndef STANDARD_UTILS_PATH - #define STANDARD_UTILS_PATH \ -- "/bin:/usr/bin:/sbin:/usr/sbin:/etc:/usr/etc" -+ "/bin:/usr/bin:/usr/sbin:/sbin" - #endif - - /* Default primary and secondary prompt strings. */ diff --git a/bash/patches/bash-2.03-profile.patch b/bash/patches/bash-2.03-profile.patch deleted file mode 100644 index ba3344b..0000000 --- a/bash/patches/bash-2.03-profile.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up bash-3.2/config-top.h.profile bash-3.2/config-top.h ---- bash-3.2/config-top.h.profile 2008-07-17 13:35:39.000000000 +0200 -+++ bash-3.2/config-top.h 2008-07-17 13:42:18.000000000 +0200 -@@ -26,6 +26,8 @@ - what POSIX.2 specifies. */ - #define CONTINUE_AFTER_KILL_ERROR - -+#define NON_INTERACTIVE_LOGIN_SHELLS -+ - /* Define BREAK_COMPLAINS if you want the non-standard, but useful - error messages about `break' and `continue' out of context. */ - #define BREAK_COMPLAINS diff --git a/bash/patches/bash-2.05a-interpreter.patch b/bash/patches/bash-2.05a-interpreter.patch deleted file mode 100644 index b9f0da2..0000000 --- a/bash/patches/bash-2.05a-interpreter.patch +++ /dev/null @@ -1,219 +0,0 @@ -diff -up bash-4.2-rc2/config.h.in.interpreter bash-4.2-rc2/config.h.in ---- bash-4.2-rc2/config.h.in.interpreter 2011-02-09 07:59:21.000000000 +0100 -+++ bash-4.2-rc2/config.h.in 2011-02-09 07:59:21.000000000 +0100 -@@ -706,6 +706,9 @@ - /* Define if you have the pathconf function. */ - #undef HAVE_PATHCONF - -+/* Define if you have the pread function. */ -+#undef HAVE_PREAD -+ - /* Define if you have the putenv function. */ - #undef HAVE_PUTENV - -@@ -898,6 +901,9 @@ - /* Define if you have the <dlfcn.h> header file. */ - #undef HAVE_DLFCN_H - -+/* Define if you have the <elf.h> header file. */ -+#undef HAVE_ELF_H -+ - /* Define if you have the <grp.h> header file. */ - #undef HAVE_GRP_H - -diff -up bash-4.2-rc2/configure.in.interpreter bash-4.2-rc2/configure.in ---- bash-4.2-rc2/configure.in.interpreter 2011-01-16 21:31:12.000000000 +0100 -+++ bash-4.2-rc2/configure.ac 2011-02-09 08:02:27.000000000 +0100 -@@ -659,7 +659,7 @@ BASH_HEADER_INTTYPES - AC_CHECK_HEADERS(unistd.h stdlib.h stdarg.h varargs.h limits.h string.h \ - memory.h locale.h termcap.h termio.h termios.h dlfcn.h \ - stdbool.h stddef.h stdint.h netdb.h pwd.h grp.h strings.h \ -- regex.h syslog.h ulimit.h) -+ regex.h syslog.h ulimit.h elf.h) - AC_CHECK_HEADERS(sys/pte.h sys/stream.h sys/select.h sys/file.h \ - sys/resource.h sys/param.h sys/socket.h sys/stat.h \ - sys/time.h sys/times.h sys/types.h sys/wait.h) -@@ -723,7 +723,7 @@ dnl checks for system calls - AC_CHECK_FUNCS(dup2 eaccess fcntl getdtablesize getgroups gethostname \ - getpagesize getpeername getrlimit getrusage gettimeofday \ - kill killpg lstat readlink sbrk select setdtablesize \ -- setitimer tcgetpgrp uname ulimit waitpid) -+ setitimer tcgetpgrp uname ulimit waitpid pread) - AC_REPLACE_FUNCS(rename) - - dnl checks for c library functions -diff -up bash-4.2-rc2/execute_cmd.c.interpreter bash-4.2-rc2/execute_cmd.c ---- bash-4.2-rc2/execute_cmd.c.interpreter 2011-01-20 04:24:47.000000000 +0100 -+++ bash-4.2-rc2/execute_cmd.c 2011-02-09 07:59:21.000000000 +0100 -@@ -41,6 +41,10 @@ - # include <unistd.h> - #endif - -+#ifdef HAVE_ELF_H -+# include <elf.h> -+#endif -+ - #include "posixtime.h" - - #if defined (HAVE_SYS_RESOURCE_H) && !defined (RLIMTYPE) -@@ -4975,14 +4979,22 @@ shell_execve (command, args, env) - { - /* The file has the execute bits set, but the kernel refuses to - run it for some reason. See why. */ -+#if defined (HAVE_HASH_BANG_EXEC) || defined (HAVE_ELF_H) -+ int fd = open (command, O_RDONLY); -+ -+ if (fd >= 0) -+ sample_len = read (fd, sample, sizeof (sample)); -+ else -+ sample_len = -1; -+#endif - #if defined (HAVE_HASH_BANG_EXEC) -- READ_SAMPLE_BUF (command, sample, sample_len); - sample[sample_len - 1] = '\0'; - if (sample_len > 2 && sample[0] == '#' && sample[1] == '!') - { - char *interp; - int ilen; - -+ close (fd); - interp = getinterp (sample, sample_len, (int *)NULL); - ilen = strlen (interp); - errno = i; -@@ -4997,6 +5009,136 @@ shell_execve (command, args, env) - return (EX_NOEXEC); - } - #endif -+#if defined (HAVE_ELF_H) -+ if (i == ENOENT -+ && sample_len > EI_NIDENT -+ && memcmp (sample, ELFMAG, SELFMAG) == 0) -+ { -+ off_t offset = -1; -+ -+ /* It is an ELF file. Now determine whether it is dynamically -+ linked and if yes, get the offset of the interpreter -+ string. */ -+ if (sample[EI_CLASS] == ELFCLASS32 -+ && sample_len > sizeof (Elf32_Ehdr)) -+ { -+ Elf32_Ehdr ehdr; -+ Elf32_Phdr *phdr; -+ int nphdr; -+ -+ /* We have to copy the data since the sample buffer -+ might not be aligned correctly to be accessed as -+ an Elf32_Ehdr struct. */ -+ memcpy (&ehdr, sample, sizeof (Elf32_Ehdr)); -+ -+ nphdr = ehdr.e_phnum; -+ phdr = (Elf32_Phdr *) malloc (nphdr * ehdr.e_phentsize); -+ if (phdr != NULL) -+ { -+#ifdef HAVE_PREAD -+ sample_len = pread (fd, phdr, nphdr * ehdr.e_phentsize, -+ ehdr.e_phoff); -+#else -+ if (lseek (fd, ehdr.e_phoff, SEEK_SET) != -1) -+ sample_len = read (fd, phdr, -+ nphdr * ehdr.e_phentsize); -+ else -+ sample_len = -1; -+#endif -+ if (sample_len == nphdr * ehdr.e_phentsize) -+ while (nphdr-- > 0) -+ if (phdr[nphdr].p_type == PT_INTERP) -+ { -+ offset = phdr[nphdr].p_offset; -+ break; -+ } -+ free (phdr); -+ } -+ } -+ else if (sample[EI_CLASS] == ELFCLASS64 -+ && sample_len > sizeof (Elf64_Ehdr)) -+ { -+ Elf64_Ehdr ehdr; -+ Elf64_Phdr *phdr; -+ int nphdr; -+ -+ /* We have to copy the data since the sample buffer -+ might not be aligned correctly to be accessed as -+ an Elf64_Ehdr struct. */ -+ memcpy (&ehdr, sample, sizeof (Elf64_Ehdr)); -+ -+ nphdr = ehdr.e_phnum; -+ phdr = (Elf64_Phdr *) malloc (nphdr * ehdr.e_phentsize); -+ if (phdr != NULL) -+ { -+#ifdef HAVE_PREAD -+ sample_len = pread (fd, phdr, nphdr * ehdr.e_phentsize, -+ ehdr.e_phoff); -+#else -+ if (lseek (fd, ehdr.e_phoff, SEEK_SET) != -1) -+ sample_len = read (fd, phdr, -+ nphdr * ehdr.e_phentsize); -+ else -+ sample_len = -1; -+#endif -+ if (sample_len == nphdr * ehdr.e_phentsize) -+ while (nphdr-- > 0) -+ if (phdr[nphdr].p_type == PT_INTERP) -+ { -+ offset = phdr[nphdr].p_offset; -+ break; -+ } -+ free (phdr); -+ } -+ } -+ -+ if (offset != -1) -+ { -+ size_t maxlen = 0; -+ size_t actlen = 0; -+ char *interp = NULL; -+ -+ do -+ { -+ if (actlen == maxlen) -+ { -+ char *newinterp = realloc (interp, maxlen += 200); -+ if (newinterp == NULL) -+ { -+ actlen = 0; -+ break; -+ } -+ interp = newinterp; -+ -+#ifdef HAVE_PREAD -+ actlen = pread (fd, interp, maxlen, offset); -+#else -+ if (lseek (fd, offset, SEEK_SET) != -1) -+ actlen = read (fd, interp, maxlen); -+ else -+ actlen = -1; -+#endif -+ } -+ } -+ while (actlen > 0 && memchr (interp, '\0', actlen) == NULL); -+ -+ if (actlen > 0) -+ { -+ close (fd); -+ errno = i; -+ sys_error ("%s: %s: bad ELF interpreter", command, -+ interp); -+ free (interp); -+ return (EX_NOEXEC); -+ } -+ -+ free (interp); -+ } -+ } -+#endif -+#if defined (HAVE_HASH_BANG_EXEC) || defined (HAVE_ELF_H) -+ close (fd); -+#endif - errno = i; - file_error (command); - } diff --git a/bash/patches/bash-2.05b-manso.patch b/bash/patches/bash-2.05b-manso.patch deleted file mode 100644 index 39ebf74..0000000 --- a/bash/patches/bash-2.05b-manso.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- bash-2.05b/doc/builtins.1.manso 2003-02-10 18:58:21.000000000 +0000 -+++ bash-2.05b/doc/builtins.1 2003-02-10 18:58:28.000000000 +0000 -@@ -10,6 +10,6 @@ - ulimit, umask, unalias, unset, wait - bash built-in commands, see \fBbash\fR(1) - .SH BASH BUILTIN COMMANDS - .nr zZ 1 --.so bash.1 -+.so man1/bash.1 - .SH SEE ALSO - bash(1), sh(1) diff --git a/bash/patches/bash-2.05b-pgrp_sync.patch b/bash/patches/bash-2.05b-pgrp_sync.patch deleted file mode 100644 index bd7ded6..0000000 --- a/bash/patches/bash-2.05b-pgrp_sync.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- bash-2.05b/aclocal.m4.pgrp_sync 2002-06-25 14:45:43.000000000 +0100 -+++ bash-2.05b/aclocal.m4 2003-01-15 18:17:35.000000000 +0000 -@@ -1255,7 +1255,7 @@ - wait(&status); - exit(ok ? 0 : 5); - } --], bash_cv_pgrp_pipe=no,bash_cv_pgrp_pipe=yes, -+], bash_cv_pgrp_pipe=yes,bash_cv_pgrp_pipe=yes, - [AC_MSG_WARN(cannot check pgrp synchronization if cross compiling -- defaulting to no) - bash_cv_pgrp_pipe=no]) - ]) diff --git a/bash/patches/bash-2.05b-readline-oom.patch b/bash/patches/bash-2.05b-readline-oom.patch deleted file mode 100644 index f25d780..0000000 --- a/bash/patches/bash-2.05b-readline-oom.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- bash-2.05b/lib/readline/readline.c.oom 2002-03-13 23:10:46.000000000 +0100 -+++ bash-2.05b/lib/readline/readline.c 2002-08-07 12:02:04.000000000 +0200 -@@ -817,7 +817,7 @@ - /* Special case rl_do_lowercase_version (). */ - if (func == rl_do_lowercase_version) - /* Should we do anything special if key == ANYOTHERKEY? */ -- return (_rl_dispatch (_rl_to_lower (key), map)); -+ return (_rl_dispatch (_rl_to_lower ((unsigned char)key), map)); - - rl_executing_keymap = map; - rl_executing_key = key; diff --git a/bash/patches/bash-3.2-ssh_source_bash.patch b/bash/patches/bash-3.2-ssh_source_bash.patch deleted file mode 100644 index 5bd19ce..0000000 --- a/bash/patches/bash-3.2-ssh_source_bash.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up bash-4.0/config-top.h.ssh_source_bash bash-4.0/config-top.h ---- bash-4.0/config-top.h.ssh_source_bash 2009-01-21 15:20:06.000000000 +0100 -+++ bash-4.0/config-top.h 2009-01-21 15:25:46.000000000 +0100 -@@ -90,7 +90,7 @@ - sshd and source the .bashrc if so (like the rshd behavior). This checks - for the presence of SSH_CLIENT or SSH2_CLIENT in the initial environment, - which can be fooled under certain not-uncommon circumstances. */ --/* #define SSH_SOURCE_BASHRC */ -+#define SSH_SOURCE_BASHRC - - /* Define if you want the case-capitalizing operators (~[~]) and the - `capcase' variable attribute (declare -c). */ diff --git a/bash/patches/bash-4.0-nobits.patch b/bash/patches/bash-4.0-nobits.patch deleted file mode 100644 index 0e77fda..0000000 --- a/bash/patches/bash-4.0-nobits.patch +++ /dev/null @@ -1,154 +0,0 @@ -diff -up bash-4.0/execute_cmd.c.nobits bash-4.0/execute_cmd.c ---- bash-4.0/execute_cmd.c.nobits 2009-08-11 11:53:38.000000000 +0200 -+++ bash-4.0/execute_cmd.c 2009-08-14 16:18:18.000000000 +0200 -@@ -4747,6 +4747,7 @@ shell_execve (command, args, env) - && memcmp (sample, ELFMAG, SELFMAG) == 0) - { - off_t offset = -1; -+ int dynamic_nobits = 0; - - /* It is an ELF file. Now determine whether it is dynamically - linked and if yes, get the offset of the interpreter -@@ -4756,13 +4757,61 @@ shell_execve (command, args, env) - { - Elf32_Ehdr ehdr; - Elf32_Phdr *phdr; -- int nphdr; -+ Elf32_Shdr *shdr; -+ int nphdr, nshdr; - - /* We have to copy the data since the sample buffer - might not be aligned correctly to be accessed as - an Elf32_Ehdr struct. */ - memcpy (&ehdr, sample, sizeof (Elf32_Ehdr)); - -+ nshdr = ehdr.e_shnum; -+ shdr = (Elf32_Shdr *) malloc (nshdr * ehdr.e_shentsize); -+ -+ if (shdr != NULL) -+ { -+#ifdef HAVE_PREAD -+ sample_len = pread (fd, shdr, nshdr * ehdr.e_shentsize, -+ ehdr.e_shoff); -+#else -+ if (lseek (fd, ehdr.e_shoff, SEEK_SET) != -1) -+ sample_len = read (fd, shdr, -+ nshdr * ehdr.e_shentsize); -+ else -+ sample_len = -1; -+#endif -+ if (sample_len == nshdr * ehdr.e_shentsize) -+ { -+ char *strings = (char *) malloc (shdr[ehdr.e_shstrndx].sh_size); -+ if (strings != NULL) -+ { -+#ifdef HAVE_PREAD -+ sample_len = pread (fd, strings, -+ shdr[ehdr.e_shstrndx].sh_size, -+ shdr[ehdr.e_shstrndx].sh_offset); -+#else -+ if (lseek (fd, shdr[ehdr.e_shstrndx].sh_offset, -+ SEEK_SET) != -1) -+ sample_len = read (fd, strings, -+ shdr[ehdr.e_shstrndx].sh_size); -+ else -+ sample_len = -1; -+#endif -+ if (sample_len == shdr[ehdr.e_shstrndx].sh_size) -+ while (nshdr-- > 0) -+ if (strcmp (strings + shdr[nshdr].sh_name, -+ ".interp") == 0 && -+ shdr[nshdr].sh_type == SHT_NOBITS) -+ { -+ dynamic_nobits++; -+ break; -+ } -+ free (strings); -+ } -+ } -+ free (shdr); -+ } -+ - nphdr = ehdr.e_phnum; - phdr = (Elf32_Phdr *) malloc (nphdr * ehdr.e_phentsize); - if (phdr != NULL) -@@ -4792,13 +4841,60 @@ shell_execve (command, args, env) - { - Elf64_Ehdr ehdr; - Elf64_Phdr *phdr; -- int nphdr; -+ Elf64_Shdr *shdr; -+ int nphdr, nshdr; - - /* We have to copy the data since the sample buffer - might not be aligned correctly to be accessed as - an Elf64_Ehdr struct. */ - memcpy (&ehdr, sample, sizeof (Elf64_Ehdr)); - -+ nshdr = ehdr.e_shnum; -+ shdr = (Elf64_Shdr *) malloc (nshdr * ehdr.e_shentsize); -+ if (shdr != NULL) -+ { -+#ifdef HAVE_PREAD -+ sample_len = pread (fd, shdr, nshdr * ehdr.e_shentsize, -+ ehdr.e_shoff); -+#else -+ if (lseek (fd, ehdr.e_shoff, SEEK_SET) != -1) -+ sample_len = read (fd, shdr, -+ nshdr * ehdr.e_shentsize); -+ else -+ sample_len = -1; -+#endif -+ if (sample_len == nshdr * ehdr.e_shentsize) -+ { -+ char *strings = (char *) malloc (shdr[ehdr.e_shstrndx].sh_size); -+ if (strings != NULL) -+ { -+#ifdef HAVE_PREAD -+ sample_len = pread (fd, strings, -+ shdr[ehdr.e_shstrndx].sh_size, -+ shdr[ehdr.e_shstrndx].sh_offset); -+#else -+ if (lseek (fd, shdr[ehdr.e_shstrndx].sh_offset, -+ SEEK_SET) != -1) -+ sample_len = read (fd, strings, -+ shdr[ehdr.e_shstrndx].sh_size); -+ else -+ sample_len = -1; -+#endif -+ if (sample_len == shdr[ehdr.e_shstrndx].sh_size) -+ while (nshdr-- > 0) -+ if (strcmp (strings + shdr[nshdr].sh_name, -+ ".interp") == 0 && -+ shdr[nshdr].sh_type == SHT_NOBITS) -+ { -+ dynamic_nobits++; -+ break; -+ } -+ free (strings); -+ } -+ } -+ free (shdr); -+ } -+ - nphdr = ehdr.e_phnum; - phdr = (Elf64_Phdr *) malloc (nphdr * ehdr.e_phentsize); - if (phdr != NULL) -@@ -4858,8 +4954,15 @@ shell_execve (command, args, env) - { - close (fd); - errno = i; -- sys_error ("%s: %s: bad ELF interpreter", command, -- interp); -+ if (dynamic_nobits > 0) -+ { -+ sys_error ("%s: bad ELF interpreter", command); -+ } -+ else -+ { -+ sys_error ("%s: %s: bad ELF interpreter", command, -+ interp); -+ } - free (interp); - return (EX_NOEXEC); - } diff --git a/bash/patches/bash-4.1-broken_pipe.patch b/bash/patches/bash-4.1-broken_pipe.patch deleted file mode 100644 index e083374..0000000 --- a/bash/patches/bash-4.1-broken_pipe.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up bash-4.1/config-top.h.broken_pipe bash-4.1/config-top.h ---- bash-4.1/config-top.h.broken_pipe 2011-01-06 18:01:30.000000000 +0100 -+++ bash-4.1/config-top.h 2011-01-06 18:02:14.000000000 +0100 -@@ -51,7 +51,7 @@ - /* Define DONT_REPORT_BROKEN_PIPE_WRITE_ERRORS if you don't want builtins - like `echo' and `printf' to report errors when output does not succeed - due to EPIPE. */ --/* #define DONT_REPORT_BROKEN_PIPE_WRITE_ERRORS */ -+#define DONT_REPORT_BROKEN_PIPE_WRITE_ERRORS - - /* The default value of the PATH variable. */ - #ifndef DEFAULT_PATH_VALUE diff --git a/bash/patches/bash-4.1-defer-sigchld-trap.patch b/bash/patches/bash-4.1-defer-sigchld-trap.patch deleted file mode 100644 index e00adec..0000000 --- a/bash/patches/bash-4.1-defer-sigchld-trap.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -pruN bash-4.1/jobs.c bash-4.1.patched/jobs.c ---- bash-4.1/jobs.c 2009-11-30 03:42:05.000000000 +0530 -+++ bash-4.1.patched/jobs.c 2012-03-06 16:44:15.706595703 +0530 -@@ -3037,6 +3037,7 @@ waitchld (wpid, block) - pid_t pid; - - int call_set_current, last_stopped_job, job, children_exited, waitpid_flags; -+ int called_from_sighand = sigchld; - static int wcontinued = WCONTINUED; /* run-time fix for glibc problem */ - - call_set_current = children_exited = 0; diff --git a/bash/patches/bash-4.1-examples.patch b/bash/patches/bash-4.1-examples.patch deleted file mode 100644 index 19159e7..0000000 --- a/bash/patches/bash-4.1-examples.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up bash-4.1/examples/loadables/Makefile.in.examples bash-4.1/examples/loadables/Makefile.in ---- bash-4.1/examples/loadables/Makefile.in.examples 2010-06-22 16:20:02.000000000 +0200 -+++ bash-4.1/examples/loadables/Makefile.in 2010-06-22 16:20:41.000000000 +0200 -@@ -43,7 +43,7 @@ host_os = @host_os@ - host_cpu = @host_cpu@ - host_vendor = @host_vendor@ - --CFLAGS = @CFLAGS@ -+CFLAGS = -O2 -g - LOCAL_CFLAGS = @LOCAL_CFLAGS@ - DEFS = @DEFS@ - LOCAL_DEFS = @LOCAL_DEFS@ -diff -up bash-4.1/examples/loadables/perl/Makefile.in.examples bash-4.1/examples/loadables/perl/Makefile.in ---- bash-4.1/examples/loadables/perl/Makefile.in.examples 2010-06-22 16:20:46.000000000 +0200 -+++ bash-4.1/examples/loadables/perl/Makefile.in 2010-06-22 16:21:04.000000000 +0200 -@@ -42,7 +42,7 @@ SHELL = @MAKE_SHELL@ - - PERL5 = perl5 - --CFLAGS = @CFLAGS@ -+CFLAGS = -O2 -g - - # - # These values are generated for configure by ${topdir}/support/shobj-conf. diff --git a/bash/patches/bash-4.2-coverity.patch b/bash/patches/bash-4.2-coverity.patch deleted file mode 100644 index 5fc8456..0000000 --- a/bash/patches/bash-4.2-coverity.patch +++ /dev/null @@ -1,99 +0,0 @@ -diff -up bash-4.2/execute_cmd.c.coverity bash-4.2/execute_cmd.c ---- bash-4.2/execute_cmd.c.coverity 2011-02-24 13:04:35.000000000 +0100 -+++ bash-4.2/execute_cmd.c 2011-02-24 13:49:13.000000000 +0100 -@@ -5036,7 +5036,7 @@ shell_execve (command, args, env) - Elf32_Ehdr ehdr; - Elf32_Phdr *phdr; - Elf32_Shdr *shdr; -- int nphdr, nshdr; -+ Elf32_Half nphdr, nshdr; - - /* We have to copy the data since the sample buffer - might not be aligned correctly to be accessed as -@@ -5044,12 +5044,12 @@ shell_execve (command, args, env) - memcpy (&ehdr, sample, sizeof (Elf32_Ehdr)); - - nshdr = ehdr.e_shnum; -- shdr = (Elf32_Shdr *) malloc (nshdr * ehdr.e_shentsize); -+ shdr = (Elf32_Shdr *) malloc ((size_t)nshdr * (size_t)ehdr.e_shentsize); - - if (shdr != NULL) - { - #ifdef HAVE_PREAD -- sample_len = pread (fd, shdr, nshdr * ehdr.e_shentsize, -+ sample_len = pread (fd, shdr, (size_t)nshdr * (size_t)ehdr.e_shentsize, - ehdr.e_shoff); - #else - if (lseek (fd, ehdr.e_shoff, SEEK_SET) != -1) -@@ -5091,11 +5091,11 @@ shell_execve (command, args, env) - } - - nphdr = ehdr.e_phnum; -- phdr = (Elf32_Phdr *) malloc (nphdr * ehdr.e_phentsize); -+ phdr = (Elf32_Phdr *) malloc ((size_t)nphdr * (size_t)ehdr.e_phentsize); - if (phdr != NULL) - { - #ifdef HAVE_PREAD -- sample_len = pread (fd, phdr, nphdr * ehdr.e_phentsize, -+ sample_len = pread (fd, phdr, (size_t)nphdr * (size_t)ehdr.e_phentsize, - ehdr.e_phoff); - #else - if (lseek (fd, ehdr.e_phoff, SEEK_SET) != -1) -@@ -5120,7 +5120,7 @@ shell_execve (command, args, env) - Elf64_Ehdr ehdr; - Elf64_Phdr *phdr; - Elf64_Shdr *shdr; -- int nphdr, nshdr; -+ Elf32_Half nphdr, nshdr; - - /* We have to copy the data since the sample buffer - might not be aligned correctly to be accessed as -@@ -5128,11 +5128,11 @@ shell_execve (command, args, env) - memcpy (&ehdr, sample, sizeof (Elf64_Ehdr)); - - nshdr = ehdr.e_shnum; -- shdr = (Elf64_Shdr *) malloc (nshdr * ehdr.e_shentsize); -+ shdr = (Elf64_Shdr *) malloc ((size_t)nshdr * (size_t)ehdr.e_shentsize); - if (shdr != NULL) - { - #ifdef HAVE_PREAD -- sample_len = pread (fd, shdr, nshdr * ehdr.e_shentsize, -+ sample_len = pread (fd, shdr, (size_t)nshdr * (size_t)ehdr.e_shentsize, - ehdr.e_shoff); - #else - if (lseek (fd, ehdr.e_shoff, SEEK_SET) != -1) -@@ -5174,11 +5174,11 @@ shell_execve (command, args, env) - } - - nphdr = ehdr.e_phnum; -- phdr = (Elf64_Phdr *) malloc (nphdr * ehdr.e_phentsize); -+ phdr = (Elf64_Phdr *) malloc ((size_t)nphdr * (size_t)ehdr.e_phentsize); - if (phdr != NULL) - { - #ifdef HAVE_PREAD -- sample_len = pread (fd, phdr, nphdr * ehdr.e_phentsize, -+ sample_len = pread (fd, phdr, (size_t)nphdr * (size_t)ehdr.e_phentsize, - ehdr.e_phoff); - #else - if (lseek (fd, ehdr.e_phoff, SEEK_SET) != -1) -@@ -5200,8 +5200,8 @@ shell_execve (command, args, env) - - if (offset != -1) - { -- size_t maxlen = 0; -- size_t actlen = 0; -+ ssize_t maxlen = 0; -+ ssize_t actlen = 0; - char *interp = NULL; - - do -@@ -5250,7 +5250,8 @@ shell_execve (command, args, env) - } - #endif - #if defined (HAVE_HASH_BANG_EXEC) || defined (HAVE_ELF_H) -- close (fd); -+ if (fd >= 0) -+ close (fd); - #endif - errno = i; - file_error (command); diff --git a/bash/patches/bash-4.2-manpage_trap.patch b/bash/patches/bash-4.2-manpage_trap.patch deleted file mode 100644 index e81882f..0000000 --- a/bash/patches/bash-4.2-manpage_trap.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up bash-4.1/doc/bash.1.manpage_trap bash-4.1/doc/bash.1 ---- bash-4.1/doc/bash.1.manpage_trap 2012-08-28 10:06:00.561999092 +0200 -+++ bash-4.1/doc/bash.1 2012-08-28 10:06:24.225304505 +0200 -@@ -9251,7 +9251,7 @@ being inverted via - These are the same conditions obeyed by the \fBerrexit\fP (\fB-e\fP) option. - .if t .sp 0.5 - .if n .sp 1 --Signals ignored upon entry to the shell cannot be trapped or reset. -+Signals ignored upon entry to the shell cannot be trapped, reset or listed. - Trapped signals that are not being ignored are reset to their original - values in a subshell or subshell environment when one is created. - The return status is false if any diff --git a/bash/patches/bash-4.2-rc2-logout.patch b/bash/patches/bash-4.2-rc2-logout.patch deleted file mode 100644 index 5aff01a..0000000 --- a/bash/patches/bash-4.2-rc2-logout.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -up bash-3.2/config-top.h.logout bash-3.2/config-top.h ---- bash-3.2/config-top.h.logout 2011-04-14 08:55:55.000000000 +0200 -+++ bash-3.2/config-top.h 2011-04-14 08:55:55.000000000 +0200 -@@ -78,7 +78,7 @@ - /* #define SYS_BASHRC "/etc/bash.bashrc" */ - - /* System-wide .bash_logout for login shells. */ --/* #define SYS_BASH_LOGOUT "/etc/bash.bash_logout" */ -+#define SYS_BASH_LOGOUT "/etc/bash.bash_logout" - - /* Define this to make non-interactive shells begun with argv[0][0] == '-' - run the startup files when not in posix mode. */ -diff -up bash-3.2/doc/bash.1.logout bash-3.2/doc/bash.1 ---- bash-3.2/doc/bash.1.logout 2011-04-14 09:16:32.000000000 +0200 -+++ bash-3.2/doc/bash.1 2011-04-14 11:59:33.000000000 +0200 -@@ -326,8 +326,8 @@ option may be used when the shell is sta - .PP - When a login shell exits, - .B bash --reads and executes commands from the file \fI~/.bash_logout\fP, if it --exists. -+reads and executes commands from the files \fI~/.bash_logout\fP -+and \fI/etc/bash.bash_logout\fP, if the files exists. - .PP - When an interactive shell that is not a login shell is started, - .B bash -@@ -8814,6 +8814,9 @@ The \fBbash\fP executable - .FN /etc/profile - The systemwide initialization file, executed for login shells - .TP -+.FN /etc/bash.bash_logout -+The systemwide login shell cleanup file, executed when a login shell exits -+.TP - .FN ~/.bash_profile - The personal initialization file, executed for login shells - .TP diff --git a/bash/patches/bash-4.2-size_type.patch b/bash/patches/bash-4.2-size_type.patch deleted file mode 100644 index ab56677..0000000 --- a/bash/patches/bash-4.2-size_type.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up bash-4.2/variables.h.size_type bash-4.2/variables.h ---- bash-4.2/variables.h.size_type 2012-11-29 10:33:25.109036844 +0100 -+++ bash-4.2/variables.h 2012-11-29 10:46:12.718530162 +0100 -@@ -95,8 +95,8 @@ typedef struct variable { - - typedef struct _vlist { - SHELL_VAR **list; -- int list_size; /* allocated size */ -- int list_len; /* current number of entries */ -+ size_t list_size; /* allocated size */ -+ size_t list_len; /* current number of entries */ - } VARLIST; - - /* The various attributes that a given variable can have. */ diff --git a/bash/patches/bash-4.3-here-doc-ps2-comsub.patch0 b/bash/patches/bash-4.3-here-doc-ps2-comsub.patch0 deleted file mode 100644 index 0ccfd20..0000000 --- a/bash/patches/bash-4.3-here-doc-ps2-comsub.patch0 +++ /dev/null @@ -1,47 +0,0 @@ -*** ../bash-4.3-patched/shell.h 2012-12-25 21:11:01.000000000 -0500 ---- shell.h 2014-06-03 09:24:28.000000000 -0400 -*************** -*** 169,173 **** - int expand_aliases; - int echo_input_at_read; -! - } sh_parser_state_t; - ---- 169,174 ---- - int expand_aliases; - int echo_input_at_read; -! int need_here_doc; -! - } sh_parser_state_t; - -*** ../bash-4.3-patched/parse.y 2014-05-14 09:16:40.000000000 -0400 ---- parse.y 2014-04-30 09:27:59.000000000 -0400 -*************** -*** 2643,2647 **** - - r = 0; -! while (need_here_doc) - { - parser_state |= PST_HEREDOC; ---- 2643,2647 ---- - - r = 0; -! while (need_here_doc > 0) - { - parser_state |= PST_HEREDOC; -*************** -*** 6076,6079 **** ---- 6076,6080 ---- - ps->expand_aliases = expand_aliases; - ps->echo_input_at_read = echo_input_at_read; -+ ps->need_here_doc = need_here_doc; - - ps->token = token; -*************** -*** 6124,6127 **** ---- 6125,6129 ---- - expand_aliases = ps->expand_aliases; - echo_input_at_read = ps->echo_input_at_read; -+ need_here_doc = ps->need_here_doc; - - FREE (token); diff --git a/bash/patches/bash-4.3-lastpipe-nested-pipe-segfault.patch0 b/bash/patches/bash-4.3-lastpipe-nested-pipe-segfault.patch0 deleted file mode 100644 index 200a84f..0000000 --- a/bash/patches/bash-4.3-lastpipe-nested-pipe-segfault.patch0 +++ /dev/null @@ -1,24 +0,0 @@ -*** ../bash-4.3-patched/execute_cmd.c 2014-01-31 10:54:52.000000000 -0500 ---- execute_cmd.c 2014-06-19 08:05:49.000000000 -0400 -*************** -*** 2410,2414 **** - lstdin = wait_for (lastpid); - #if defined (JOB_CONTROL) -! exec_result = job_exit_status (lastpipe_jid); - #endif - unfreeze_jobs_list (); ---- 2425,2438 ---- - lstdin = wait_for (lastpid); - #if defined (JOB_CONTROL) -! /* If wait_for removes the job from the jobs table, use result of last -! command as pipeline's exit status as usual. The jobs list can get -! frozen and unfrozen at inconvenient times if there are multiple pipelines -! running simultaneously. */ -! if (INVALID_JOB (lastpipe_jid) == 0) -! exec_result = job_exit_status (lastpipe_jid); -! else if (pipefail_opt) -! exec_result = exec_result | lstdin; /* XXX */ -! /* otherwise we use exec_result */ -! - #endif - unfreeze_jobs_list (); diff --git a/bash/patches/bash-4.3-man-ulimit.patch b/bash/patches/bash-4.3-man-ulimit.patch deleted file mode 100644 index fdba544..0000000 --- a/bash/patches/bash-4.3-man-ulimit.patch +++ /dev/null @@ -1,24 +0,0 @@ -From ccd35766d2451677f4c49f66b8e18ad6e274d56a Mon Sep 17 00:00:00 2001 -From: Jan Chaloupka jchaloup@redhat.com -Date: Mon, 7 Jul 2014 07:15:41 +0200 -Subject: [PATCH] bash.1: posix block size for cf options - ---- - doc/bash.1 | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/doc/bash.1 b/doc/bash.1 -index a4ad746..1916515 100644 ---- a/doc/bash.1 -+++ b/doc/bash.1 -@@ -9451,6 +9451,7 @@ and - which are unscaled values. - The return status is 0 unless an invalid option or argument is supplied, - or an error occurs while setting a new limit. -+In POSIX Mode 512-byte blocks are used for the `-c' and `-f' options. - .RE - .TP - \fBumask\fP [\fB-p\fP] [\fB-S\fP] [\fImode\fP] --- -1.9.3 - diff --git a/bash/patches/bash-4.3-parse-time-keyword.patch0 b/bash/patches/bash-4.3-parse-time-keyword.patch0 deleted file mode 100644 index 40337f5..0000000 --- a/bash/patches/bash-4.3-parse-time-keyword.patch0 +++ /dev/null @@ -1,28 +0,0 @@ -*** ../bash-4.3-patched/parse.y 2014-04-07 11:56:12.000000000 -0400 ---- parse.y 2014-06-11 10:25:53.000000000 -0400 -*************** -*** 2789,2797 **** - case OR_OR: - case '&': - case DO: - case THEN: - case ELSE: - case '{': /* } */ -! case '(': /* ) */ - case BANG: /* ! time pipeline */ - case TIME: /* time time pipeline */ ---- 2789,2802 ---- - case OR_OR: - case '&': -+ case WHILE: - case DO: -+ case UNTIL: -+ case IF: - case THEN: -+ case ELIF: - case ELSE: - case '{': /* } */ -! case '(': /* )( */ -! case ')': /* only valid in case statement */ - case BANG: /* ! time pipeline */ - case TIME: /* time time pipeline */ diff --git a/bash/patches/bash-4.3-pathexp-globignore-delim.patch0 b/bash/patches/bash-4.3-pathexp-globignore-delim.patch0 deleted file mode 100644 index 6b019f9..0000000 --- a/bash/patches/bash-4.3-pathexp-globignore-delim.patch0 +++ /dev/null @@ -1,15 +0,0 @@ -*** ../bash-4.3-patched/pathexp.c 2014-01-31 09:34:33.000000000 -0500 ---- pathexp.c 2014-06-20 15:33:09.000000000 -0400 -*************** -*** 539,543 **** - return 0; - -! n = skip_to_delim (s, i, ":", SD_NOJMP|SD_EXTGLOB); - t = substring (s, i, n); - ---- 539,543 ---- - return 0; - -! n = skip_to_delim (s, i, ":", SD_NOJMP|SD_EXTGLOB|SD_GLOB); - t = substring (s, i, n); - diff --git a/bash/patches/bash-4.3-readline-revert-lines.patch0 b/bash/patches/bash-4.3-readline-revert-lines.patch0 deleted file mode 100644 index 2ce3d87..0000000 --- a/bash/patches/bash-4.3-readline-revert-lines.patch0 +++ /dev/null @@ -1,18 +0,0 @@ -*** ../bash-4.3-patched/lib/readline/misc.c 2012-09-01 18:03:11.000000000 -0400 ---- lib/readline/misc.c 2014-06-30 13:41:19.000000000 -0400 -*************** -*** 462,465 **** ---- 462,466 ---- - /* Set up rl_line_buffer and other variables from history entry */ - rl_replace_from_history (entry, 0); /* entry->line is now current */ -+ entry->data = 0; /* entry->data is now current undo list */ - /* Undo all changes to this history entry */ - while (rl_undo_list) -*************** -*** 469,473 **** - FREE (entry->line); - entry->line = savestring (rl_line_buffer); -- entry->data = 0; - } - entry = previous_history (); ---- 470,473 ---- diff --git a/bash/patches/bash-bashbug.patch b/bash/patches/bash-bashbug.patch deleted file mode 100644 index 7ed60d2..0000000 --- a/bash/patches/bash-bashbug.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff -up bash-4.2-rc2/doc/bash.1.bashbug bash-4.2-rc2/doc/bash.1 ---- bash-4.2-rc2/doc/bash.1.bashbug 2011-01-16 21:31:39.000000000 +0100 -+++ bash-4.2-rc2/doc/bash.1 2011-02-09 08:52:14.000000000 +0100 -@@ -9857,7 +9857,7 @@ The latest version is always available f - .PP - Once you have determined that a bug actually exists, use the - .I bashbug --command to submit a bug report. -+command (from the source package) to submit a bug report. - If you have a fix, you are encouraged to mail that as well! - Suggestions and `philosophical' bug reports may be mailed - to \fIbug-bash@gnu.org\fP or posted to the Usenet -@@ -9879,10 +9879,6 @@ A description of the bug behaviour - A short script or `recipe' which exercises the bug - .PD - .PP --.I bashbug --inserts the first three items automatically into the template --it provides for filing a bug report. --.PP - Comments and bug reports concerning - this manual page should be directed to - .IR chet.ramey@case.edu . -diff -up bash-4.2-rc2/doc/bashref.texi.bashbug bash-4.2-rc2/doc/bashref.texi ---- bash-4.2-rc2/doc/bashref.texi.bashbug 2011-01-16 21:31:57.000000000 +0100 -+++ bash-4.2-rc2/doc/bashref.texi 2011-02-09 08:47:07.000000000 +0100 -@@ -7635,7 +7635,7 @@ The latest version of Bash is always ava - @uref{ftp://ftp.gnu.org/pub/gnu/bash/}. - - Once you have determined that a bug actually exists, use the --@code{bashbug} command to submit a bug report. -+@code{bashbug} command (from the source package) to submit a bug report. - If you have a fix, you are encouraged to mail that as well! - Suggestions and `philosophical' bug reports may be mailed - to @email{bug-bash@@gnu.org} or posted to the Usenet -@@ -7657,9 +7657,6 @@ to reproduce it. - @end itemize - - @noindent --@code{bashbug} inserts the first three items automatically into --the template it provides for filing a bug report. -- - Please send all reports concerning this manual to - @email{bug-bash@@gnu.org}. - -diff -up bash-4.2-rc2/shell.c.bashbug bash-4.2-rc2/shell.c ---- bash-4.2-rc2/shell.c.bashbug 2011-01-02 22:04:51.000000000 +0100 -+++ bash-4.2-rc2/shell.c 2011-02-09 08:47:07.000000000 +0100 -@@ -1823,7 +1823,6 @@ show_shell_usage (fp, extra) - { - fprintf (fp, _("Type `%s -c "help set"' for more information about shell options.\n"), shell_name); - fprintf (fp, _("Type `%s -c help' for more information about shell builtin commands.\n"), shell_name); -- fprintf (fp, _("Use the `bashbug' command to report bugs.\n")); - } - } - diff --git a/bash/patches/bash-infotags.patch b/bash/patches/bash-infotags.patch deleted file mode 100644 index 2e50d6e..0000000 --- a/bash/patches/bash-infotags.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- bash-3.1/doc/Makefile.in.infotags 2006-07-12 13:57:18.000000000 +0100 -+++ bash-3.1/doc/Makefile.in 2006-07-12 13:58:25.000000000 +0100 -@@ -69,7 +69,6 @@ - TEXI2HTML = ${SUPPORT_SRCDIR}/texi2html - MAN2HTML = ${BUILD_DIR}/support/man2html - HTMLPOST = ${srcdir}/htmlpost.sh --INFOPOST = ${srcdir}/infopost.sh - QUIETPS = #set this to -q to shut up dvips - PAPERSIZE = letter # change to a4 for A4-size paper - PSDPI = 600 # could be 300 if you like -@@ -146,7 +145,7 @@ - - PSFILES = bash.ps bashbug.ps article.ps builtins.ps rbash.ps - DVIFILES = bashref.dvi bashref.ps --INFOFILES = bashref.info -+INFOFILES = bashref.info bash.info - MAN0FILES = bash.0 bashbug.0 builtins.0 rbash.0 - HTMLFILES = bashref.html bash.html - PDFFILES = bash.pdf bashref.pdf article.pdf rose94.pdf -@@ -167,8 +166,8 @@ - bashref.html: $(BASHREF_FILES) $(HSUSER) $(RLUSER) - $(TEXI2HTML) -menu -monolithic -I $(TEXINPUTDIR) $(srcdir)/bashref.texi - --bash.info: bashref.info -- ${SHELL} ${INFOPOST} < $(srcdir)/bashref.info > $@ ; \ -+bash.info: $(BASHREF_FILES) $(HSUSER) $(RLUSER) -+ $(MAKEINFO) --no-split -I$(TEXINPUTDIR) $(srcdir)/bashref.texi -o $@ - - bash.txt: bash.1 - bash.ps: bash.1 diff --git a/bash/patches/bash-requires.patch b/bash/patches/bash-requires.patch index 5d82ac6..888de17 100644 --- a/bash/patches/bash-requires.patch +++ b/bash/patches/bash-requires.patch @@ -1,19 +1,28 @@ -diff -up bash-4.1/builtins.h.requires bash-4.1/builtins.h ---- bash-4.1/builtins.h.requires 2009-01-04 20:32:23.000000000 +0100 -+++ bash-4.1/builtins.h 2010-08-02 17:42:41.000000000 +0200 -@@ -41,6 +41,8 @@ - #define SPECIAL_BUILTIN 0x08 /* This is a Posix `special' builtin. */ +commit efb0da0c0fee3e3ca21b21cd72f63cdfd7766d45 +Author: Michael Tremer michael.tremer@ipfire.org +Date: Sun Sep 18 14:12:44 2016 +0100 + + Implement --rpm-requires + + Signed-off-by: Michael Tremer michael.tremer@ipfire.org + +diff --git a/builtins.h b/builtins.h +index 0cfea18..c0c6acc 100644 +--- a/builtins.h ++++ b/builtins.h +@@ -42,6 +42,7 @@ #define ASSIGNMENT_BUILTIN 0x10 /* This builtin takes assignment statements. */ #define POSIX_BUILTIN 0x20 /* This builtins is special in the Posix command search order. */ -+#define REQUIRES_BUILTIN 0x40 /* This builtin requires other files. */ -+ + #define LOCALVAR_BUILTIN 0x40 /* This builtin creates local variables */ ++#define REQUIRES_BUILTIN 0x80 /* This builtin requires other files. */
#define BASE_INDENT 4
-diff -up bash-4.1/builtins/mkbuiltins.c.requires bash-4.1/builtins/mkbuiltins.c ---- bash-4.1/builtins/mkbuiltins.c.requires 2009-01-04 20:32:23.000000000 +0100 -+++ bash-4.1/builtins/mkbuiltins.c 2010-08-02 17:42:41.000000000 +0200 -@@ -69,9 +69,15 @@ extern char *strcpy (); +diff --git a/builtins/mkbuiltins.c b/builtins/mkbuiltins.c +index 4f51201..69707ec 100644 +--- a/builtins/mkbuiltins.c ++++ b/builtins/mkbuiltins.c +@@ -69,10 +69,15 @@ extern char *strcpy (); #define whitespace(c) (((c) == ' ') || ((c) == '\t'))
/* Flag values that builtins can have. */ @@ -23,13 +32,13 @@ diff -up bash-4.1/builtins/mkbuiltins.c.requires bash-4.1/builtins/mkbuiltins.c + in ../builtins.h */ #define BUILTIN_FLAG_SPECIAL 0x01 #define BUILTIN_FLAG_ASSIGNMENT 0x02 - #define BUILTIN_FLAG_POSIX_BUILTIN 0x04 -+#define BUILTIN_FLAG_REQUIRES 0x08 -+ + #define BUILTIN_FLAG_LOCALVAR 0x04 + #define BUILTIN_FLAG_POSIX_BUILTIN 0x08 ++#define BUILTIN_FLAG_REQUIRES 0x16
#define BASE_INDENT 4
-@@ -163,10 +169,18 @@ char *posix_builtins[] = +@@ -173,11 +178,19 @@ char *posix_builtins[] = (char *)NULL };
@@ -43,13 +52,14 @@ diff -up bash-4.1/builtins/mkbuiltins.c.requires bash-4.1/builtins/mkbuiltins.c /* Forward declarations. */ static int is_special_builtin (); static int is_assignment_builtin (); + static int is_localvar_builtin (); static int is_posix_builtin (); +static int is_requires_builtin ();
#if !defined (HAVE_RENAME) static int rename (); -@@ -812,6 +826,9 @@ builtin_handler (self, defs, arg) - new->flags |= BUILTIN_FLAG_ASSIGNMENT; +@@ -831,6 +844,9 @@ builtin_handler (self, defs, arg) + new->flags |= BUILTIN_FLAG_LOCALVAR; if (is_posix_builtin (name)) new->flags |= BUILTIN_FLAG_POSIX_BUILTIN; + if (is_requires_builtin (name)) @@ -58,21 +68,22 @@ diff -up bash-4.1/builtins/mkbuiltins.c.requires bash-4.1/builtins/mkbuiltins.c
array_add ((char *)new, defs->builtins); building_builtin = 1; -@@ -1229,11 +1246,12 @@ write_builtins (defs, structfile, extern +@@ -1250,12 +1266,13 @@ write_builtins (defs, structfile, externfile) else fprintf (structfile, "(sh_builtin_func_t *)0x0, ");
-- fprintf (structfile, "%s%s%s%s, %s_doc,\n", -+ fprintf (structfile, "%s%s%s%s%s, %s_doc,\n", +- fprintf (structfile, "%s%s%s%s%s, %s_doc,\n", ++ fprintf (structfile, "%s%s%s%s%s%s, %s_doc,\n", "BUILTIN_ENABLED | STATIC_BUILTIN", (builtin->flags & BUILTIN_FLAG_SPECIAL) ? " | SPECIAL_BUILTIN" : "", (builtin->flags & BUILTIN_FLAG_ASSIGNMENT) ? " | ASSIGNMENT_BUILTIN" : "", + (builtin->flags & BUILTIN_FLAG_LOCALVAR) ? " | LOCALVAR_BUILTIN" : "", (builtin->flags & BUILTIN_FLAG_POSIX_BUILTIN) ? " | POSIX_BUILTIN" : "", + (builtin->flags & BUILTIN_FLAG_REQUIRES) ? " | REQUIRES_BUILTIN" : "", document_name (builtin));
- if (inhibit_functions) -@@ -1581,6 +1599,13 @@ is_posix_builtin (name) + /* Don't translate short document summaries that are identical +@@ -1645,6 +1662,13 @@ is_posix_builtin (name) return (_find_in_table (name, posix_builtins)); }
@@ -86,10 +97,11 @@ diff -up bash-4.1/builtins/mkbuiltins.c.requires bash-4.1/builtins/mkbuiltins.c #if !defined (HAVE_RENAME) static int rename (from, to) -diff -up bash-4.1/doc/bash.1.requires bash-4.1/doc/bash.1 ---- bash-4.1/doc/bash.1.requires 2010-08-02 17:42:41.000000000 +0200 -+++ bash-4.1/doc/bash.1 2010-08-02 18:09:27.000000000 +0200 -@@ -231,6 +231,14 @@ The shell becomes restricted (see +diff --git a/doc/bash.1 b/doc/bash.1 +index 9a7a384..1c738bb 100644 +--- a/doc/bash.1 ++++ b/doc/bash.1 +@@ -238,6 +238,14 @@ The shell becomes restricted (see .B "RESTRICTED SHELL" below). .TP @@ -102,12 +114,13 @@ diff -up bash-4.1/doc/bash.1.requires bash-4.1/doc/bash.1 +builtin are not parsed so some dependencies may be missed. +.TP .B --verbose - Equivalent to \fB-v\fP. + Equivalent to \fB-v\fP. .TP -diff -up bash-4.1/doc/bashref.texi.requires bash-4.1/doc/bashref.texi ---- bash-4.1/doc/bashref.texi.requires 2010-08-02 17:42:41.000000000 +0200 -+++ bash-4.1/doc/bashref.texi 2010-08-02 18:11:58.000000000 +0200 -@@ -5343,6 +5343,13 @@ standard. @xref{Bash POSIX Mode}, for a +diff --git a/doc/bashref.texi b/doc/bashref.texi +index c0f4a2f..8e30d4f 100644 +--- a/doc/bashref.texi ++++ b/doc/bashref.texi +@@ -6243,6 +6243,13 @@ standard. @xref{Bash POSIX Mode}, for a description of the Bash @item --restricted Make the shell a restricted shell (@pxref{The Restricted Shell}).
@@ -121,18 +134,19 @@ diff -up bash-4.1/doc/bashref.texi.requires bash-4.1/doc/bashref.texi @item --verbose Equivalent to @option{-v}. Print shell input lines as they're read.
-diff -up bash-4.1/eval.c.requires bash-4.1/eval.c ---- bash-4.1/eval.c.requires 2009-01-04 20:32:26.000000000 +0100 -+++ bash-4.1/eval.c 2010-08-02 17:42:41.000000000 +0200 -@@ -53,6 +53,7 @@ extern int last_command_exit_value, stdi - extern int need_here_doc; +diff --git a/eval.c b/eval.c +index db863e7..5a5af32 100644 +--- a/eval.c ++++ b/eval.c +@@ -56,6 +56,7 @@ extern int need_here_doc; extern int current_command_number, current_command_line_count, line_number; extern int expand_aliases; + extern char *ps0_prompt; +extern int rpm_requires;
#if defined (HAVE_POSIX_SIGNALS) extern sigset_t top_level_mask; -@@ -136,7 +137,7 @@ reader_loop () +@@ -148,7 +149,7 @@ reader_loop ()
if (read_command () == 0) { @@ -141,10 +155,11 @@ diff -up bash-4.1/eval.c.requires bash-4.1/eval.c { last_command_exit_value = EXECUTION_SUCCESS; dispose_command (global_command); -diff -up bash-4.1/execute_cmd.c.requires bash-4.1/execute_cmd.c ---- bash-4.1/execute_cmd.c.requires 2010-08-02 17:42:41.000000000 +0200 -+++ bash-4.1/execute_cmd.c 2010-08-02 17:42:41.000000000 +0200 -@@ -503,6 +503,8 @@ async_redirect_stdin () +diff --git a/execute_cmd.c b/execute_cmd.c +index 2a3df6d..2e3fb0c 100644 +--- a/execute_cmd.c ++++ b/execute_cmd.c +@@ -529,6 +529,8 @@ async_redirect_stdin ()
#define DESCRIBE_PID(pid) do { if (interactive) describe_pid (pid); } while (0)
@@ -153,7 +168,7 @@ diff -up bash-4.1/execute_cmd.c.requires bash-4.1/execute_cmd.c /* Execute the command passed in COMMAND, perhaps doing it asynchronously. COMMAND is exactly what read_command () places into GLOBAL_COMMAND. ASYNCHROUNOUS, if non-zero, says to do this command in the background. -@@ -534,7 +536,13 @@ execute_command_internal (command, async +@@ -561,7 +563,13 @@ execute_command_internal (command, asynchronous, pipe_in, pipe_out,
if (breaking || continuing) return (last_command_exit_value); @@ -168,7 +183,7 @@ diff -up bash-4.1/execute_cmd.c.requires bash-4.1/execute_cmd.c return (EXECUTION_SUCCESS);
QUIT; -@@ -5066,7 +5074,7 @@ execute_intern_function (name, function) +@@ -5609,7 +5617,7 @@ execute_intern_function (name, funcdef)
if (check_identifier (name, posixly_correct) == 0) { @@ -177,9 +192,10 @@ diff -up bash-4.1/execute_cmd.c.requires bash-4.1/execute_cmd.c { last_command_exit_value = EX_BADUSAGE; jump_to_top_level (ERREXIT); -diff -up bash-4.1/execute_cmd.h.requires bash-4.1/execute_cmd.h ---- bash-4.1/execute_cmd.h.requires 2009-01-16 22:20:15.000000000 +0100 -+++ bash-4.1/execute_cmd.h 2010-08-02 17:42:41.000000000 +0200 +diff --git a/execute_cmd.h b/execute_cmd.h +index 62bec82..d42dc85 100644 +--- a/execute_cmd.h ++++ b/execute_cmd.h @@ -22,6 +22,8 @@ #define _EXECUTE_CMD_H_
@@ -187,11 +203,12 @@ diff -up bash-4.1/execute_cmd.h.requires bash-4.1/execute_cmd.h +#include "variables.h" +#include "command.h"
- extern struct fd_bitmap *new_fd_bitmap __P((int)); - extern void dispose_fd_bitmap __P((struct fd_bitmap *)); -diff -up bash-4.1/make_cmd.c.requires bash-4.1/make_cmd.c ---- bash-4.1/make_cmd.c.requires 2009-09-11 23:26:12.000000000 +0200 -+++ bash-4.1/make_cmd.c 2010-08-02 17:42:41.000000000 +0200 + #if defined (ARRAY_VARS) + struct func_array_state +diff --git a/make_cmd.c b/make_cmd.c +index b42e9ff..95ec723 100644 +--- a/make_cmd.c ++++ b/make_cmd.c @@ -42,11 +42,15 @@ #include "flags.h" #include "make_cmd.h" @@ -208,18 +225,21 @@ diff -up bash-4.1/make_cmd.c.requires bash-4.1/make_cmd.c
#if defined (JOB_CONTROL) #include "jobs.h" -@@ -56,6 +60,10 @@ - +@@ -57,9 +61,13 @@ extern int line_number, current_command_line_count, parser_state; extern int last_command_exit_value; + extern int shell_initialized; +extern int rpm_requires; -+ + + int here_doc_first_line = 0; + +static char *alphabet_set = "abcdefghijklmnopqrstuvwxyz" + "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; - ++ /* Object caching */ sh_obj_cache_t wdcache = {0, 0, 0}; -@@ -820,6 +828,27 @@ make_coproc_command (name, command) + sh_obj_cache_t wlcache = {0, 0, 0}; +@@ -839,6 +847,27 @@ make_coproc_command (name, command) return (make_command (cm_coproc, (SIMPLE_COM *)temp)); }
@@ -247,7 +267,7 @@ diff -up bash-4.1/make_cmd.c.requires bash-4.1/make_cmd.c /* Reverse the word list and redirection list in the simple command has just been parsed. It seems simpler to do this here the one time then by any other method that I can think of. */ -@@ -837,6 +866,27 @@ clean_simple_command (command) +@@ -856,6 +885,27 @@ clean_simple_command (command) REVERSE_LIST (command->value.Simple->redirects, REDIRECT *); }
@@ -275,12 +295,13 @@ diff -up bash-4.1/make_cmd.c.requires bash-4.1/make_cmd.c parser_state &= ~PST_REDIRLIST; return (command); } -diff -up bash-4.1/shell.c.requires bash-4.1/shell.c ---- bash-4.1/shell.c.requires 2010-08-02 17:42:41.000000000 +0200 -+++ bash-4.1/shell.c 2010-08-02 17:42:41.000000000 +0200 -@@ -193,6 +193,9 @@ int have_devfd = 0; +diff --git a/shell.c b/shell.c +index 45b77f9..b43de50 100644 +--- a/shell.c ++++ b/shell.c +@@ -201,6 +201,9 @@ int have_devfd = 0; /* The name of the .(shell)rc file. */ - static char *bashrc_file = "~/.bashrc"; + static char *bashrc_file = DEFAULT_BASHRC;
+/* Non-zero if we are finding the scripts requirements. */ +int rpm_requires; @@ -288,7 +309,7 @@ diff -up bash-4.1/shell.c.requires bash-4.1/shell.c /* Non-zero means to act more like the Bourne shell on startup. */ static int act_like_sh;
-@@ -251,6 +254,7 @@ static const struct { +@@ -264,6 +267,7 @@ static const struct { { "protected", Int, &protected_mode, (char **)0x0 }, #endif { "rcfile", Charp, (int *)0x0, &bashrc_file }, @@ -296,7 +317,7 @@ diff -up bash-4.1/shell.c.requires bash-4.1/shell.c #if defined (RESTRICTED_SHELL) { "restricted", Int, &restricted, (char **)0x0 }, #endif -@@ -485,6 +489,12 @@ main (argc, argv, env) +@@ -500,6 +504,12 @@ main (argc, argv, env) if (dump_translatable_strings) read_but_dont_execute = 1;
diff --git a/bash/patches/bash43-001 b/bash/patches/bash43-001 deleted file mode 100644 index ea1c6b2..0000000 --- a/bash/patches/bash43-001 +++ /dev/null @@ -1,58 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-001 - -Bug-Reported-by: NBaH nbah@sfr.fr -Bug-Reference-ID: ler0b5$iu9$1@speranza.aioe.org -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-02/msg00092.html - -Bug-Description: - -A missing check for a valid option prevented `test -R' from working. There -is another problem that causes bash to look up the wrong variable name when -processing the argument to `test -R'. - -Patch (apply with `patch -p0'): - -*** ../bash-4.3/test.c 2014-02-04 16:52:58.000000000 -0500 ---- test.c 2014-02-28 21:22:44.000000000 -0500 -*************** -*** 647,652 **** - - case 'R': -! v = find_variable (arg); -! return (v && invisible_p (v) == 0 && var_isset (v) && nameref_p (v) ? TRUE : FALSE); - } - ---- 647,652 ---- - - case 'R': -! v = find_variable_noref (arg); -! return ((v && invisible_p (v) == 0 && var_isset (v) && nameref_p (v)) ? TRUE : FALSE); - } - -*************** -*** 724,727 **** ---- 724,728 ---- - case 'u': case 'v': case 'w': case 'x': case 'z': - case 'G': case 'L': case 'O': case 'S': case 'N': -+ case 'R': - return (1); - } -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 0 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 1 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/patches/bash43-002 b/bash/patches/bash43-002 deleted file mode 100644 index 735b7b8..0000000 --- a/bash/patches/bash43-002 +++ /dev/null @@ -1,62 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-002 - -Bug-Reported-by: Moe Tunes moetunes42@gmail.com -Bug-Reference-ID: 53103F49.3070100@gmail.com -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-02/msg00086.html - -Bug-Description: - -A change to save state while running the DEBUG trap caused pipelines to hang -on systems which need process group synchronization while building pipelines. - -Patch (apply with `patch -p0'): - -*** ../bash-4.3/trap.c 2014-02-05 10:03:21.000000000 -0500 ---- trap.c 2014-02-28 09:51:43.000000000 -0500 -*************** -*** 921,925 **** - - #if defined (JOB_CONTROL) -! save_pipeline (1); /* XXX only provides one save level */ - #endif - ---- 921,926 ---- - - #if defined (JOB_CONTROL) -! if (sig != DEBUG_TRAP) /* run_debug_trap does this */ -! save_pipeline (1); /* XXX only provides one save level */ - #endif - -*************** -*** 941,945 **** - - #if defined (JOB_CONTROL) -! restore_pipeline (1); - #endif - ---- 942,947 ---- - - #if defined (JOB_CONTROL) -! if (sig != DEBUG_TRAP) /* run_debug_trap does this */ -! restore_pipeline (1); - #endif - -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 1 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 2 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/patches/bash43-003 b/bash/patches/bash43-003 deleted file mode 100644 index 0f32f41..0000000 --- a/bash/patches/bash43-003 +++ /dev/null @@ -1,48 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-003 - -Bug-Reported-by: Anatol Pomozov anatol.pomozov@gmail.com -Bug-Reference-ID: CAOMFOmXy3mT2So5GQ5F-smCVArQuAeBwZ2QKzgCtMeXJoDeYOQ@mail.gmail.com -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2014-03/msg00010.html - -Bug-Description: - -When in callback mode, some readline commands can cause readline to seg -fault by passing invalid contexts to callback functions. - -Patch (apply with `patch -p0'): - -*** ../bash-4.3/lib/readline/readline.c 2013-10-28 14:58:06.000000000 -0400 ---- lib/readline/readline.c 2014-03-10 14:15:02.000000000 -0400 -*************** -*** 745,749 **** - - RL_CHECK_SIGNALS (); -! if (r == 0) /* success! */ - { - _rl_keyseq_chain_dispose (); ---- 745,750 ---- - - RL_CHECK_SIGNALS (); -! /* We only treat values < 0 specially to simulate recursion. */ -! if (r >= 0 || (r == -1 && (cxt->flags & KSEQ_SUBSEQ) == 0)) /* success! or failure! */ - { - _rl_keyseq_chain_dispose (); -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 2 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 3 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/patches/bash43-004 b/bash/patches/bash43-004 deleted file mode 100644 index 010f04a..0000000 --- a/bash/patches/bash43-004 +++ /dev/null @@ -1,47 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-004 - -Bug-Reported-by: Daan van Rossum daan@flash.uchicago.edu -Bug-Reference-ID: 20140307072523.GA14250@flash.uchicago.edu -Bug-Reference-URL: - -Bug-Description: - -The `.' command in vi mode cannot undo multi-key commands beginning with -`c', `d', and `y' (command plus motion specifier). - -Patch (apply with `patch -p0'): - -*** ../bash-4.3/lib/readline/readline.c 2013-10-28 14:58:06.000000000 -0400 ---- lib/readline/readline.c 2014-03-07 15:20:33.000000000 -0500 -*************** -*** 965,969 **** - if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap && - key != ANYOTHERKEY && -! rl_key_sequence_length == 1 && /* XXX */ - _rl_vi_textmod_command (key)) - _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign); ---- 965,969 ---- - if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap && - key != ANYOTHERKEY && -! _rl_dispatching_keymap == vi_movement_keymap && - _rl_vi_textmod_command (key)) - _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign); -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 3 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 4 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/patches/bash43-005 b/bash/patches/bash43-005 deleted file mode 100644 index bcd4069..0000000 --- a/bash/patches/bash43-005 +++ /dev/null @@ -1,63 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-005 - -Bug-Reported-by: David Sines dave.gma@googlemail.com -Bug-Reference-ID: CAO3BAa_CK_Rgkhdfzs+NJ4KFYdB9qW3pvXQK0xLCi6GMmDU8bw@mail.gmail.com -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00037.html - -Bug-Description: - -When in Posix mode, bash did not correctly interpret the ANSI-C-style -$'...' quoting mechanism when performing pattern substitution word -expansions within double quotes. - -Patch (apply with `patch -p0'): - -*** ../bash-4.3/parse.y 2014-02-11 09:42:10.000000000 -0500 ---- parse.y 2014-03-07 20:57:15.000000000 -0500 -*************** -*** 3399,3403 **** - unescaped double-quotes or single-quotes, if any, shall occur." */ - /* This was changed in Austin Group Interp 221 */ -! if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == ''') - continue; - ---- 3399,3403 ---- - unescaped double-quotes or single-quotes, if any, shall occur." */ - /* This was changed in Austin Group Interp 221 */ -! if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && dolbrace_state != DOLBRACE_QUOTE2 && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == ''') - continue; - -*** ../bash-4.3/y.tab.c 2014-02-11 10:57:47.000000000 -0500 ---- y.tab.c 2014-03-28 10:41:15.000000000 -0400 -*************** -*** 5711,5715 **** - unescaped double-quotes or single-quotes, if any, shall occur." */ - /* This was changed in Austin Group Interp 221 */ -! if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == ''') - continue; - ---- 5711,5715 ---- - unescaped double-quotes or single-quotes, if any, shall occur." */ - /* This was changed in Austin Group Interp 221 */ -! if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && dolbrace_state != DOLBRACE_QUOTE2 && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == ''') - continue; - -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 4 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 5 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/patches/bash43-006 b/bash/patches/bash43-006 deleted file mode 100644 index 24ff057..0000000 --- a/bash/patches/bash43-006 +++ /dev/null @@ -1,48 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-006 - -Bug-Reported-by: Eduardo A . Bustamante Lopez dualbus@gmail.com -Bug-Reference-ID: 20140228170013.GA16015@dualbus.me -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-02/msg00091.html - -Bug-Description: - -A shell that started with job control active but was not interactive left -the terminal in the wrong process group when exiting, causing its parent -shell to get a stop signal when it attempted to read from the terminal. - -Patch (apply with `patch -p0'): - -*** ../bash-4.3/jobs.c 2014-01-10 09:05:34.000000000 -0500 ---- jobs.c 2014-03-02 18:05:09.000000000 -0500 -*************** -*** 4375,4379 **** - end_job_control () - { -! if (interactive_shell) /* XXX - should it be interactive? */ - { - terminate_stopped_jobs (); ---- 4375,4379 ---- - end_job_control () - { -! if (interactive_shell || job_control) /* XXX - should it be just job_control? */ - { - terminate_stopped_jobs (); -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 5 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 6 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/patches/bash43-007 b/bash/patches/bash43-007 deleted file mode 100644 index 0d62c9e..0000000 --- a/bash/patches/bash43-007 +++ /dev/null @@ -1,50 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-007 - -Bug-Reported-by: geir.hauge@gmail.com -Bug-Reference-ID: 20140318093650.B181C1C5B0B@gina.itea.ntnu.no -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00095.html - -Bug-Description: - -Using compound assignments for associative arrays like - -assoc=( [x]= [y]=bar ) - -left the value corresponding to the key `x' NULL. This caused subsequent -lookups to interpret it as unset. - -Patch (apply with `patch -p0'): - -*** ../bash-4.3/arrayfunc.c 2013-08-02 16:19:59.000000000 -0400 ---- arrayfunc.c 2014-03-18 11:08:15.000000000 -0400 -*************** -*** 598,601 **** ---- 598,606 ---- - { - val = expand_assignment_string_to_string (val, 0); -+ if (val == 0) -+ { -+ val = (char *)xmalloc (1); -+ val[0] = '\0'; /* like do_assignment_internal */ -+ } - free_val = 1; - } -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 6 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 7 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/patches/bash43-008 b/bash/patches/bash43-008 deleted file mode 100644 index 0ae7c95..0000000 --- a/bash/patches/bash43-008 +++ /dev/null @@ -1,188 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-008 - -Bug-Reported-by: Stephane Chazelas stephane.chazelas@gmail.com -Bug-Reference-ID: 20140318135901.GB22158@chaz.gmail.com -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00098.html - -Bug-Description: - -Some extended glob patterns incorrectly matched filenames with a leading -dot, regardless of the setting of the `dotglob' option. - -Patch (apply with `patch -p0'): - -*** ../bash-4.3/lib/glob/gmisc.c 2013-10-28 14:45:25.000000000 -0400 ---- lib/glob/gmisc.c 2014-03-19 09:16:08.000000000 -0400 -*************** -*** 211,214 **** ---- 211,215 ---- - case '!': - case '@': -+ case '?': - return (pat[1] == LPAREN); - default: -*** ../bash-4.3/lib/glob/glob.c 2014-01-31 21:43:51.000000000 -0500 ---- lib/glob/glob.c 2014-03-20 09:01:26.000000000 -0400 -*************** -*** 180,202 **** - int flags; - { -! char *pp, *pe, *t; -! int n, r; - - pp = pat + 2; -! pe = pp + strlen (pp) - 1; /*(*/ -! if (*pe != ')') -! return 0; -! if ((t = strchr (pp, '|')) == 0) /* easy case first */ - { - *pe = '\0'; - r = skipname (pp, dname, flags); /*(*/ - *pe = ')'; - return r; - } - while (t = glob_patscan (pp, pe, '|')) - { - n = t[-1]; - t[-1] = '\0'; - r = skipname (pp, dname, flags); - t[-1] = n; - if (r == 0) /* if any pattern says not skip, we don't skip */ ---- 180,215 ---- - int flags; - { -! char *pp, *pe, *t, *se; -! int n, r, negate; - -+ negate = *pat == '!'; - pp = pat + 2; -! se = pp + strlen (pp) - 1; /* end of string */ -! pe = glob_patscan (pp, se, 0); /* end of extglob pattern (( */ -! /* we should check for invalid extglob pattern here */ -! /* if pe != se we have more of the pattern at the end of the extglob -! pattern. Check the easy case first ( */ -! if (pe == se && *pe == ')' && (t = strchr (pp, '|')) == 0) - { - *pe = '\0'; -+ #if defined (HANDLE_MULTIBYTE) -+ r = mbskipname (pp, dname, flags); -+ #else - r = skipname (pp, dname, flags); /*(*/ -+ #endif - *pe = ')'; - return r; - } -+ -+ /* check every subpattern */ - while (t = glob_patscan (pp, pe, '|')) - { - n = t[-1]; - t[-1] = '\0'; -+ #if defined (HANDLE_MULTIBYTE) -+ r = mbskipname (pp, dname, flags); -+ #else - r = skipname (pp, dname, flags); -+ #endif - t[-1] = n; - if (r == 0) /* if any pattern says not skip, we don't skip */ -*************** -*** 205,219 **** - } /*(*/ - -! if (pp == pe) /* glob_patscan might find end of pattern */ - return r; - -! *pe = '\0'; -! # if defined (HANDLE_MULTIBYTE) -! r = mbskipname (pp, dname, flags); /*(*/ -! # else -! r = skipname (pp, dname, flags); /*(*/ -! # endif -! *pe = ')'; -! return r; - } - #endif ---- 218,227 ---- - } /*(*/ - -! /* glob_patscan might find end of pattern */ -! if (pp == se) - return r; - -! /* but if it doesn't then we didn't match a leading dot */ -! return 0; - } - #endif -*************** -*** 278,289 **** - { - #if EXTENDED_GLOB -! wchar_t *pp, *pe, *t, n; -! int r; - - pp = pat + 2; -! pe = pp + wcslen (pp) - 1; /*(*/ -! if (*pe != L')') -! return 0; -! if ((t = wcschr (pp, L'|')) == 0) - { - *pe = L'\0'; ---- 286,298 ---- - { - #if EXTENDED_GLOB -! wchar_t *pp, *pe, *t, n, *se; -! int r, negate; - -+ negate = *pat == L'!'; - pp = pat + 2; -! se = pp + wcslen (pp) - 1; /*(*/ -! pe = glob_patscan_wc (pp, se, 0); -! -! if (pe == se && *pe == ')' && (t = wcschr (pp, L'|')) == 0) - { - *pe = L'\0'; -*************** -*** 292,295 **** ---- 301,306 ---- - return r; - } -+ -+ /* check every subpattern */ - while (t = glob_patscan_wc (pp, pe, '|')) - { -*************** -*** 306,313 **** - return r; - -! *pe = L'\0'; -! r = wchkname (pp, dname); /*(*/ -! *pe = L')'; -! return r; - #else - return (wchkname (pat, dname)); ---- 317,322 ---- - return r; - -! /* but if it doesn't then we didn't match a leading dot */ -! return 0; - #else - return (wchkname (pat, dname)); -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 7 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 8 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/patches/bash43-009 b/bash/patches/bash43-009 deleted file mode 100644 index 015835c..0000000 --- a/bash/patches/bash43-009 +++ /dev/null @@ -1,64 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-009 - -Bug-Reported-by: Matthias Klose doko@debian.org -Bug-Reference-ID: 53346FC8.6090005@debian.org -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00171.html - -Bug-Description: - -There is a problem with unsigned sign extension when attempting to reallocate -the input line when it is fewer than 3 characters long and there has been a -history expansion. The sign extension causes the shell to not reallocate the -line, which results in a segmentation fault when it writes past the end. - -Patch (apply with `patch -p0'): - -*** ../bash-4.3-patched/parse.y 2014-02-11 09:42:10.000000000 -0500 ---- parse.y 2014-03-27 16:33:29.000000000 -0400 -*************** -*** 2425,2429 **** - if (shell_input_line_terminator != EOF) - { -! if (shell_input_line_size < SIZE_MAX && shell_input_line_len > shell_input_line_size - 3) - shell_input_line = (char *)xrealloc (shell_input_line, - 1 + (shell_input_line_size += 2)); ---- 2425,2429 ---- - if (shell_input_line_terminator != EOF) - { -! if (shell_input_line_size < SIZE_MAX-3 && (shell_input_line_len+3 > shell_input_line_size)) - shell_input_line = (char *)xrealloc (shell_input_line, - 1 + (shell_input_line_size += 2)); -*** ../bash-4.3-patched/y.tab.c 2014-03-28 11:17:06.000000000 -0400 ---- y.tab.c 2014-04-07 11:48:31.000000000 -0400 -*************** -*** 4737,4741 **** - if (shell_input_line_terminator != EOF) - { -! if (shell_input_line_size < SIZE_MAX && shell_input_line_len > shell_input_line_size - 3) - shell_input_line = (char *)xrealloc (shell_input_line, - 1 + (shell_input_line_size += 2)); ---- 4737,4741 ---- - if (shell_input_line_terminator != EOF) - { -! if (shell_input_line_size < SIZE_MAX-3 && (shell_input_line_len+3 > shell_input_line_size)) - shell_input_line = (char *)xrealloc (shell_input_line, - 1 + (shell_input_line_size += 2)); -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 8 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 9 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/patches/bash43-010 b/bash/patches/bash43-010 deleted file mode 100644 index 835a96e..0000000 --- a/bash/patches/bash43-010 +++ /dev/null @@ -1,157 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-010 - -Bug-Reported-by: Albert Shih Albert.Shih@obspm.fr -Bug-Reference-ID: Wed, 5 Mar 2014 23:01:40 +0100 -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00028.html - -Bug-Description: - -Patch (apply with `patch -p0'): - -This patch changes the behavior of programmable completion to compensate -for two assumptions made by the bash-completion package. Bash-4.3 changed -to dequote the argument to programmable completion only under certain -circumstances, to make the behavior of compgen more consistent when run -from the command line -- closer to the behavior when run by a shell function -run as part of programmable completion. Bash-completion can pass quoted -arguments to compgen when the original word to be completed was not quoted, -expecting programmable completion to dequote the word before attempting -completion. - -This patch fixes two cases: - -1. An empty string that bash-completion passes to compgen as a quoted null - string (''). - -2. An unquoted word that bash-completion quotes using single quotes or - backslashes before passing it to compgen. - -In these cases, since readline did not detect a quote character in the original -word to be completed, bash-4.3 - -*** ../bash-4.3/externs.h 2014-01-02 14:58:20.000000000 -0500 ---- externs.h 2014-03-13 14:42:57.000000000 -0400 -*************** -*** 325,328 **** ---- 325,329 ---- - extern char *sh_backslash_quote_for_double_quotes __P((char *)); - extern int sh_contains_shell_metas __P((char *)); -+ extern int sh_contains_quotes __P((char *)); - - /* declarations for functions defined in lib/sh/spell.c */ -*** ../bash-4.3/lib/sh/shquote.c 2013-03-31 21:53:32.000000000 -0400 ---- lib/sh/shquote.c 2014-03-13 14:42:57.000000000 -0400 -*************** -*** 312,313 **** ---- 312,327 ---- - return (0); - } -+ -+ int -+ sh_contains_quotes (string) -+ char *string; -+ { -+ char *s; -+ -+ for (s = string; s && *s; s++) -+ { -+ if (*s == ''' || *s == '"' || *s == '\') -+ return 1; -+ } -+ return 0; -+ } -*** ../bash-4.3/pcomplete.c 2013-08-26 15:23:45.000000000 -0400 ---- pcomplete.c 2014-03-25 17:23:23.000000000 -0400 -*************** -*** 184,187 **** ---- 184,188 ---- - COMPSPEC *pcomp_curcs; - const char *pcomp_curcmd; -+ const char *pcomp_curtxt; - - #ifdef DEBUG -*************** -*** 754,757 **** ---- 755,784 ---- - dfn = (*rl_filename_dequoting_function) ((char *)text, rl_completion_quote_character); - } -+ /* Intended to solve a mismatched assumption by bash-completion. If -+ the text to be completed is empty, but bash-completion turns it into -+ a quoted string ('') assuming that this code will dequote it before -+ calling readline, do the dequoting. */ -+ else if (iscompgen && iscompleting && -+ pcomp_curtxt && *pcomp_curtxt == 0 && -+ text && (*text == ''' || *text == '"') && text[1] == text[0] && text[2] == 0 && -+ rl_filename_dequoting_function) -+ dfn = (*rl_filename_dequoting_function) ((char *)text, rl_completion_quote_character); -+ /* Another mismatched assumption by bash-completion. If compgen is being -+ run as part of bash-completion, and the argument to compgen is not -+ the same as the word originally passed to the programmable completion -+ code, dequote the argument if it has quote characters. It's an -+ attempt to detect when bash-completion is quoting its filename -+ argument before calling compgen. */ -+ /* We could check whether gen_shell_function_matches is in the call -+ stack by checking whether the gen-shell-function-matches tag is in -+ the unwind-protect stack, but there's no function to do that yet. -+ We could simply check whether we're executing in a function by -+ checking variable_context, and may end up doing that. */ -+ else if (iscompgen && iscompleting && rl_filename_dequoting_function && -+ pcomp_curtxt && text && -+ STREQ (pcomp_curtxt, text) == 0 && -+ variable_context && -+ sh_contains_quotes (text)) /* guess */ -+ dfn = (*rl_filename_dequoting_function) ((char *)text, rl_completion_quote_character); - else - dfn = savestring (text); -*************** -*** 1523,1527 **** - { - COMPSPEC *cs, *oldcs; -! const char *oldcmd; - STRINGLIST *ret; - ---- 1550,1554 ---- - { - COMPSPEC *cs, *oldcs; -! const char *oldcmd, *oldtxt; - STRINGLIST *ret; - -*************** -*** 1546,1552 **** ---- 1573,1581 ---- - oldcs = pcomp_curcs; - oldcmd = pcomp_curcmd; -+ oldtxt = pcomp_curtxt; - - pcomp_curcs = cs; - pcomp_curcmd = cmd; -+ pcomp_curtxt = word; - - ret = gen_compspec_completions (cs, cmd, word, start, end, foundp); -*************** -*** 1554,1557 **** ---- 1583,1587 ---- - pcomp_curcs = oldcs; - pcomp_curcmd = oldcmd; -+ pcomp_curtxt = oldtxt; - - /* We need to conditionally handle setting *retryp here */ -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 9 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 10 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/patches/bash43-011 b/bash/patches/bash43-011 deleted file mode 100644 index cdc1572..0000000 --- a/bash/patches/bash43-011 +++ /dev/null @@ -1,49 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-011 - -Bug-Reported-by: Egmont Koblinger egmont@gmail.com -Bug-Reference-ID: CAGWcZk+bU5Jo1M+tutGvL-250UBE9DXjpeJVofYJSFcqFEVfMg@mail.gmail.com -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00153.html - -Bug-Description: - -The signal handling changes to bash and readline (to avoid running any code -in a signal handler context) cause the cursor to be placed on the wrong -line of a multi-line command after a ^C interrupts editing. - -Patch (apply with `patch -p0'): - -*** ../bash-4.3-patched/lib/readline/display.c 2013-12-27 13:10:56.000000000 -0500 ---- lib/readline/display.c 2014-03-27 11:52:45.000000000 -0400 -*************** -*** 2678,2682 **** - if (_rl_echoing_p) - { -! _rl_move_vert (_rl_vis_botlin); - _rl_vis_botlin = 0; - fflush (rl_outstream); ---- 2678,2683 ---- - if (_rl_echoing_p) - { -! if (_rl_vis_botlin > 0) /* minor optimization plus bug fix */ -! _rl_move_vert (_rl_vis_botlin); - _rl_vis_botlin = 0; - fflush (rl_outstream); -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 10 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 11 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/patches/bash43-012 b/bash/patches/bash43-012 deleted file mode 100644 index 176fa15..0000000 --- a/bash/patches/bash43-012 +++ /dev/null @@ -1,43 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-012 - -Bug-Reported-by: Eduardo A. Bustamante Lópezdualbus@gmail.com -Bug-Reference-ID: 5346B54C.4070205@case.edu -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00051.html - -Bug-Description: - -When a SIGCHLD trap runs a command containing a shell builtin while -a script is running `wait' to wait for all running children to complete, -the SIGCHLD trap will not be run once for each child that terminates. - -Patch (apply with `patch -p0'): - -*** ../bash-4.3-patched/jobs.c 2014-03-28 10:54:19.000000000 -0400 ---- jobs.c 2014-04-15 08:47:03.000000000 -0400 -*************** -*** 3598,3601 **** ---- 3598,3602 ---- - unwind_protect_pointer (the_pipeline); - unwind_protect_pointer (subst_assign_varlist); -+ unwind_protect_pointer (this_shell_builtin); - - /* We have to add the commands this way because they will be run -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 11 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 12 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/patches/bash43-013 b/bash/patches/bash43-013 deleted file mode 100644 index 8f4006b..0000000 --- a/bash/patches/bash43-013 +++ /dev/null @@ -1,66 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-013 - -Bug-Reported-by: Trond.Endrestol@ximalas.info -Bug-Reference-ID: alpine.BSF.2.03.1404192114310.1973@enterprise.ximalas.info -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00069.html - -Bug-Description: - -Using reverse-i-search when horizontal scrolling is enabled does not redisplay -the entire line containing the successful search results. - -Patch (apply with `patch -p0'): -*** ../bash-4.3-patched/lib/readline/display.c 2014-04-08 18:19:36.000000000 -0400 ---- lib/readline/display.c 2014-04-20 18:32:52.000000000 -0400 -*************** -*** 1638,1642 **** - the spot of first difference is before the end of the invisible chars, - lendiff needs to be adjusted. */ -! if (current_line == 0 && !_rl_horizontal_scroll_mode && - current_invis_chars != visible_wrap_offset) - { ---- 1638,1642 ---- - the spot of first difference is before the end of the invisible chars, - lendiff needs to be adjusted. */ -! if (current_line == 0 && /* !_rl_horizontal_scroll_mode && */ - current_invis_chars != visible_wrap_offset) - { -*************** -*** 1826,1831 **** - _rl_last_c_pos += bytes_to_insert; - - if (_rl_horizontal_scroll_mode && ((oe-old) > (ne-new))) -! goto clear_rest_of_line; - } - } ---- 1826,1836 ---- - _rl_last_c_pos += bytes_to_insert; - -+ /* XXX - we only want to do this if we are at the end of the line -+ so we move there with _rl_move_cursor_relative */ - if (_rl_horizontal_scroll_mode && ((oe-old) > (ne-new))) -! { -! _rl_move_cursor_relative (ne-new, new); -! goto clear_rest_of_line; -! } - } - } -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 12 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 13 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/patches/bash43-014 b/bash/patches/bash43-014 deleted file mode 100644 index f837196..0000000 --- a/bash/patches/bash43-014 +++ /dev/null @@ -1,102 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-014 - -Bug-Reported-by: Greg Wooledge wooledg@eeg.ccf.org -Bug-Reference-ID: 20140418202123.GB7660@eeg.ccf.org -Bug-Reference-URL: http://lists.gnu.org/archive/html/help-bash/2014-04/msg00004.html - -Bug-Description: - -Under certain circumstances, $@ is expanded incorrectly in contexts where -word splitting is not performed. - -Patch (apply with `patch -p0'): -*** ../bash-4.3-patched/subst.c 2014-01-23 16:26:37.000000000 -0500 ---- subst.c 2014-04-19 15:41:26.000000000 -0400 -*************** -*** 3249,3254 **** ---- 3249,3256 ---- - return ((char *)NULL); - -+ expand_no_split_dollar_star = 1; - w->flags |= W_NOSPLIT2; - l = call_expand_word_internal (w, 0, 0, (int *)0, (int *)0); -+ expand_no_split_dollar_star = 0; - if (l) - { -*************** -*** 7848,7851 **** ---- 7850,7857 ---- - according to POSIX.2, this expands to a list of the positional - parameters no matter what IFS is set to. */ -+ /* XXX - what to do when in a context where word splitting is not -+ performed? Even when IFS is not the default, posix seems to imply -+ that we behave like unquoted $* ? Maybe we should use PF_NOSPLIT2 -+ here. */ - temp = string_list_dollar_at (list, (pflags & PF_ASSIGNRHS) ? (quoted|Q_DOUBLE_QUOTES) : quoted); - -*************** -*** 8817,8820 **** ---- 8823,8827 ---- - { - char *ifs_chars; -+ char *tstring; - - ifs_chars = (quoted_dollar_at || has_dollar_at) ? ifs_value : (char *)NULL; -*************** -*** 8831,8834 **** ---- 8838,8865 ---- - if (split_on_spaces) - list = list_string (istring, " ", 1); /* XXX quoted == 1? */ -+ /* If we have $@ (has_dollar_at != 0) and we are in a context where we -+ don't want to split the result (W_NOSPLIT2), and we are not quoted, -+ we have already separated the arguments with the first character of -+ $IFS. In this case, we want to return a list with a single word -+ with the separator possibly replaced with a space (it's what other -+ shells seem to do). -+ quoted_dollar_at is internal to this function and is set if we are -+ passed an argument that is unquoted (quoted == 0) but we encounter a -+ double-quoted $@ while expanding it. */ -+ else if (has_dollar_at && quoted_dollar_at == 0 && ifs_chars && quoted == 0 && (word->flags & W_NOSPLIT2)) -+ { -+ /* Only split and rejoin if we have to */ -+ if (*ifs_chars && *ifs_chars != ' ') -+ { -+ list = list_string (istring, *ifs_chars ? ifs_chars : " ", 1); -+ tstring = string_list (list); -+ } -+ else -+ tstring = istring; -+ tword = make_bare_word (tstring); -+ if (tstring != istring) -+ free (tstring); -+ goto set_word_flags; -+ } - else if (has_dollar_at && ifs_chars) - list = list_string (istring, *ifs_chars ? ifs_chars : " ", 1); -*************** -*** 8836,8839 **** ---- 8867,8871 ---- - { - tword = make_bare_word (istring); -+ set_word_flags: - if ((quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)) || (quoted_state == WHOLLY_QUOTED)) - tword->flags |= W_QUOTED; -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 13 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 14 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/patches/bash43-015 b/bash/patches/bash43-015 deleted file mode 100644 index 9c4e5ea..0000000 --- a/bash/patches/bash43-015 +++ /dev/null @@ -1,58 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-015 - -Bug-Reported-by: Clark Wang dearvoid@gmail.com -Bug-Reference-ID: CADv8-og2TOSoabXeNVXVGaXN3tEMHnYVq1rwOLe5meaRPSGRig@mail.gmail.com -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00095.html - -Bug-Description: - -When completing directory names, the directory name is dequoted twice. -This causes problems for directories with single and double quotes in -their names. - -Patch (apply with `patch -p0'): -*** ../bash-4.3-patched/bashline.c 2014-02-09 19:56:58.000000000 -0500 ---- bashline.c 2014-04-25 14:57:52.000000000 -0400 -*************** -*** 4168,4174 **** - - qc = rl_dispatching ? rl_completion_quote_character : 0; -! dfn = bash_dequote_filename ((char *)text, qc); - m1 = rl_completion_matches (dfn, rl_filename_completion_function); -! free (dfn); - - if (m1 == 0 || m1[0] == 0) ---- 4209,4222 ---- - - qc = rl_dispatching ? rl_completion_quote_character : 0; -! /* If rl_completion_found_quote != 0, rl_completion_matches will call the -! filename dequoting function, causing the directory name to be dequoted -! twice. */ -! if (rl_dispatching && rl_completion_found_quote == 0) -! dfn = bash_dequote_filename ((char *)text, qc); -! else -! dfn = (char *)text; - m1 = rl_completion_matches (dfn, rl_filename_completion_function); -! if (dfn != text) -! free (dfn); - - if (m1 == 0 || m1[0] == 0) -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 14 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 15 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/patches/bash43-016 b/bash/patches/bash43-016 deleted file mode 100644 index 882d593..0000000 --- a/bash/patches/bash43-016 +++ /dev/null @@ -1,132 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-016 - -Bug-Reported-by: Pierre Gaston pierre.gaston@gmail.com -Bug-Reference-ID: CAPSX3sTCD61k1VQLJ5r-LWzEt+e7Xc-fxXmwn2u8EA5gJJej8Q@mail.gmail.com -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00100.html - -Bug-Description: - -An extended glob pattern containing a slash (`/') causes the globbing code -to misinterpret it as a directory separator. - -Patch (apply with `patch -p0'): -*** ../bash-4.3-patched/lib/glob/glob.c 2014-03-28 10:54:23.000000000 -0400 ---- lib/glob/glob.c 2014-05-02 10:24:28.000000000 -0400 -*************** -*** 124,127 **** ---- 124,129 ---- - extern wchar_t *glob_patscan_wc __P((wchar_t *, wchar_t *, int)); - -+ extern char *glob_dirscan __P((char *, int)); -+ - /* Compile `glob_loop.c' for single-byte characters. */ - #define CHAR unsigned char -*************** -*** 188,191 **** ---- 190,196 ---- - pe = glob_patscan (pp, se, 0); /* end of extglob pattern (( */ - /* we should check for invalid extglob pattern here */ -+ if (pe == 0) -+ return 0; -+ - /* if pe != se we have more of the pattern at the end of the extglob - pattern. Check the easy case first ( */ -*************** -*** 1016,1020 **** - char **result; - unsigned int result_size; -! char *directory_name, *filename, *dname; - unsigned int directory_len; - int free_dirname; /* flag */ ---- 1021,1025 ---- - char **result; - unsigned int result_size; -! char *directory_name, *filename, *dname, *fn; - unsigned int directory_len; - int free_dirname; /* flag */ -*************** -*** 1032,1035 **** ---- 1037,1052 ---- - /* Find the filename. */ - filename = strrchr (pathname, '/'); -+ #if defined (EXTENDED_GLOB) -+ if (filename && extended_glob) -+ { -+ fn = glob_dirscan (pathname, '/'); -+ #if DEBUG_MATCHING -+ if (fn != filename) -+ fprintf (stderr, "glob_filename: glob_dirscan: fn (%s) != filename (%s)\n", fn ? fn : "(null)", filename); -+ #endif -+ filename = fn; -+ } -+ #endif -+ - if (filename == NULL) - { -*** ../bash-4.3-patched/lib/glob/gmisc.c 2014-03-28 10:54:23.000000000 -0400 ---- lib/glob/gmisc.c 2014-05-02 09:35:57.000000000 -0400 -*************** -*** 43,46 **** ---- 43,48 ---- - #define WRPAREN L')' - -+ extern char *glob_patscan __P((char *, char *, int)); -+ - /* Return 1 of the first character of WSTRING could match the first - character of pattern WPAT. Wide character version. */ -*************** -*** 376,377 **** ---- 378,410 ---- - return matlen; - } -+ -+ /* Skip characters in PAT and return the final occurrence of DIRSEP. This -+ is only called when extended_glob is set, so we have to skip over extglob -+ patterns x(...) */ -+ char * -+ glob_dirscan (pat, dirsep) -+ char *pat; -+ int dirsep; -+ { -+ char *p, *d, *pe, *se; -+ -+ d = pe = se = 0; -+ for (p = pat; p && *p; p++) -+ { -+ if (extglob_pattern_p (p)) -+ { -+ if (se == 0) -+ se = p + strlen (p) - 1; -+ pe = glob_patscan (p + 2, se, 0); -+ if (pe == 0) -+ continue; -+ else if (*pe == 0) -+ break; -+ p = pe - 1; /* will do increment above */ -+ continue; -+ } -+ if (*p == dirsep) -+ d = p; -+ } -+ return d; -+ } - -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 15 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 16 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/patches/bash43-017 b/bash/patches/bash43-017 deleted file mode 100644 index 4016fb9..0000000 --- a/bash/patches/bash43-017 +++ /dev/null @@ -1,51 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-017 - -Bug-Reported-by: Dan Douglas ormaaj@gmail.com -Bug-Reference-ID: 7781746.RhfoTROLxF@smorgbox -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-05/msg00026.html - -Bug-Description: - -The code that creates local variables should not clear the `invisible' -attribute when returning an existing local variable. Let the code that -actually assigns a value clear it. - -Patch (apply with `patch -p0'): -*** ../bash-4.3-patched/variables.c 2014-02-14 11:55:12.000000000 -0500 ---- variables.c 2014-05-07 10:53:57.000000000 -0400 -*************** -*** 2198,2205 **** - old_var = find_variable (name); - if (old_var && local_p (old_var) && old_var->context == variable_context) -! { -! VUNSETATTR (old_var, att_invisible); /* XXX */ -! return (old_var); -! } - - was_tmpvar = old_var && tempvar_p (old_var); ---- 2260,2264 ---- - old_var = find_variable (name); - if (old_var && local_p (old_var) && old_var->context == variable_context) -! return (old_var); - - was_tmpvar = old_var && tempvar_p (old_var); - -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 16 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 17 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/patches/bash43-018 b/bash/patches/bash43-018 deleted file mode 100644 index 39499f6..0000000 --- a/bash/patches/bash43-018 +++ /dev/null @@ -1,44 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-018 - -Bug-Reported-by: Geir Hauge geir.hauge@gmail.com -Bug-Reference-ID: CAO-BiTLOvfPXDypg61jcBausADrxUKJejakV2WTWP26cW0=rgA@mail.gmail.com -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-05/msg00040.html - -Bug-Description: - -When assigning an array variable using the compound assignment syntax, -but using `declare' with the rhs of the compound assignment quoted, the -shell did not mark the variable as visible after successfully performing -the assignment. - -Patch (apply with `patch -p0'): -*** ../bash-4.3-patched/arrayfunc.c 2014-03-28 10:54:21.000000000 -0400 ---- arrayfunc.c 2014-05-12 11:19:00.000000000 -0400 -*************** -*** 180,183 **** ---- 180,184 ---- - FREE (newval); - -+ VUNSETATTR (entry, att_invisible); /* no longer invisible */ - return (entry); - } - -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 17 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 18 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/patches/bash43-019 b/bash/patches/bash43-019 deleted file mode 100644 index a93714b..0000000 --- a/bash/patches/bash43-019 +++ /dev/null @@ -1,84 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-019 - -Bug-Reported-by: John Lenton -Bug-Reference-ID: -Bug-Reference-URL: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1317476 - -Bug-Description: - -The -t timeout option to `read' does not work when the -e option is used. - -Patch (apply with `patch -p0'): - -*** ../bash-4.3-patched/lib/readline/input.c 2014-01-10 15:07:08.000000000 -0500 ---- lib/readline/input.c 2014-05-22 18:40:59.000000000 -0400 -*************** -*** 535,540 **** ---- 538,551 ---- - else if (_rl_caught_signal == SIGHUP || _rl_caught_signal == SIGTERM) - return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF); -+ /* keyboard-generated signals of interest */ - else if (_rl_caught_signal == SIGINT || _rl_caught_signal == SIGQUIT) - RL_CHECK_SIGNALS (); -+ /* non-keyboard-generated signals of interest */ -+ else if (_rl_caught_signal == SIGALRM -+ #if defined (SIGVTALRM) -+ || _rl_caught_signal == SIGVTALRM -+ #endif -+ ) -+ RL_CHECK_SIGNALS (); - - if (rl_signal_event_hook) -*** ../bash-4.3-patched/builtins/read.def 2013-09-02 11:54:00.000000000 -0400 ---- builtins/read.def 2014-05-08 11:43:35.000000000 -0400 -*************** -*** 443,447 **** - #if defined (READLINE) - if (edit) -! add_unwind_protect (reset_attempted_completion_function, (char *)NULL); - #endif - falarm (tmsec, tmusec); ---- 443,450 ---- - #if defined (READLINE) - if (edit) -! { -! add_unwind_protect (reset_attempted_completion_function, (char *)NULL); -! add_unwind_protect (bashline_reset_event_hook, (char *)NULL); -! } - #endif - falarm (tmsec, tmusec); -*************** -*** 1022,1025 **** ---- 1025,1029 ---- - old_attempted_completion_function = rl_attempted_completion_function; - rl_attempted_completion_function = (rl_completion_func_t *)NULL; -+ bashline_set_event_hook (); - if (itext) - { -*************** -*** 1033,1036 **** ---- 1037,1041 ---- - rl_attempted_completion_function = old_attempted_completion_function; - old_attempted_completion_function = (rl_completion_func_t *)NULL; -+ bashline_reset_event_hook (); - - if (ret == 0) -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 18 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 19 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/patches/bash43-020 b/bash/patches/bash43-020 deleted file mode 100644 index 5f533ef..0000000 --- a/bash/patches/bash43-020 +++ /dev/null @@ -1,110 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-020 - -Bug-Reported-by: Jared Yanovich slovichon@gmail.com -Bug-Reference-ID: 20140417073654.GB26875@nightderanger.psc.edu -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00065.html - -Bug-Description: - -When PS2 contains a command substitution, here-documents entered in an -interactive shell can sometimes cause a segmentation fault. - -Patch (apply with `patch -p0'): - -*** ../bash-4.3-patched/shell.h 2012-12-25 21:11:01.000000000 -0500 ---- shell.h 2014-06-03 09:24:28.000000000 -0400 -*************** -*** 169,173 **** - int expand_aliases; - int echo_input_at_read; -! - } sh_parser_state_t; - ---- 169,174 ---- - int expand_aliases; - int echo_input_at_read; -! int need_here_doc; -! - } sh_parser_state_t; - -*** ../bash-4.3-patched/parse.y 2014-05-14 09:16:40.000000000 -0400 ---- parse.y 2014-04-30 09:27:59.000000000 -0400 -*************** -*** 2643,2647 **** - - r = 0; -! while (need_here_doc) - { - parser_state |= PST_HEREDOC; ---- 2643,2647 ---- - - r = 0; -! while (need_here_doc > 0) - { - parser_state |= PST_HEREDOC; -*************** -*** 6076,6079 **** ---- 6076,6080 ---- - ps->expand_aliases = expand_aliases; - ps->echo_input_at_read = echo_input_at_read; -+ ps->need_here_doc = need_here_doc; - - ps->token = token; -*************** -*** 6124,6127 **** ---- 6125,6129 ---- - expand_aliases = ps->expand_aliases; - echo_input_at_read = ps->echo_input_at_read; -+ need_here_doc = ps->need_here_doc; - - FREE (token); -*** ../bash-4.3-patched/y.tab.c 2014-04-07 11:56:12.000000000 -0400 ---- y.tab.c 2014-07-30 09:55:57.000000000 -0400 -*************** -*** 4955,4959 **** - - r = 0; -! while (need_here_doc) - { - parser_state |= PST_HEREDOC; ---- 5151,5155 ---- - - r = 0; -! while (need_here_doc > 0) - { - parser_state |= PST_HEREDOC; -*************** -*** 8388,8391 **** ---- 8584,8588 ---- - ps->expand_aliases = expand_aliases; - ps->echo_input_at_read = echo_input_at_read; -+ ps->need_here_doc = need_here_doc; - - ps->token = token; -*************** -*** 8436,8439 **** ---- 8633,8637 ---- - expand_aliases = ps->expand_aliases; - echo_input_at_read = ps->echo_input_at_read; -+ need_here_doc = ps->need_here_doc; - - FREE (token); -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 19 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 20 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/patches/bash43-021 b/bash/patches/bash43-021 deleted file mode 100644 index fd1c945..0000000 --- a/bash/patches/bash43-021 +++ /dev/null @@ -1,52 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-021 - -Bug-Reported-by: Jared Yanovich slovichon@gmail.com -Bug-Reference-ID: 20140625225019.GJ17044@nightderanger.psc.edu -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00070.html - -Bug-Description: - -When the readline `revert-all-at-newline' option is set, pressing newline -when the current line is one retrieved from history results in a double free -and a segmentation fault. - -Patch (apply with `patch -p0'): - -*** ../bash-4.3-patched/lib/readline/misc.c 2012-09-01 18:03:11.000000000 -0400 ---- lib/readline/misc.c 2014-06-30 13:41:19.000000000 -0400 -*************** -*** 462,465 **** ---- 462,466 ---- - /* Set up rl_line_buffer and other variables from history entry */ - rl_replace_from_history (entry, 0); /* entry->line is now current */ -+ entry->data = 0; /* entry->data is now current undo list */ - /* Undo all changes to this history entry */ - while (rl_undo_list) -*************** -*** 469,473 **** - FREE (entry->line); - entry->line = savestring (rl_line_buffer); -- entry->data = 0; - } - entry = previous_history (); ---- 470,473 ---- - -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 20 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 21 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/patches/bash43-022 b/bash/patches/bash43-022 deleted file mode 100644 index 7ce39ec..0000000 --- a/bash/patches/bash43-022 +++ /dev/null @@ -1,56 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-022 - -Bug-Reported-by: scorp.dev.null@gmail.com -Bug-Reference-ID: E1WxXw8-0007iE-Bi@pcm14 -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00061.html - -Bug-Description: - -Using nested pipelines within loops with the `lastpipe' option set can result -in a segmentation fault. - -Patch (apply with `patch -p0'): - -*** ../bash-4.3-patched/execute_cmd.c 2014-01-31 10:54:52.000000000 -0500 ---- execute_cmd.c 2014-06-19 08:05:49.000000000 -0400 -*************** -*** 2410,2414 **** - lstdin = wait_for (lastpid); - #if defined (JOB_CONTROL) -! exec_result = job_exit_status (lastpipe_jid); - #endif - unfreeze_jobs_list (); ---- 2425,2438 ---- - lstdin = wait_for (lastpid); - #if defined (JOB_CONTROL) -! /* If wait_for removes the job from the jobs table, use result of last -! command as pipeline's exit status as usual. The jobs list can get -! frozen and unfrozen at inconvenient times if there are multiple pipelines -! running simultaneously. */ -! if (INVALID_JOB (lastpipe_jid) == 0) -! exec_result = job_exit_status (lastpipe_jid); -! else if (pipefail_opt) -! exec_result = exec_result | lstdin; /* XXX */ -! /* otherwise we use exec_result */ -! - #endif - unfreeze_jobs_list (); -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 21 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 22 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/patches/bash43-023 b/bash/patches/bash43-023 deleted file mode 100644 index d1e4e9d..0000000 --- a/bash/patches/bash43-023 +++ /dev/null @@ -1,104 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-023 - -Bug-Reported-by: Tim Friske me@timfriske.com -Bug-Reference-ID: CAM1RzOcOR9zzC2i+aeES6LtbHNHoOV+0pZEYPrqxv_QAii-RXA@mail.gmail.com -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00056.html - -Bug-Description: - -Bash does not correctly parse process substitution constructs that contain -unbalanced parentheses as part of the contained command. - -Patch (apply with `patch -p0'): - -*** ../bash-4.3-patched/subst.h 2014-01-11 21:02:27.000000000 -0500 ---- subst.h 2014-07-20 17:25:01.000000000 -0400 -*************** -*** 83,87 **** - Start extracting at (SINDEX) as if we had just seen "<(". - Make (SINDEX) get the position just after the matching ")". */ -! extern char *extract_process_subst __P((char *, char *, int *)); - #endif /* PROCESS_SUBSTITUTION */ - ---- 83,87 ---- - Start extracting at (SINDEX) as if we had just seen "<(". - Make (SINDEX) get the position just after the matching ")". */ -! extern char *extract_process_subst __P((char *, char *, int *, int)); - #endif /* PROCESS_SUBSTITUTION */ - -*** ../bash-4.3-patched/subst.c 2014-05-15 08:26:45.000000000 -0400 ---- subst.c 2014-07-20 17:26:44.000000000 -0400 -*************** -*** 1193,1202 **** - Make (SINDEX) get the position of the matching ")". */ /*))*/ - char * -! extract_process_subst (string, starter, sindex) - char *string; - char *starter; - int *sindex; - { - return (extract_delimited_string (string, sindex, starter, "(", ")", SX_COMMAND)); - } - #endif /* PROCESS_SUBSTITUTION */ ---- 1193,1208 ---- - Make (SINDEX) get the position of the matching ")". */ /*))*/ - char * -! extract_process_subst (string, starter, sindex, xflags) - char *string; - char *starter; - int *sindex; -+ int xflags; - { -+ #if 0 - return (extract_delimited_string (string, sindex, starter, "(", ")", SX_COMMAND)); -+ #else -+ xflags |= (no_longjmp_on_fatal_error ? SX_NOLONGJMP : 0); -+ return (xparse_dolparen (string, string+*sindex, sindex, xflags)); -+ #endif - } - #endif /* PROCESS_SUBSTITUTION */ -*************** -*** 1786,1790 **** - if (string[si] == '\0') - CQ_RETURN(si); -! temp = extract_process_subst (string, (c == '<') ? "<(" : ">(", &si); - free (temp); /* no SX_ALLOC here */ - i = si; ---- 1792,1796 ---- - if (string[si] == '\0') - CQ_RETURN(si); -! temp = extract_process_subst (string, (c == '<') ? "<(" : ">(", &si, 0); - free (temp); /* no SX_ALLOC here */ - i = si; -*************** -*** 8250,8254 **** - t_index = sindex + 1; /* skip past both '<' and LPAREN */ - -! temp1 = extract_process_subst (string, (c == '<') ? "<(" : ">(", &t_index); /*))*/ - sindex = t_index; - ---- 8256,8260 ---- - t_index = sindex + 1; /* skip past both '<' and LPAREN */ - -! temp1 = extract_process_subst (string, (c == '<') ? "<(" : ">(", &t_index, 0); /*))*/ - sindex = t_index; - -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 22 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 23 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/patches/bash43-024 b/bash/patches/bash43-024 deleted file mode 100644 index a24b8fb..0000000 --- a/bash/patches/bash43-024 +++ /dev/null @@ -1,54 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-024 - -Bug-Reported-by: Corentin Peuvrel cpeuvrel@pom-monitoring.com -Bug-Reference-ID: 53CE9E5D.6050203@pom-monitoring.com -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-07/msg00021.html - -Bug-Description: - -Indirect variable references do not work correctly if the reference -variable expands to an array reference using a subscript other than 0 -(e.g., foo='bar[1]' ; echo ${!foo}). - -Patch (apply with `patch -p0'): - -*** ../bash-4.3-patched/subst.c 2014-06-03 09:32:44.000000000 -0400 ---- subst.c 2014-07-23 09:58:19.000000000 -0400 -*************** -*** 7375,7379 **** - - if (want_indir) -! tdesc = parameter_brace_expand_indir (name + 1, var_is_special, quoted, quoted_dollar_atp, contains_dollar_at); - else - tdesc = parameter_brace_expand_word (name, var_is_special, quoted, PF_IGNUNBOUND|(pflags&(PF_NOSPLIT2|PF_ASSIGNRHS)), &ind); ---- 7445,7455 ---- - - if (want_indir) -! { -! tdesc = parameter_brace_expand_indir (name + 1, var_is_special, quoted, quoted_dollar_atp, contains_dollar_at); -! /* Turn off the W_ARRAYIND flag because there is no way for this function -! to return the index we're supposed to be using. */ -! if (tdesc && tdesc->flags) -! tdesc->flags &= ~W_ARRAYIND; -! } - else - tdesc = parameter_brace_expand_word (name, var_is_special, quoted, PF_IGNUNBOUND|(pflags&(PF_NOSPLIT2|PF_ASSIGNRHS)), &ind); -*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 23 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 24 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/bash/patches/bash43-025 b/bash/patches/bash43-025 deleted file mode 100644 index 721aca0..0000000 --- a/bash/patches/bash43-025 +++ /dev/null @@ -1,123 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-025 - -Bug-Reported-by: Stephane Chazelas stephane.chazelas@gmail.com -Bug-Reference-ID: -Bug-Reference-URL: - -Bug-Description: - -Under certain circumstances, bash will execute user code while processing the -environment for exported function definitions. - -Patch (apply with `patch -p0'): - -*** ../bash-4.3-patched/builtins/common.h 2013-07-08 16:54:47.000000000 -0400 ---- builtins/common.h 2014-09-12 14:25:47.000000000 -0400 -*************** -*** 34,37 **** ---- 49,54 ---- - #define SEVAL_PARSEONLY 0x020 - #define SEVAL_NOLONGJMP 0x040 -+ #define SEVAL_FUNCDEF 0x080 /* only allow function definitions */ -+ #define SEVAL_ONECMD 0x100 /* only allow a single command */ - - /* Flags for describe_command, shared between type.def and command.def */ -*** ../bash-4.3-patched/builtins/evalstring.c 2014-02-11 09:42:10.000000000 -0500 ---- builtins/evalstring.c 2014-09-14 14:15:13.000000000 -0400 -*************** -*** 309,312 **** ---- 313,324 ---- - struct fd_bitmap *bitmap; - -+ if ((flags & SEVAL_FUNCDEF) && command->type != cm_function_def) -+ { -+ internal_warning ("%s: ignoring function definition attempt", from_file); -+ should_jump_to_top_level = 0; -+ last_result = last_command_exit_value = EX_BADUSAGE; -+ break; -+ } -+ - bitmap = new_fd_bitmap (FD_BITMAP_SIZE); - begin_unwind_frame ("pe_dispose"); -*************** -*** 369,372 **** ---- 381,387 ---- - dispose_fd_bitmap (bitmap); - discard_unwind_frame ("pe_dispose"); -+ -+ if (flags & SEVAL_ONECMD) -+ break; - } - } -*** ../bash-4.3-patched/variables.c 2014-05-15 08:26:50.000000000 -0400 ---- variables.c 2014-09-14 14:23:35.000000000 -0400 -*************** -*** 359,369 **** - strcpy (temp_string + char_index + 1, string); - -! if (posixly_correct == 0 || legal_identifier (name)) -! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST); -! -! /* Ancient backwards compatibility. Old versions of bash exported -! functions like name()=() {...} */ -! if (name[char_index - 1] == ')' && name[char_index - 2] == '(') -! name[char_index - 2] = '\0'; - - if (temp_var = find_function (name)) ---- 364,372 ---- - strcpy (temp_string + char_index + 1, string); - -! /* Don't import function names that are invalid identifiers from the -! environment, though we still allow them to be defined as shell -! variables. */ -! if (legal_identifier (name)) -! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD); - - if (temp_var = find_function (name)) -*************** -*** 382,389 **** - report_error (_("error importing function definition for `%s'"), name); - }