From 4ea4fdf26b9b0580df9ed4ac5315982f4fd55f0a Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Fri, 16 Sep 2016 11:10:58 +0000 Subject: [PATCH] . OBS-URL: https://build.opensuse.org/package/show/Base:System/bash?expand=0&rev=220 --- baselibs.conf | 5 +- bash-2.03-manual.patch | 20 ++- bash-3.0-evalexp.patch | 6 +- bash-3.0-warn-locale.patch | 8 +- bash-3.2-longjmp.dif | 43 ----- bash-3.2-printf.patch | 8 +- bash-4.0-async-bnc523667.dif | 12 +- bash-4.0-security.patch | 10 +- bash-4.0-setlocale.dif | 8 +- bash-4.1-bash.bashrc.dif | 14 +- bash-4.1-completion.dif | 8 +- bash-4.2-endpw.dif | 39 ++--- bash-4.2-nscdunmap.dif | 24 +-- bash-4.3-2.4.4.patch | 31 ++-- bash-4.3-async-bnc971410.dif | 25 --- bash-4.3-decl.patch | 4 + bash-4.3-extra-import-func.patch | 130 +++++++------- bash-4.3-headers.dif | 76 -------- bash-4.3-include-unistd.dif | 10 +- bash-4.3-loadables.dif | 249 +++------------------------ bash-4.3-patches.tar.bz2 | 3 - bash-4.3-pathtemp.patch | 14 +- bash-4.3-perl522.patch | 5 +- bash-4.3-sigrestart.patch | 8 +- bash-4.3-winch.dif | 8 +- bash-4.3.tar.gz | 3 - bash-4.4-patches.tar.bz2 | 3 + bash-4.3.dif => bash-4.4.dif | 162 ++++++++--------- bash-4.4.tar.gz | 3 + bash.changes | 201 +++++++++++++++++++-- bash.spec | 102 +++++------ man2html-no-timestamp.patch | 12 +- readline-5.2-conf.patch | 20 ++- readline-6.1-wrap.patch | 14 -- readline-6.2-endpw.dif | 65 +------ readline-6.2-metamode.patch | 7 +- readline-6.2-xmalloc.dif | 6 + readline-6.3-destdir.patch | 5 + readline-6.3-input.dif | 13 +- readline-6.3-patches.tar.bz2 | 3 - readline-6.3-rltrace.patch | 10 +- readline-6.3.tar.gz | 3 - readline-7.0-patches.tar.bz2 | 3 + readline-6.3.dif => readline-7.0.dif | 55 +++--- readline-7.0.tar.gz | 3 + run-tests | 13 +- 46 files changed, 645 insertions(+), 829 deletions(-) delete mode 100644 bash-3.2-longjmp.dif delete mode 100644 bash-4.3-async-bnc971410.dif delete mode 100644 bash-4.3-headers.dif delete mode 100644 bash-4.3-patches.tar.bz2 delete mode 100644 bash-4.3.tar.gz create mode 100644 bash-4.4-patches.tar.bz2 rename bash-4.3.dif => bash-4.4.dif (67%) create mode 100644 bash-4.4.tar.gz delete mode 100644 readline-6.1-wrap.patch delete mode 100644 readline-6.3-patches.tar.bz2 delete mode 100644 readline-6.3.tar.gz create mode 100644 readline-7.0-patches.tar.bz2 rename readline-6.3.dif => readline-7.0.dif (73%) create mode 100644 readline-7.0.tar.gz diff --git a/baselibs.conf b/baselibs.conf index f50d6e5d..8496839b 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,4 +1,4 @@ -libreadline6 +libreadline7 obsoletes "readline- <= " provides "readline- = " targettype x86 package bash @@ -7,5 +7,6 @@ targettype x86 package bash prereq -glibc-x86 readline-devel requires -readline- - requires "libreadline6- = " + requires "libreadline7- = " conflicts "readline5-devel-" + conflicts "readline6-devel-" diff --git a/bash-2.03-manual.patch b/bash-2.03-manual.patch index 3eabc02c..ee2c1318 100644 --- a/bash-2.03-manual.patch +++ b/bash-2.03-manual.patch @@ -1,6 +1,12 @@ +--- + doc/bash.1 | 16 ++++++++++++++++ + doc/builtins.1 | 2 +- + doc/rbash.1 | 2 +- + 3 files changed, 18 insertions(+), 2 deletions(-) + --- doc/bash.1 -+++ doc/bash.1 2004-10-25 17:29:54.000000000 +0000 -@@ -115,6 +115,12 @@ processing, then commands are read from ++++ doc/bash.1 2016-09-16 10:36:46.667901616 +0000 +@@ -121,6 +121,12 @@ processing, then commands are read from This option allows the positional parameters to be set when invoking an interactive shell. .TP @@ -13,7 +19,7 @@ .B \-D A list of all double-quoted strings preceded by \fB$\fP is printed on the standard output. -@@ -6211,6 +6217,11 @@ Apply the following `\fBs\fP' modifier o +@@ -7038,6 +7044,11 @@ Apply the following `\fBs\fP' modifier o .SH "SHELL BUILTIN COMMANDS" .\" start of bash_builtins .zZ @@ -25,7 +31,7 @@ .PP Unless otherwise noted, each builtin command documented in this section as accepting options preceded by -@@ -9205,6 +9216,11 @@ process or job waited for. +@@ -10432,6 +10443,11 @@ process or job waited for. .SH "RESTRICTED SHELL" .\" rbash.1 .zY @@ -38,8 +44,8 @@ If .B bash --- doc/builtins.1 -+++ doc/builtins.1 2004-10-25 17:29:20.000000000 +0000 -@@ -12,6 +12,6 @@ shift, shopt, source, suspend, test, tim ++++ doc/builtins.1 2016-09-16 10:36:46.667901616 +0000 +@@ -19,6 +19,6 @@ shift, shopt, source, suspend, test, tim ulimit, umask, unalias, unset, wait \- bash built-in commands, see \fBbash\fR(1) .SH BASH BUILTIN COMMANDS .nr zZ 1 @@ -48,7 +54,7 @@ .SH SEE ALSO bash(1), sh(1) --- doc/rbash.1 -+++ doc/rbash.1 2004-10-25 17:29:20.000000000 +0000 ++++ doc/rbash.1 2016-09-16 10:36:46.667901616 +0000 @@ -3,6 +3,6 @@ rbash \- restricted bash, see \fBbash\fR(1) .SH RESTRICTED SHELL diff --git a/bash-3.0-evalexp.patch b/bash-3.0-evalexp.patch index 44c0f865..ddd73023 100644 --- a/bash-3.0-evalexp.patch +++ b/bash-3.0-evalexp.patch @@ -1,6 +1,10 @@ +--- + expr.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + --- expr.c +++ expr.c 2004-07-30 14:39:48.000000000 +0000 -@@ -410,8 +410,8 @@ expassign () +@@ -466,8 +466,8 @@ expassign () value = expcond (); if (curtok == EQ || curtok == OP_ASSIGN) { diff --git a/bash-3.0-warn-locale.patch b/bash-3.0-warn-locale.patch index ccb08a65..e2c37bad 100644 --- a/bash-3.0-warn-locale.patch +++ b/bash-3.0-warn-locale.patch @@ -1,6 +1,10 @@ +--- + locale.c | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + --- locale.c +++ locale.c 2004-09-03 10:56:10.000000000 +0000 -@@ -29,6 +29,10 @@ +@@ -33,6 +33,10 @@ #include "bashintl.h" #include "bashansi.h" #include @@ -11,7 +15,7 @@ #include "chartypes.h" #include -@@ -68,6 +72,15 @@ void +@@ -76,6 +80,15 @@ void set_default_locale () { #if defined (HAVE_SETLOCALE) diff --git a/bash-3.2-longjmp.dif b/bash-3.2-longjmp.dif deleted file mode 100644 index 9beb0971..00000000 --- a/bash-3.2-longjmp.dif +++ /dev/null @@ -1,43 +0,0 @@ ---- execute_cmd.c -+++ execute_cmd.c 2008-04-28 01:38:19.000000000 +0000 -@@ -25,6 +25,7 @@ - #endif /* _AIX && RISC6000 && !__GNUC__ */ - - #include -+#include - #include "chartypes.h" - #include "bashtypes.h" - #if !defined (_MINIX) && defined (HAVE_SYS_FILE_H) -@@ -4764,6 +4765,23 @@ shell_execve (command, args, env) - /* We have committed to attempting to execute the contents of this file - as shell commands. */ - -+#if defined(BNC382214) && (BNC382214 == 1) -+ larray = strvec_len(args) + 1; -+ args = strvec_resize(args, larray + 1); -+ -+ for (i = larray - 1; i; i--) -+ args[i] = args[i - 1]; -+ -+ args[0] = current_user.shell ? current_user.shell : savestring(_PATH_BSHELL); -+ args[1] = command; -+ args[larray] = (char *)0; -+ -+ SETOSTYPE (0); /* Some systems use for USG/POSIX semantics */ -+ execve (args[0], args, env); -+ SETOSTYPE (1); -+ -+ internal_error (_("%s: cannot execute: %s"), command, strerror (errno)); -+#else - initialize_subshell (); - - set_sigint_handler (); -@@ -4806,6 +4824,8 @@ shell_execve (command, args, env) - - longjmp (subshell_top_level, 1); - /*NOTREACHED*/ -+#endif -+ return (EX_NOEXEC); - } - - static int diff --git a/bash-3.2-printf.patch b/bash-3.2-printf.patch index b3fce311..f7448e4c 100644 --- a/bash-3.2-printf.patch +++ b/bash-3.2-printf.patch @@ -1,6 +1,10 @@ +--- + builtins/printf.def | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + --- builtins/printf.def +++ builtins/printf.def 2006-07-27 15:11:19.000000000 +0000 -@@ -47,6 +47,7 @@ error occurs. +@@ -54,6 +54,7 @@ error occurs. $END #include @@ -8,7 +12,7 @@ #include "../bashtypes.h" -@@ -529,12 +530,20 @@ printf_builtin (list) +@@ -654,12 +655,20 @@ printf_builtin (list) case 'A': #endif { diff --git a/bash-4.0-async-bnc523667.dif b/bash-4.0-async-bnc523667.dif index 1b4e1620..7513f5d1 100644 --- a/bash-4.0-async-bnc523667.dif +++ b/bash-4.0-async-bnc523667.dif @@ -1,6 +1,10 @@ +--- + jobs.c | 2 ++ + 1 file changed, 2 insertions(+) + --- jobs.c -+++ jobs.c 2009-09-09 17:38:46.286401756 +0200 -@@ -626,6 +626,7 @@ stop_pipeline (async, deferred) ++++ jobs.c 2009-09-09 15:38:46.286401756 +0000 +@@ -681,6 +681,7 @@ stop_pipeline (async, deferred) if (newjob) { newjob->flags |= J_FOREGROUND; @@ -8,9 +12,9 @@ /* * !!!!! NOTE !!!!! (chet@ins.cwru.edu) * -@@ -640,6 +641,7 @@ stop_pipeline (async, deferred) +@@ -696,6 +697,7 @@ stop_pipeline (async, deferred) */ - if (job_control && newjob->pgrp && (subshell_environment&SUBSHELL_ASYNC) == 0) + if (job_control && newjob->pgrp && (subshell_environment&SUBSHELL_ASYNC) == 0 && running_in_background == 0) maybe_give_terminal_to (shell_pgrp, newjob->pgrp, 0); +#endif } diff --git a/bash-4.0-security.patch b/bash-4.0-security.patch index aac37da2..db3ff05e 100644 --- a/bash-4.0-security.patch +++ b/bash-4.0-security.patch @@ -1,6 +1,10 @@ +--- + variables.c | 27 +++++++++++++++++++++++++++ + 1 file changed, 27 insertions(+) + --- variables.c -+++ variables.c 2009-12-04 09:31:06.579929599 +0000 -@@ -1216,6 +1216,7 @@ static unsigned long rseed = 1; ++++ variables.c 2016-09-14 08:51:32.306631046 +0000 +@@ -1300,6 +1300,7 @@ static unsigned long rseed = 1; static int last_random_value; static int seeded_subshell = 0; @@ -8,7 +12,7 @@ /* A linear congruential random number generator based on the example one in the ANSI C standard. This one isn't very good, but a more complicated one is overkill. */ -@@ -1264,6 +1265,32 @@ seedrand () +@@ -1344,6 +1345,32 @@ seedrand () sbrand (tv.tv_sec ^ tv.tv_usec ^ getpid ()); } diff --git a/bash-4.0-setlocale.dif b/bash-4.0-setlocale.dif index ea8ff3de..d789178e 100644 --- a/bash-4.0-setlocale.dif +++ b/bash-4.0-setlocale.dif @@ -1,6 +1,10 @@ +--- + locale.c | 21 ++++++++++++++++----- + 1 file changed, 16 insertions(+), 5 deletions(-) + --- locale.c +++ locale.c 2008-11-25 13:41:50.000000000 +0000 -@@ -47,6 +47,7 @@ extern int dump_translatable_strings, du +@@ -54,6 +54,7 @@ extern int dump_translatable_strings, du /* The current locale when the program begins */ static char *default_locale; @@ -8,7 +12,7 @@ /* The current domain for textdomain(3). */ static char *default_domain; -@@ -314,11 +315,21 @@ get_locale_var (var) +@@ -326,11 +327,21 @@ get_locale_var (var) if (locale == 0 || *locale == 0) locale = lang; if (locale == 0 || *locale == 0) diff --git a/bash-4.1-bash.bashrc.dif b/bash-4.1-bash.bashrc.dif index 7a5243f6..dde7ca78 100644 --- a/bash-4.1-bash.bashrc.dif +++ b/bash-4.1-bash.bashrc.dif @@ -16,21 +16,21 @@ |other files as well even if the bash does not. | --- - bash.1 | 15 ++++++++++++--- + doc/bash.1 | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) --- doc/bash.1 -+++ doc/bash.1 2016-08-01 12:40:06.771618500 +0000 -@@ -324,6 +324,8 @@ and executes commands from the first one ++++ doc/bash.1 2016-08-01 13:54:54.253999110 +0000 +@@ -329,6 +329,8 @@ and executes commands from the first one The .B \-\-noprofile option may be used when the shell is started to inhibit this behavior. +Please note that the file \fI/etc/profile\fP includes an autodetection shell +code wether it has to source \fI/etc/bash.bashrc\fP as well as \fI~/.bashrc\fP. .PP - When a login shell exits, - .B bash -@@ -332,13 +334,19 @@ exists. + When an interactive login shell exits, + or a non-interactive login shell executes the \fBexit\fP builtin command, +@@ -338,13 +340,19 @@ exists. .PP When an interactive shell that is not a login shell is started, .B bash @@ -52,7 +52,7 @@ .PP When .B bash -@@ -424,7 +432,8 @@ daemon, usually \fIrshd\fP, or the secur +@@ -430,7 +438,8 @@ daemon, usually \fIrshd\fP, or the secur If .B bash determines it is being run in this fashion, it reads and executes diff --git a/bash-4.1-completion.dif b/bash-4.1-completion.dif index cd613ebc..d348c5a1 100644 --- a/bash-4.1-completion.dif +++ b/bash-4.1-completion.dif @@ -1,6 +1,10 @@ +--- + bashline.c | 7 +++++++ + 1 file changed, 7 insertions(+) + --- bashline.c -+++ bashline.c 2010-03-09 14:11:27.612626475 +0000 -@@ -1700,6 +1700,13 @@ globword: ++++ bashline.c 2016-09-14 08:54:09.315700369 +0000 +@@ -2029,6 +2029,13 @@ globword: return ((char *)NULL); } diff --git a/bash-4.2-endpw.dif b/bash-4.2-endpw.dif index fc2f41bf..0b50863a 100644 --- a/bash-4.2-endpw.dif +++ b/bash-4.2-endpw.dif @@ -1,6 +1,14 @@ +--- + bashline.c | 1 + + examples/loadables/finfo.c | 16 ++++++++++------ + examples/loadables/id.c | 37 +++++++++++++++++++++++++------------ + lib/tilde/shell.c | 9 +++++++++ + lib/tilde/tilde.c | 1 + + 5 files changed, 46 insertions(+), 18 deletions(-) + --- bashline.c +++ bashline.c 2011-11-21 12:41:19.831646479 +0000 -@@ -2149,6 +2149,7 @@ bash_groupname_completion_function (text +@@ -2485,6 +2485,7 @@ bash_groupname_completion_function (text } value = savestring (grent->gr_name); @@ -10,7 +18,7 @@ } --- examples/loadables/finfo.c +++ examples/loadables/finfo.c 2011-11-21 12:23:17.331147246 +0000 -@@ -269,6 +269,7 @@ struct stat *st; +@@ -290,6 +290,7 @@ struct stat *st; pw = getpwuid(st->st_uid); owner = pw ? pw->pw_name : "unknown"; printf("Uid of owner: %d (%s)\n", (int) st->st_uid, owner); @@ -18,7 +26,7 @@ gr = getgrgid(st->st_gid); owner = gr ? gr->gr_name : "unknown"; printf("Gid of owner: %d (%s)\n", (int) st->st_gid, owner); -@@ -277,6 +278,7 @@ struct stat *st; +@@ -298,6 +299,7 @@ struct stat *st; printf("File last access time: %s", ctime (&st->st_atime)); printf("File last modify time: %s", ctime (&st->st_mtime)); printf("File last status change time: %s", ctime (&st->st_ctime)); @@ -26,7 +34,7 @@ fflush(stdout); return(0); } -@@ -345,16 +347,18 @@ int flags; +@@ -366,16 +368,18 @@ int flags; else if (flags & OPT_PMASK) printf("%o\n", getperm(st->st_mode) & pmask); else if (flags & OPT_UID) { @@ -156,29 +164,6 @@ char * get_env_value (varname) char *varname; -@@ -58,12 +67,19 @@ get_env_value (varname) - char * - get_home_dir () - { -- char *home_dir; -+ static char *home_dir; - struct passwd *entry; - -- home_dir = (char *)NULL; -+ if (home_dir) -+ goto out; -+#if defined (HAVE_GETPWUID) - entry = getpwuid (getuid ()); - if (entry) -- home_dir = entry->pw_dir; -+ home_dir = savestring(entry->pw_dir); -+#endif -+#if defined (HAVE_GETPWENT) -+ endpwent (); -+#endif -+out: - return (home_dir); - } --- lib/tilde/tilde.c +++ lib/tilde/tilde.c 2011-11-11 13:10:07.000000000 +0000 @@ -61,6 +61,7 @@ extern struct passwd *getpwuid PARAMS((u diff --git a/bash-4.2-nscdunmap.dif b/bash-4.2-nscdunmap.dif index a39f6e64..539a136d 100644 --- a/bash-4.2-nscdunmap.dif +++ b/bash-4.2-nscdunmap.dif @@ -1,17 +1,19 @@ +--- + shell.c | 24 ++++++++++++++++++++++++ + 1 file changed, 24 insertions(+) + --- shell.c -+++ shell.c 2011-11-11 15:08:39.479158014 +0000 -@@ -39,8 +39,8 @@ - #include - #include "filecntl.h" - #include -- ++++ shell.c 2016-09-14 08:54:32.971258862 +0000 +@@ -43,6 +43,7 @@ + #endif + #if defined (HAVE_UNISTD_H) +# include # include #endif -@@ -1630,6 +1630,28 @@ init_interactive_script () - expand_aliases = interactive_shell = startup_state = 1; +@@ -1751,6 +1752,28 @@ init_interactive_script () + #endif } +static void @@ -39,10 +41,10 @@ void get_current_user_info () { -@@ -1655,6 +1677,7 @@ get_current_user_info () - current_user.home_dir = savestring ("/"); - } +@@ -1782,6 +1805,7 @@ get_current_user_info () + #if defined (HAVE_GETPWENT) endpwent (); + #endif + maybe_unmap_nscd (); } } diff --git a/bash-4.3-2.4.4.patch b/bash-4.3-2.4.4.patch index f0c8dfb4..8335bdf4 100644 --- a/bash-4.3-2.4.4.patch +++ b/bash-4.3-2.4.4.patch @@ -1,6 +1,15 @@ +--- + array.c | 2 +- + examples/loadables/tee.c | 3 ++- + hashlib.c | 2 +- + jobs.c | 9 +++++++++ + sig.c | 4 ++-- + sig.h | 4 ++-- + 6 files changed, 17 insertions(+), 7 deletions(-) + --- array.c -+++ array.c 2006-11-14 09:54:22.000000000 +0000 -@@ -940,7 +940,7 @@ char *s, *sep; ++++ array.c 2016-09-16 10:37:12.179427118 +0000 +@@ -946,7 +946,7 @@ char *s, *sep; * To make a running version, compile -DTEST_ARRAY and link with: * xmalloc.o syntax.o lib/malloc/libmalloc.a lib/sh/libsh.a */ @@ -10,7 +19,7 @@ int signal_is_trapped(s) --- examples/loadables/tee.c -+++ examples/loadables/tee.c 2006-11-14 10:31:29.000000000 +0000 ++++ examples/loadables/tee.c 2016-09-16 10:37:12.179427118 +0000 @@ -35,6 +35,7 @@ #include "bashansi.h" @@ -29,8 +38,8 @@ extern char *strerror (); --- hashlib.c -+++ hashlib.c 2006-11-14 09:54:36.000000000 +0000 -@@ -381,7 +381,7 @@ hash_pstats (table, name) ++++ hashlib.c 2016-09-16 10:37:12.179427118 +0000 +@@ -382,7 +382,7 @@ hash_pstats (table, name) HASH_TABLE *table, *ntable; @@ -40,8 +49,8 @@ int signal_is_trapped (s) --- jobs.c -+++ jobs.c 2001-05-02 16:20:31.000000000 +0000 -@@ -1783,6 +1783,15 @@ make_child (command, async_p) ++++ jobs.c 2016-09-16 10:37:12.183427043 +0000 +@@ -1947,6 +1947,15 @@ make_child (command, async_p) pid_t mypid; mypid = getpid (); @@ -58,8 +67,8 @@ /* Close default_buffered_input if it's > 0. We don't close it if it's 0 because that's the file descriptor used when redirecting input, --- sig.c -+++ sig.c 2006-11-14 09:53:51.000000000 +0000 -@@ -92,10 +92,10 @@ sigset_t top_level_mask; ++++ sig.c 2016-09-16 10:37:12.183427043 +0000 +@@ -98,10 +98,10 @@ sigset_t top_level_mask; #endif /* JOB_CONTROL */ /* When non-zero, we throw_to_top_level (). */ @@ -73,8 +82,8 @@ #if defined (SIGWINCH) static SigHandler *old_winch = (SigHandler *)SIG_DFL; --- sig.h -+++ sig.h 2014-04-17 09:42:15.030235662 +0000 -@@ -111,8 +111,8 @@ do { \ ++++ sig.h 2016-09-16 10:37:12.183427043 +0000 +@@ -109,8 +109,8 @@ do { \ extern volatile sig_atomic_t sigwinch_received; extern volatile sig_atomic_t sigterm_received; diff --git a/bash-4.3-async-bnc971410.dif b/bash-4.3-async-bnc971410.dif deleted file mode 100644 index b1cc8036..00000000 --- a/bash-4.3-async-bnc971410.dif +++ /dev/null @@ -1,25 +0,0 @@ -This is a backport from bash-4.4-rc1 and might help to avoid to run -onto a not existing child pointer, bnc#971410. - ---- - jobs.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - ---- jobs.c -+++ jobs.c 2016-04-01 08:32:53.898981856 +0000 -@@ -2564,12 +2564,12 @@ itrace("wait_for: blocking wait for %d r - of the last child in the pipeline is the significant one. If the command - or job was terminated by a signal, note that value also. */ - termination_state = (job != NO_JOB) ? job_exit_status (job) -- : process_exit_status (child->status); -+ : (child ? process_exit_status (child->status) : EXECUTION_SUCCESS); - last_command_exit_signal = (job != NO_JOB) ? job_exit_signal (job) -- : process_exit_signal (child->status); -+ : (child ? process_exit_signal (child->status) : 0); - - /* XXX */ -- if ((job != NO_JOB && JOBSTATE (job) == JSTOPPED) || WIFSTOPPED (child->status)) -+ if ((job != NO_JOB && JOBSTATE (job) == JSTOPPED) || (child && WIFSTOPPED (child->status))) - termination_state = 128 + WSTOPSIG (child->status); - - if (job == NO_JOB || IS_JOBCONTROL (job)) diff --git a/bash-4.3-decl.patch b/bash-4.3-decl.patch index dc3cf67f..4c6529b1 100644 --- a/bash-4.3-decl.patch +++ b/bash-4.3-decl.patch @@ -1,3 +1,7 @@ +--- + support/printenv.c | 1 + + 1 file changed, 1 insertion(+) + --- support/printenv.c +++ support/printenv.c 2014-04-17 09:46:25.874236036 +0000 @@ -31,6 +31,7 @@ diff --git a/bash-4.3-extra-import-func.patch b/bash-4.3-extra-import-func.patch index 5901a5f7..71130061 100644 --- a/bash-4.3-extra-import-func.patch +++ b/bash-4.3-extra-import-func.patch @@ -2,93 +2,30 @@ builtins/shopt.def | 2 ++ doc/bash.1 | 7 +++++++ shell.c | 2 ++ - variables.c | 13 ++++++++++++- - 4 files changed, 23 insertions(+), 1 deletion(-) + variables.c | 8 +++++++- + 4 files changed, 18 insertions(+), 1 deletion(-) ---- shell.c -+++ shell.c 2014-09-25 20:11:51.000000000 +0000 -@@ -230,6 +230,7 @@ int posixly_correct = 1; /* Non-zero mea - #else - int posixly_correct = 0; /* Non-zero means posix.2 superset. */ - #endif -+int import_functions = IMPORT_FUNCTIONS_DEF; /* Import functions from environment */ - - /* Some long-winded argument names. These are obviously new. */ - #define Int 1 -@@ -249,6 +250,7 @@ static const struct { - { "help", Int, &want_initial_help, (char **)0x0 }, - { "init-file", Charp, (int *)0x0, &bashrc_file }, - { "login", Int, &make_login_shell, (char **)0x0 }, -+ { "import-functions", Int, &import_functions, (char **)0x0 }, - { "noediting", Int, &no_line_editing, (char **)0x0 }, - { "noprofile", Int, &no_profile, (char **)0x0 }, - { "norc", Int, &no_rc, (char **)0x0 }, ---- variables.c -+++ variables.c 2014-10-06 08:36:41.299837915 +0000 -@@ -110,6 +110,7 @@ extern time_t shell_start_time; - extern int assigning_in_environment; - extern int executing_builtin; - extern int funcnest_max; -+extern int import_functions; - - #if defined (READLINE) - extern int no_line_editing; -@@ -328,6 +329,7 @@ initialize_shell_variables (env, privmod - char *name, *string, *temp_string; - int c, char_index, string_index, string_length, ro; - SHELL_VAR *temp_var; -+ int skipped_import; - - create_variable_tables (); - -@@ -352,9 +354,12 @@ initialize_shell_variables (env, privmod - - temp_var = (SHELL_VAR *)NULL; - -+ skipped_import = 0; -+ reval: -+ - /* If exported function, define it now. Don't import functions from - the environment in privileged mode. */ -- if (privmode == 0 && read_but_dont_execute == 0 && -+ if (skipped_import == 0 && privmode == 0 && read_but_dont_execute == 0 && - STREQN (BASHFUNC_PREFIX, name, BASHFUNC_PREFLEN) && - STREQ (BASHFUNC_SUFFIX, name + char_index - BASHFUNC_SUFFLEN) && - STREQN ("() {", string, 4)) -@@ -367,6 +372,12 @@ initialize_shell_variables (env, privmod - tname = name + BASHFUNC_PREFLEN; /* start of func name */ - tname[namelen] = '\0'; /* now tname == func name */ - -+ if (!import_functions && !interactive_shell) { -+ skipped_import = 1; -+ report_error (_("Skipping importing function definition for `%s': --import-functions required."), tname); -+ goto reval; -+ } -+ - string_length = strlen (string); - temp_string = (char *)xmalloc (namelen + string_length + 2); - --- builtins/shopt.def -+++ builtins/shopt.def 2014-09-30 11:58:14.000000000 +0000 ++++ builtins/shopt.def 2016-09-14 08:57:33.723885627 +0000 @@ -90,6 +90,7 @@ extern int autocd; extern int glob_star; extern int glob_asciirange; extern int lastpipe_opt; +extern int import_functions; + extern int inherit_errexit; #if defined (EXTENDED_GLOB) - extern int extended_glob; -@@ -192,6 +193,7 @@ static struct { +@@ -200,6 +201,7 @@ static struct { { "hostcomplete", &perform_hostname_completion, shopt_enable_hostname_completion }, #endif { "huponexit", &hup_on_exit, (shopt_set_func_t *)NULL }, + { "import-functions", &import_functions, (shopt_set_func_t *)NULL }, + { "inherit_errexit", &inherit_errexit, (shopt_set_func_t *)NULL }, { "interactive_comments", &interactive_comments, set_shellopts_after_change }, { "lastpipe", &lastpipe_opt, (shopt_set_func_t *)NULL }, - #if defined (HISTORY) --- doc/bash.1 -+++ doc/bash.1 2014-09-30 12:09:40.000000000 +0000 -@@ -240,6 +240,13 @@ The shell becomes restricted (see ++++ doc/bash.1 2016-09-14 08:57:33.723885627 +0000 +@@ -244,6 +244,13 @@ The shell becomes restricted (see .B "RESTRICTED SHELL" below). .TP @@ -100,5 +37,54 @@ +builtin to do this. +.TP .B \-\-verbose - Equivalent to \fB\-v\fP. + Equivalent to \fB\-v\fP. .TP +--- shell.c ++++ shell.c 2016-09-14 08:57:33.723885627 +0000 +@@ -238,6 +238,7 @@ int posixly_correct = 1; /* Non-zero mea + #else + int posixly_correct = 0; /* Non-zero means posix.2 superset. */ + #endif ++int import_functions = IMPORT_FUNCTIONS_DEF; /* Import functions from environment */ + + /* Some long-winded argument names. These are obviously new. */ + #define Int 1 +@@ -257,6 +258,7 @@ static const struct { + { "help", Int, &want_initial_help, (char **)0x0 }, + { "init-file", Charp, (int *)0x0, &bashrc_file }, + { "login", Int, &make_login_shell, (char **)0x0 }, ++ { "import-functions", Int, &import_functions, (char **)0x0 }, + { "noediting", Int, &no_line_editing, (char **)0x0 }, + { "noprofile", Int, &no_profile, (char **)0x0 }, + { "norc", Int, &no_rc, (char **)0x0 }, +--- variables.c ++++ variables.c 2016-09-14 08:57:33.723885627 +0000 +@@ -115,6 +115,7 @@ extern time_t shell_start_time; + extern int assigning_in_environment; + extern int executing_builtin; + extern int funcnest_max; ++extern int import_functions; + + #if defined (READLINE) + extern int no_line_editing; +@@ -378,6 +379,11 @@ initialize_shell_variables (env, privmod + tname = name + BASHFUNC_PREFLEN; /* start of func name */ + tname[namelen] = '\0'; /* now tname == func name */ + ++ if (!import_functions && !interactive_shell) { ++ report_error (_("Skipping importing function definition for `%s': --import-functions required."), tname); ++ goto reval; ++ } ++ + string_length = strlen (string); + temp_string = (char *)xmalloc (namelen + string_length + 2); + +@@ -392,7 +398,7 @@ initialize_shell_variables (env, privmod + parse_and_execute (temp_string, tname, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD); + else + free (temp_string); /* parse_and_execute does this */ +- ++ reval: + if (temp_var = find_function (tname)) + { + VSETATTR (temp_var, (att_exported|att_imported)); diff --git a/bash-4.3-headers.dif b/bash-4.3-headers.dif deleted file mode 100644 index 92f738c7..00000000 --- a/bash-4.3-headers.dif +++ /dev/null @@ -1,76 +0,0 @@ ---- examples/loadables/Makefile.in -+++ examples/loadables/Makefile.in 2014-04-17 10:10:12.450235258 +0000 -@@ -28,6 +28,9 @@ includedir = @includedir@ - - datarootdir = @datarootdir@ - -+# Support an alternate destination root directory for package building -+DESTDIR = -+ - topdir = @top_srcdir@ - BUILD_DIR = @BUILD_DIR@ - srcdir = @srcdir@ -@@ -61,6 +64,16 @@ LIBINTL_H = @LIBINTL_H@ - - CCFLAGS = $(DEFS) $(LOCAL_DEFS) $(LOCAL_CFLAGS) $(CFLAGS) - -+INSTALL = @INSTALL@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALLMODE= -m 0755 -+INSTALLMODE2 = -m 0555 -+ -+Name = bash -+Version = @BASHVERS@ -+ - # - # These values are generated for configure by ${topdir}/support/shobj-conf. - # If your system is not supported by that script, but includes facilities for -@@ -79,20 +92,46 @@ INC = -I. -I.. -I$(topdir) -I$(topdir)/l - -I$(BASHINCDIR) -I$(BUILD_DIR) -I$(LIBBUILD) \ - -I$(BUILD_DIR)/builtins $(INTL_INC) - -+.SUFFIXES: .d -+.c.d: -+ $(SHOBJ_CC) $(SHOBJ_CFLAGS) $(CCFLAGS) $(INC) -MM -MT install-headers -MF $@ $< -+ - .c.o: - $(SHOBJ_CC) $(SHOBJ_CFLAGS) $(CCFLAGS) $(INC) -c -o $@ $< - -+SUPPORT_SRC = $(topdir)/support/ - - ALLPROG = print truefalse sleep pushd finfo logname basename dirname \ - tty pathchk tee head mkdir rmdir printenv id whoami \ - uname sync push ln unlink realpath strftime mypid - OTHERPROG = necho hello cat -+HEADERS = - - all: $(SHOBJ_STATUS) - - supported: $(ALLPROG) - others: $(OTHERPROG) - -+dependlist: template.d -+-include template.d -+ -+install-headers: HEADERS = $(sort $(filter %.h,$(realpath $^))) -+install-headers: -+ @${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(includedir)/$(Name)/$(Version)/builtins -+ for head in $(subst $(realpath $(topdir))/,,$(HEADERS)) ; do \ -+ case $$head in \ -+ builtins/*) dest=$(DESTDIR)$(includedir)/$(Name)/$(Version)/builtins ;; \ -+ *) dest=$(DESTDIR)$(includedir)/$(Name)/$(Version) ;; \ -+ esac; \ -+ $(INSTALL_DATA) -t $$dest $(topdir)/$$head; \ -+ done -+ -+install-plugins: $(ALLPROG) -+ @${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(libdir)/$(Name)/$(Version) -+ for plugin in $(ALLPROG) ; do \ -+ $(INSTALL) $$plugin $(DESTDIR)$(libdir)/$(Name)/$(Version)/$$plugin.so ; \ -+ done -+ - unsupported: - @echo "Your system (${host_os}) is not supported by the" - @echo "${topdir}/support/shobj-conf script." diff --git a/bash-4.3-include-unistd.dif b/bash-4.3-include-unistd.dif index 005af693..8d8688fd 100644 --- a/bash-4.3-include-unistd.dif +++ b/bash-4.3-include-unistd.dif @@ -1,9 +1,9 @@ -This change was originally part of patch bash-4.3-loadables.dif. -However the loadables build just fine with this change, so it may -still be needed but does not belong to that patch. +--- + shell.h | 3 +++ + 1 file changed, 3 insertions(+) ---- shell.h.orig -+++ shell.h +--- shell.h ++++ shell.h 2016-03-08 10:22:38.169929522 +0000 @@ -22,6 +22,9 @@ #include "config.h" #endif diff --git a/bash-4.3-loadables.dif b/bash-4.3-loadables.dif index 664cb637..15fff7d5 100644 --- a/bash-4.3-loadables.dif +++ b/bash-4.3-loadables.dif @@ -1,26 +1,16 @@ ---- examples/loadables/basename.c -+++ examples/loadables/basename.c -@@ -31,6 +31,7 @@ - #include "shell.h" - #include "common.h" - -+int - basename_builtin (list) - WORD_LIST *list; - { ---- examples/loadables/dirname.c -+++ examples/loadables/dirname.c -@@ -31,6 +31,7 @@ - #include "shell.h" - #include "common.h" - -+int - dirname_builtin (list) - WORD_LIST *list; - { +--- + examples/loadables/finfo.c | 11 +++++------ + examples/loadables/head.c | 2 -- + examples/loadables/id.c | 2 -- + examples/loadables/mkdir.c | 2 +- + examples/loadables/pathchk.c | 2 -- + examples/loadables/print.c | 2 +- + examples/loadables/tee.c | 2 -- + 7 files changed, 7 insertions(+), 16 deletions(-) + --- examples/loadables/finfo.c -+++ examples/loadables/finfo.c -@@ -99,7 +99,7 @@ int argc; ++++ examples/loadables/finfo.c 2016-03-08 12:24:51.061423424 +0000 +@@ -102,7 +102,7 @@ int argc; char **argv; { register int i; @@ -29,25 +19,7 @@ sh_optind = 0; /* XXX */ prog = base_pathname(argv[0]); -@@ -192,7 +192,7 @@ int m; - return (m & (S_IRWXU|S_IRWXG|S_IRWXO|S_ISUID|S_ISGID)); - } - --static int -+static void - perms(m) - int m; - { -@@ -236,7 +236,7 @@ int m; - printf ("u=%s,g=%s,o=%s", ubits, gbits, obits); - } - --static int -+static void - printmode(mode) - int mode; - { -@@ -331,13 +331,13 @@ int flags; +@@ -334,13 +334,13 @@ int flags; else printf("%ld\n", st->st_ctime); } else if (flags & OPT_DEV) @@ -65,7 +37,7 @@ else if (flags & OPT_LNKNAM) { #ifdef S_ISLNK b = xmalloc(4096); -@@ -387,7 +387,6 @@ finfo_builtin(list) +@@ -390,7 +390,6 @@ finfo_builtin(list) { int c, r; char **v; @@ -74,19 +46,8 @@ v = make_builtin_argv (list, &c); r = finfo_main (c, v); --- examples/loadables/head.c -+++ examples/loadables/head.c -@@ -88,8 +88,10 @@ file_head (fp, cnt) - break; - } - } -+ return EXECUTION_SUCCESS; - } - -+int - head_builtin (list) - WORD_LIST *list; - { -@@ -97,8 +99,6 @@ head_builtin (list) ++++ examples/loadables/head.c 2016-03-08 12:24:51.061423424 +0000 +@@ -99,8 +99,6 @@ head_builtin (list) WORD_LIST *l; FILE *fp; @@ -96,7 +57,7 @@ reset_internal_getopt (); --- examples/loadables/id.c -+++ examples/loadables/id.c ++++ examples/loadables/id.c 2016-03-08 12:24:51.061423424 +0000 @@ -64,8 +64,6 @@ static int id_flags; static uid_t ruid, euid; static gid_t rgid, egid; @@ -106,38 +67,9 @@ static int inituser (); static int id_pruser (); ---- examples/loadables/ln.c -+++ examples/loadables/ln.c -@@ -50,6 +50,7 @@ typedef int unix_link_syscall_t __P((con - static unix_link_syscall_t *linkfn; - static int dolink (); - -+int - ln_builtin (list) - WORD_LIST *list; - { ---- examples/loadables/logname.c -+++ examples/loadables/logname.c -@@ -35,6 +35,7 @@ - extern int errno; - #endif - -+int - logname_builtin (list) - WORD_LIST *list; - { --- examples/loadables/mkdir.c -+++ examples/loadables/mkdir.c -@@ -52,7 +52,7 @@ int - mkdir_builtin (list) - WORD_LIST *list; - { -- int opt, pflag, omode, rval, octal, nmode, parent_mode, um; -+ int opt, pflag, omode, rval, octal, nmode, parent_mode; - char *mode; - WORD_LIST *l; - -@@ -169,7 +169,7 @@ make_path (path, nmode, parent_mode) ++++ examples/loadables/mkdir.c 2016-03-08 12:24:51.061423424 +0000 +@@ -167,7 +167,7 @@ make_path (path, nmode, parent_mode) while (*p == '/') p++; @@ -147,16 +79,8 @@ *p = '\0'; if (stat (npath, &sb) != 0) --- examples/loadables/pathchk.c -+++ examples/loadables/pathchk.c -@@ -98,6 +98,7 @@ extern char *strerror (); - - static int validate_path (); - -+int - pathchk_builtin (list) - WORD_LIST *list; - { -@@ -290,10 +291,8 @@ validate_path (path, portability) ++++ examples/loadables/pathchk.c 2016-03-08 12:24:51.061423424 +0000 +@@ -291,10 +291,8 @@ validate_path (path, portability) if (*path == '\0') return 0; @@ -167,17 +91,8 @@ /* Figure out the parent of the first element in PATH. */ parent = xstrdup (*path == '/' ? "/" : "."); -@@ -370,7 +369,7 @@ validate_path (path, portability) - free (parent); - if (strlen (path) > path_max) - { -- builtin_error ("path `%s' has length %d; exceeds limit of %d", -+ builtin_error ("path `%s' has length %zu; exceeds limit of %d", - path, strlen (path), path_max); - return 1; - } --- examples/loadables/print.c -+++ examples/loadables/print.c ++++ examples/loadables/print.c 2016-03-08 12:24:51.061423424 +0000 @@ -77,7 +77,7 @@ print_builtin (list) { int c, r, nflag, raw, ofd, sflag; @@ -187,47 +102,9 @@ WORD_LIST *l; nflag = raw = sflag = 0; ---- examples/loadables/realpath.c -+++ examples/loadables/realpath.c -@@ -60,6 +60,7 @@ extern int errno; - - extern char *sh_realpath(); - -+int - realpath_builtin(list) - WORD_LIST *list; - { ---- examples/loadables/rmdir.c -+++ examples/loadables/rmdir.c -@@ -32,6 +32,7 @@ - extern int errno; - #endif - -+int - rmdir_builtin (list) - WORD_LIST *list; - { ---- examples/loadables/sync.c -+++ examples/loadables/sync.c -@@ -28,6 +28,7 @@ - #include "shell.h" - #include "bashgetopt.h" - -+int - sync_builtin (list) - WORD_LIST *list; - { --- examples/loadables/tee.c -+++ examples/loadables/tee.c -@@ -60,6 +60,7 @@ extern int interrupt_immediately; - - extern char *strerror (); - -+int - tee_builtin (list) - WORD_LIST *list; - { -@@ -68,8 +69,6 @@ tee_builtin (list) ++++ examples/loadables/tee.c 2016-03-08 12:24:51.061423424 +0000 +@@ -70,8 +70,6 @@ tee_builtin (list) FLIST *fl; char *buf, *bp; @@ -236,81 +113,3 @@ reset_internal_getopt (); append = nointr = 0; tee_flist = (FLIST *)NULL; ---- examples/loadables/truefalse.c -+++ examples/loadables/truefalse.c -@@ -25,26 +25,26 @@ - #include "builtins.h" - #include "common.h" - --true_builtin (list) -+int true_builtin (list) - WORD_LIST *list; - { - return EXECUTION_SUCCESS; - } - --false_builtin (list) -+int false_builtin (list) - WORD_LIST *list; - { - return EXECUTION_FAILURE; - } - --static char *true_doc[] = { -+char * const true_doc[] = { - "Exit successfully.", - "", - "Return a successful result.", - (char *)NULL - }; - --static char *false_doc[] = { -+char * const false_doc[] = { - "Exit unsuccessfully.", - "", - "Return an unsuccessful result.", ---- examples/loadables/tty.c -+++ examples/loadables/tty.c -@@ -30,6 +30,7 @@ - - extern char *ttyname (); - -+int - tty_builtin (list) - WORD_LIST *list; - { ---- examples/loadables/uname.c -+++ examples/loadables/uname.c -@@ -63,10 +63,11 @@ static void uprint(); - - static int uname_flags; - -+int - uname_builtin (list) - WORD_LIST *list; - { -- int opt, r; -+ int opt; - struct utsname uninfo; - - uname_flags = 0; ---- examples/loadables/unlink.c -+++ examples/loadables/unlink.c -@@ -38,6 +38,7 @@ - extern int errno; - #endif - -+int - unlink_builtin (list) - WORD_LIST *list; - { ---- examples/loadables/whoami.c -+++ examples/loadables/whoami.c -@@ -28,6 +28,7 @@ - #include "bashgetopt.h" - #include "common.h" - -+int - whoami_builtin (list) - WORD_LIST *list; - { diff --git a/bash-4.3-patches.tar.bz2 b/bash-4.3-patches.tar.bz2 deleted file mode 100644 index 08a29142..00000000 --- a/bash-4.3-patches.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e69ad4cd12be75bab8a7d9ef41bd2be92c6930bc0689827cfea0ca93425647f0 -size 31521 diff --git a/bash-4.3-pathtemp.patch b/bash-4.3-pathtemp.patch index 8ad5e274..9b5cc2ed 100644 --- a/bash-4.3-pathtemp.patch +++ b/bash-4.3-pathtemp.patch @@ -3,7 +3,7 @@ 1 file changed, 43 insertions(+) --- lib/sh/tmpfile.c -+++ lib/sh/tmpfile.c 2015-10-19 13:35:30.869518731 +0000 ++++ lib/sh/tmpfile.c 2016-07-14 12:22:06.681051058 +0000 @@ -36,6 +36,14 @@ #include #include @@ -19,7 +19,7 @@ #include #ifndef errno -@@ -60,6 +68,8 @@ static unsigned long filenum = 1L; +@@ -65,6 +73,8 @@ static unsigned long filenum = 1L; static char * get_sys_tmpdir () { @@ -28,7 +28,7 @@ if (sys_tmpdir) return sys_tmpdir; -@@ -86,6 +96,31 @@ get_sys_tmpdir () +@@ -91,6 +101,31 @@ get_sys_tmpdir () return sys_tmpdir; } @@ -60,15 +60,15 @@ static char * get_tmpdir (flags) int flags; -@@ -164,6 +199,7 @@ sh_mktmpfd (nameroot, flags, namep) +@@ -188,6 +223,7 @@ sh_mktmpfd (nameroot, flags, namep) int fd, tdlen; - + filename = (char *)xmalloc (PATH_MAX + 1); +enospace: tdir = get_tmpdir (flags); tdlen = strlen (tdir); -@@ -177,6 +213,10 @@ sh_mktmpfd (nameroot, flags, namep) +@@ -201,6 +237,10 @@ sh_mktmpfd (nameroot, flags, namep) free (filename); filename = NULL; } @@ -79,7 +79,7 @@ if (namep) *namep = filename; return fd; -@@ -194,6 +234,9 @@ sh_mktmpfd (nameroot, flags, namep) +@@ -219,6 +259,9 @@ sh_mktmpfd (nameroot, flags, namep) } while (fd < 0 && errno == EEXIST); diff --git a/bash-4.3-perl522.patch b/bash-4.3-perl522.patch index 6024e338..82d048af 100644 --- a/bash-4.3-perl522.patch +++ b/bash-4.3-perl522.patch @@ -2,9 +2,12 @@ From: coolo@suse.com perl 5.22 makes the long deprecated defined(@array) an hard error +--- + support/texi2html | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) --- support/texi2html -+++ support/texi2html ++++ support/texi2html 2016-03-08 11:49:40.596622296 +0000 @@ -4855,9 +4855,9 @@ sub update_sec_num { my $ret; diff --git a/bash-4.3-sigrestart.patch b/bash-4.3-sigrestart.patch index 01173fa9..78fcb8a5 100644 --- a/bash-4.3-sigrestart.patch +++ b/bash-4.3-sigrestart.patch @@ -1,6 +1,10 @@ +--- + sig.c | 6 ++++++ + 1 file changed, 6 insertions(+) + --- sig.c -+++ sig.c 2014-04-17 10:02:57.078235890 +0000 -@@ -722,10 +722,16 @@ set_signal_handler (sig, handler) ++++ sig.c 2016-09-14 08:54:54.158863424 +0000 +@@ -738,10 +738,16 @@ set_signal_handler (sig, handler) if (sig == SIGCHLD) act.sa_flags |= SA_RESTART; /* XXX */ #endif diff --git a/bash-4.3-winch.dif b/bash-4.3-winch.dif index a1e2b846..d2a49e65 100644 --- a/bash-4.3-winch.dif +++ b/bash-4.3-winch.dif @@ -1,6 +1,10 @@ +--- + config-top.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + --- config-top.h -+++ config-top.h 2014-04-17 10:19:39.698805960 +0000 -@@ -122,7 +122,7 @@ ++++ config-top.h 2016-09-14 08:55:30.170191343 +0000 +@@ -130,7 +130,7 @@ /* Define to 0 if you want the checkwinsize option off by default, 1 if you want it on. */ diff --git a/bash-4.3.tar.gz b/bash-4.3.tar.gz deleted file mode 100644 index 5850f147..00000000 --- a/bash-4.3.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:afc687a28e0e24dc21b988fa159ff9dbcf6b7caa92ade8645cc6d5605cd024d4 -size 7955839 diff --git a/bash-4.4-patches.tar.bz2 b/bash-4.4-patches.tar.bz2 new file mode 100644 index 00000000..62abd12d --- /dev/null +++ b/bash-4.4-patches.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54b118825c9c8496d01e1a1eab54ab8a08a7605d5781772a38ec87bdf676048c +size 239 diff --git a/bash-4.3.dif b/bash-4.4.dif similarity index 67% rename from bash-4.3.dif rename to bash-4.4.dif index 94444c62..4d7bd610 100644 --- a/bash-4.3.dif +++ b/bash-4.4.dif @@ -1,6 +1,22 @@ +--- + config-top.h | 16 ++++++++++------ + doc/Makefile.in | 2 +- + doc/bash.1 | 7 +++++-- + general.h | 3 +++ + parse.y | 2 +- + shell.c | 4 +++- + support/bashbug.sh | 2 +- + support/man2html.c | 1 + + support/rlvers.sh | 6 +++--- + support/shobj-conf | 5 +++-- + tests/glob.tests | 4 ++-- + tests/run-intl | 2 +- + tests/run-read | 2 +- + 13 files changed, 35 insertions(+), 21 deletions(-) + --- config-top.h -+++ config-top.h 2014-04-17 10:41:21.918735368 +0000 -@@ -56,17 +56,21 @@ ++++ config-top.h 2016-09-16 10:38:13.570285185 +0000 +@@ -60,17 +60,21 @@ due to EPIPE. */ /* #define DONT_REPORT_BROKEN_PIPE_WRITE_ERRORS */ @@ -24,8 +40,8 @@ #endif /* Default primary and secondary prompt strings. */ -@@ -80,20 +84,20 @@ - #define KSH_COMPATIBLE_SELECT +@@ -87,20 +91,20 @@ + #define DEFAULT_BASHRC "~/.bashrc" /* System-wide .bashrc file for interactive shells. */ -/* #define SYS_BASHRC "/etc/bash.bashrc" */ @@ -49,31 +65,20 @@ /* Define if you want the case-capitalizing operators (~[~]) and the `capcase' variable attribute (declare -c). */ -@@ -132,3 +136,10 @@ - /* Define to 1 if you want to be able to export indexed arrays to processes - using the foo=([0]=one [1]=two) and so on */ - /* #define ARRAY_EXPORT 1 */ -+ -+#ifndef USE_MKTEMP -+# define USE_MKTEMP -+#endif -+#ifndef USE_MKSTEMP -+# define USE_MKSTEMP -+#endif --- doc/Makefile.in -+++ doc/Makefile.in 2006-03-27 12:15:25.000000000 +0000 -@@ -146,7 +146,7 @@ BASHREF_FILES = $(srcdir)/bashref.texi $ - ${RM} $@ - -${DVIPS} $< ++++ doc/Makefile.in 2016-09-16 10:38:13.570285185 +0000 +@@ -154,7 +154,7 @@ BASHREF_FILES = $(srcdir)/bashref.texi $ + # $(RM) $@ + # -${TEXI2PDF} $< --all: ps info dvi text html -+all: info html +-all: ps info dvi text html $(MAN2HTML) ++all: info html $(MAN2HTML) nodvi: ps info text html everything: all pdf --- doc/bash.1 -+++ doc/bash.1 2006-03-27 12:15:25.000000000 +0000 -@@ -5080,8 +5080,8 @@ file (the \fIinputrc\fP file). ++++ doc/bash.1 2016-09-16 10:38:13.570285185 +0000 +@@ -5253,8 +5253,8 @@ file (the \fIinputrc\fP file). The name of this file is taken from the value of the .SM .B INPUTRC @@ -84,7 +89,7 @@ When a program which uses the readline library starts up, the initialization file is read, and the key bindings and variables are set. -@@ -10266,6 +10266,9 @@ The individual login shell cleanup file, +@@ -10586,6 +10586,9 @@ The individual login shell cleanup file, .TP .FN ~/.inputrc Individual \fIreadline\fP initialization file @@ -95,7 +100,7 @@ .SH AUTHORS Brian Fox, Free Software Foundation --- general.h -+++ general.h 2006-03-27 12:15:25.000000000 +0000 ++++ general.h 2016-09-16 10:38:17.614209958 +0000 @@ -21,10 +21,13 @@ #if !defined (_GENERAL_H_) #define _GENERAL_H_ @@ -111,8 +116,8 @@ #if defined (HAVE_SYS_RESOURCE_H) && defined (RLIMTYPE) # if defined (HAVE_SYS_TIME_H) --- parse.y -+++ parse.y 2006-03-27 12:15:25.000000000 +0000 -@@ -1413,7 +1413,7 @@ input_file_descriptor () ++++ parse.y 2016-09-16 10:38:17.614209958 +0000 +@@ -1426,7 +1426,7 @@ input_file_descriptor () #if defined (READLINE) char *current_readline_prompt = (char *)NULL; @@ -122,8 +127,16 @@ static int --- shell.c -+++ shell.c 2006-03-27 12:15:25.000000000 +0000 -@@ -492,7 +492,7 @@ main (argc, argv, env) ++++ shell.c 2016-09-16 10:38:17.614209958 +0000 +@@ -45,6 +45,7 @@ + #if defined (HAVE_UNISTD_H) + # include + # include ++# include + #endif + + #include "bashintl.h" +@@ -501,7 +502,7 @@ main (argc, argv, env) if (dump_translatable_strings) read_but_dont_execute = 1; @@ -132,8 +145,24 @@ disable_priv_mode (); /* Need to get the argument to a -c option processed in the +@@ -1277,6 +1278,7 @@ disable_priv_mode () + { + int e; + ++ setgroups(0, NULL); + if (setuid (current_user.uid) < 0) + { + e = errno; +--- support/bashbug.sh ++++ support/bashbug.sh 2016-09-16 10:38:17.614209958 +0000 +@@ -1,4 +1,4 @@ +-#!/bin/sh - ++#!/bin/bash - + # + # bashbug - create a bug report and mail it to the bug address + # --- support/man2html.c -+++ support/man2html.c 2011-11-25 17:07:29.000000000 +0000 ++++ support/man2html.c 2016-09-16 10:38:17.618209884 +0000 @@ -78,6 +78,7 @@ #include #include @@ -143,7 +172,7 @@ #define NULL_TERMINATED(n) ((n) + 1) --- support/rlvers.sh -+++ support/rlvers.sh 2006-03-27 12:15:25.000000000 +0000 ++++ support/rlvers.sh 2016-09-16 10:38:17.618209884 +0000 @@ -27,10 +27,10 @@ TDIR=$TMPDIR/rlvers # defaults @@ -159,7 +188,7 @@ # cannot rely on the presence of getopts while [ $# -gt 0 ]; do --- support/shobj-conf -+++ support/shobj-conf 2006-09-22 14:11:58.000000000 +0000 ++++ support/shobj-conf 2016-09-16 10:38:17.618209884 +0000 @@ -126,10 +126,11 @@ sunos5*|solaris2*) linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*-gentoo) SHOBJ_CFLAGS=-fPIC @@ -174,57 +203,32 @@ ;; freebsd2*) +--- tests/glob.tests ++++ tests/glob.tests 2016-09-16 10:38:17.618209884 +0000 +@@ -12,8 +12,8 @@ ${THIS_SH} ./glob1.sub + + MYDIR=$PWD # save where we are + +-TESTDIR=/tmp/glob-test +-mkdir $TESTDIR ++TESTDIR=${TMPDIR:=/tmp}/glob-test ++mkdir -p $TESTDIR + builtin cd $TESTDIR || { echo $0: cannot cd to $TESTDIR >&2 ; exit 1; } + rm -rf * + --- tests/run-intl -+++ tests/run-intl 2009-08-26 11:13:13.000000000 +0000 ++++ tests/run-intl 2016-09-16 10:38:17.618209884 +0000 @@ -5,4 +5,4 @@ echo "warning: some of these tests will echo "warning: locales installed on your system." >&2 - echo "warning: please ignore any differences consisting only of white space" >&2 - ${THIS_SH} ./intl.tests > /tmp/xx --diff $AFLAG /tmp/xx intl.right && rm -f /tmp/xx -+diff -w $AFLAG /tmp/xx intl.right && rm -f /tmp/xx + + ${THIS_SH} ./intl.tests > ${BASH_TSTOUT} +-diff $AFLAG ${BASH_TSTOUT} intl.right && rm -f ${BASH_TSTOUT} ++diff -w $AFLAG ${BASH_TSTOUT} intl.right && rm -f ${BASH_TSTOUT} --- tests/run-read -+++ tests/run-read 2009-08-26 11:13:13.000000000 +0000 ++++ tests/run-read 2016-09-16 10:38:17.618209884 +0000 @@ -1,4 +1,4 @@ echo "warning: please do not consider output differing only in the amount of" >&2 echo "warning: white space to be an error." >&2 - ${THIS_SH} ./read.tests > /tmp/xx 2>&1 --diff /tmp/xx read.right && rm -f /tmp/xx -+diff -w /tmp/xx read.right && rm -f /tmp/xx ---- execute_cmd.c -+++ execute_cmd.c 2014-04-17 11:56:03.742234753 +0000 -@@ -5225,7 +5225,8 @@ shell_execve (command, args, env) - run it for some reason. See why. */ - #if defined (HAVE_HASH_BANG_EXEC) - READ_SAMPLE_BUF (command, sample, sample_len); -- sample[sample_len - 1] = '\0'; -+ if (sample_len > 0) -+ sample[sample_len - 1] = '\0'; - if (sample_len > 2 && sample[0] == '#' && sample[1] == '!') - { - char *interp; ---- support/bashbug.sh -+++ support/bashbug.sh 2014-04-17 12:01:05.678235918 +0000 -@@ -1,4 +1,4 @@ --#!/bin/sh - -+#!/bin/bash - - # - # bashbug - create a bug report and mail it to the bug address - # ---- shell.c -+++ shell.c 2014-04-17 12:19:01.758235040 +0000 -@@ -42,6 +42,7 @@ - #if defined (HAVE_UNISTD_H) - # include - # include -+# include - #endif - - #include "bashintl.h" -@@ -1226,6 +1227,7 @@ uidget () - void - disable_priv_mode () - { -+ setgroups(0, NULL); - setuid (current_user.uid); - setgid (current_user.gid); - current_user.euid = current_user.uid; + ${THIS_SH} ./read.tests > ${BASH_TSTOUT} 2>&1 +-diff ${BASH_TSTOUT} read.right && rm -f ${BASH_TSTOUT} ++diff -w ${BASH_TSTOUT} read.right && rm -f ${BASH_TSTOUT} diff --git a/bash-4.4.tar.gz b/bash-4.4.tar.gz new file mode 100644 index 00000000..da17403a --- /dev/null +++ b/bash-4.4.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d86b3392c1202e8ff5a423b302e6284db7f8f435ea9f39b5b1b20fd3ac36dfcb +size 9377313 diff --git a/bash.changes b/bash.changes index cac56555..634cbc56 100644 --- a/bash.changes +++ b/bash.changes @@ -1,3 +1,30 @@ +------------------------------------------------------------------- +Fri Sep 16 10:41:30 UTC 2016 - werner@suse.de + +- Update bash 4.4 final + * Latest bug fixes since 4.4 rc2 +- Update readline 7.0 final + * Latest bug fixes since 7.0 rc2 + * New application-callable function: rl_pending_signal(): returns the signal + number of any signal readline has caught but not yet handled. + * New application-settable variable: rl_persistent_signal_handlers: if set + to a non-zero value, readline will enable the readline-6.2 signal handler + behavior in callback mode: handlers are installed when + rl_callback_handler_install is called and removed removed when a complete + line has been read. +- Drop patch bash-4.3-async-bnc971410.dif as this one is part of 4.4 +- Drop patch bash-3.2-longjmp.dif as now long time be fixed +- Drop patch bash-4.3-headers.dif as loadables now simply work +- Drop readline-6.1-wrap.patch as this seems to be fixed +- Disable patch bash-4.0-async-bnc523667.dif for now as it seems to be fixed + in an other way + +------------------------------------------------------------------- +Wed Sep 14 09:00:14 UTC 2016 - werner@suse.de + +- Update bash 4.4 rc2 -- Bugfixes +- Update readline 7.0 rc2 -- Bugfixes + ------------------------------------------------------------------- Mon Aug 1 13:47:05 UTC 2016 - werner@suse.de @@ -6,28 +33,166 @@ Mon Aug 1 13:47:05 UTC 2016 - werner@suse.de Therefore modify patch bash-4.1-bash.bashrc.dif (bsc#959755) ------------------------------------------------------------------- -Tue Jun 28 09:27:24 UTC 2016 - werner@suse.de +Thu Jul 14 12:43:08 UTC 2016 - werner@suse.de -- Add upstream patch bash43-046 - An incorrect conversion from an indexed to associative array can - result in a core dump. -- Add upstream patch bash43-045 - If a file open attempted as part of a redirection fails because it - is interrupted by a signal, the shell needs to process any pending - traps to allow the redirection to be canceled. -- Add upstream patch bash43-044 - A typo prevents the `compat42' shopt option from working as intended. -- Add upstream patch bash43-043 - When the lastpipe option is enabled, the last component can contain - nested pipelines and cause a segmentation fault under certain - circumestances. +- Update bash 4.4 beta 2 + * Value conversions (arithmetic expansions, case modification, etc.) now + happen when assigning elements of an array using compound assignment. + * There is a new option settable in config-top.h that makes multiple + directory arguments to `cd' a fatal error. + * Bash now uses mktemp() when creating internal temporary files; it produces + a warning at build time on many Linux systems. +- Update to readline library 7.0 beta 2 (not enabled as not standalone) + * The default binding for ^W in vi mode now uses word boundaries specified + by Posix (vi-unix-word-rubout is bindable command name). + * rl_clear_visible_line: new application-callable function; clears all + screen lines occupied by the current visible readline line. + * rl_tty_set_echoing: application-callable function that controls whether + or not readline thinks it is echoing terminal output. + * Handle >| and strings of digits preceding and following redirection + specifications as single tokens when tokenizing the line for history + expansion. + * Fixed a bug with displaying completions when the prefix display length + is greater than the length of the completions to be displayed. + * The :p history modifier now applies to the entire line, so any expansion + specifying :p causes the line to be printed instead of expanded. ------------------------------------------------------------------- -Fri Apr 1 08:38:48 UTC 2016 - werner@suse.de +Tue Mar 8 14:49:41 UTC 2016 - werner@suse.de -- Add patch bash-4.3-async-bnc971410.dif - this is a backport from bash-4.4-rc1 and might help to avoid to - run onto a not existing child pointer, bnc#971410. +- Update bash 4.4 release candidate 1 + * There is now a settable configuration #define that will cause the shell + to exit if the shell is running setuid without the -p option and setuid + to the real uid fails. + * Command and process substitutions now turn off the `-v' option when + executing, as other shells seem to do. + * The default value for the `checkhash' shell option may now be set at + compile time with a #define. + * The `mapfile' builtin now has a -d option to use an arbitrary character + as the record delimiter, and a -t option to strip the delimiter as + supplied with -d. + * The maximum number of nested recursive calls to `eval' is now settable in + config-top.h; the default is no limit. + * The `-p' option to declare and similar builtins will display attributes for + named variables even when those variables have not been assigned values + (which are technically unset). + * The maximum number of nested recursive calls to `source' is now settable + in config-top.h; the default is no limit. + * All builtin commands recognize the `--help' option and print a usage + summary. + * Bash does not allow function names containing `/' and `=' to be exported. + * The `ulimit' builtin has new -k (kqueues) and -P (pseudoterminals) options. + * The shell now allows `time ; othercommand' to time null commands. + * There is a new `--enable-function-import' configuration option to allow + importing shell functions from the environment; import is enabled by + default. + * `printf -v var ""' will now set `var' to the empty string, as if `var=""' + had been executed. + * GLOBIGNORE, the pattern substitution word expansion, and programmable + completion match filtering now honor the value of the `nocasematch' option. + * There is a new ${parameter@spec} family of operators to transform the + value of `parameter'. + * Bash no longer attempts to perform compound assignment if a variable on the + rhs of an assignment statement argument to `declare' has the form of a + compound assignment (e.g., w='(word)' ; declare foo=$w); compound + assignments are accepted if the variable was already declared as an array, + but with a warning. + * The declare builtin no longer displays array variables using the compound + assignment syntax with quotes; that will generate warnings when re-used as + input, and isn't necessary. + * Executing the rhs of && and || will no longer cause the shell to fork if + it's not necessary. + * The `local' builtin takes a new argument: `-', which will cause it to save + and the single-letter shell options and restore their previous values at + function return. + * `complete' and `compgen' have a new `-o nosort' option, which forces + readline to not sort the completion matches. + * Bash now allows waiting for the most recent process substitution, since it + appears as $!. + * The `unset' builtin now unsets a scalar variable if it is subscripted with + a `0', analogous to the ${var[0]} expansion. + * `set -i' is no longer valid, as in other shells. + * BASH_SUBSHELL is now updated for process substitution and group commands + in pipelines, and is available with the same value when running any exit + trap. + * Bash now checks $INSIDE_EMACS as well as $EMACS when deciding whether or + not bash is being run in a GNU Emacs shell window. + * Bash now treats SIGINT received when running a non-builtin command in a + loop the way it has traditionally treated running a builtin command: + running any trap handler and breaking out of the loop. + * New variable: EXECIGNORE; a colon-separate list of patterns that will + cause matching filenames to be ignored when searching for commands. + * Aliases whose value ends in a shell metacharacter now expand in a way to + allow them to be `pasted' to the next token, which can potentially change + the meaning of a command (e.g., turning `&' into `&&'). + * `make install' now installs the example loadable builtins and a set of + bash headers to use when developing new loadable builtins. + * `enable -f' now attempts to call functions named BUILTIN_builtin_load when + loading BUILTIN, and BUILTIN_builtin_unload when deleting it. This allows + loadable builtins to run initialization and cleanup code. + * There is a new BASH_LOADABLES_PATH variable containing a list of directories + where the `enable -f' command looks for shared objects containing loadable + builtins. + * The `complete_fullquote' option to `shopt' changes filename completion to + quote all shell metacharacters in filenames and directory names. + * The `kill' builtin now has a `-L' option, equivalent to `-l', for + compatibility with Linux standalone versions of kill. + * BASH_COMPAT and FUNCNEST can be inherited and set from the shell's initial + environment. + * inherit_errexit: a new `shopt' option that, when set, causes command + substitutions to inherit the -e option. By default, those subshells disable + -e. It's enabled as part of turning on posix mode. + * New prompt string: PS0. Expanded and displayed by interactive shells after + reading a complete command but before executing it. + * Interactive shells now behave as if SIGTSTP/SIGTTIN/SIGTTOU are set to SIG_DFL + when the shell is started, so they are set to SIG_DFL in child processes. + * Posix-mode shells now allow double quotes to quote the history expansion + character. + * OLDPWD can be inherited from the environment if it names a directory. + * Shells running as root no longer inherit PS4 from the environment, closing a + security hole involving PS4 expansion performing command substitution. + * If executing an implicit `cd' when the `autocd' option is set, bash will now + invoke a function named `cd' if one exists before executing the `cd' builtin. +- Update to readline library 7.0 release candidate 1 + * The history truncation code now uses the same error recovery mechansim as + the history writing code, and restores the old version of the history file + on error. The error recovery mechanism handles symlinked history files. + * There is a new bindable variable, `enable-bracketed-paste', which enables + support for a terminal's bracketed paste mode. + * The editing mode indicators can now be strings and are user-settable + (new `emacs-mode-string', `vi-cmd-mode-string' and `vi-ins-mode-string' + variables). Mode strings can contain invisible character sequences. + Setting mode strings to null strings restores the defaults. + * Prompt expansion adds the mode string to the last line of a multi-line + prompt (one with embedded newlines). + * There is a new bindable variable, `colored-completion-prefix', which, if + set, causes the common prefix of a set of possible completions to be + displayed in color. + * There is a new bindable command `vi-yank-pop', a vi-mode version of emacs- + mode yank-pop. + * The redisplay code underwent several efficiency improvements for multibyte + locales. + * The insert-char function attempts to batch-insert all pending typeahead + that maps to self-insert, as long as it is coming from the terminal. + * rl_callback_sigcleanup: a new application function that can clean up and + unset any state set by readline's callback mode. Intended to be used + after a signal. + * If an incremental search string has its last character removed with DEL, the + resulting empty search string no longer matches the previous line. + * If readline reads a history file that begins with `#' (or the value of + the history comment character) and has enabled history timestamps, the history + entries are assumed to be delimited by timestamps. This allows multi-line + history entries. + * Readline now throws an error if it parses a key binding without a terminating + `:' or whitespace. +- Remove patches which are upstream solved + bash-3.2-longjmp.dif + bash-4.3-headers.dif + readline-6.1-wrap.patch +- Rename patches + bash-4.3.dif become bash-4.4.dif + readline-6.3.dif become readline-7.0.dif +- Refresh other patches as well ------------------------------------------------------------------- Mon Oct 19 13:38:58 UTC 2015 - werner@suse.de diff --git a/bash.spec b/bash.spec index a24ab71c..924ccce4 100644 --- a/bash.spec +++ b/bash.spec @@ -20,38 +20,36 @@ Name: bash BuildRequires: audit-devel -BuildRequires: bison -%if %suse_version > 1020 BuildRequires: autoconf +BuildRequires: bison BuildRequires: fdupes -%endif %if %suse_version > 1220 BuildRequires: makeinfo %endif BuildRequires: ncurses-devel BuildRequires: patchutils +BuildRequires: pkg-config BuildRequires: screen BuildRequires: sed -%define bash_vers 4.3 -%define rl_vers 6.3 -%define extend "" -%if %suse_version > 1020 +%define bash_vers 4.4 +%define rl_vers 7.0 +%define bextend %nil +%define rextend %nil Recommends: bash-lang = %bash_vers # The package bash-completion is a source of # bugs which will hit at most this package #Recommends: bash-completion Suggests: command-not-found Recommends: bash-doc = %bash_vers -%endif -Version: %{bash_vers} +Version: 4.4 Release: 0 Summary: The GNU Bourne-Again Shell License: GPL-3.0+ Group: System/Shells Url: http://www.gnu.org/software/bash/bash.html # Git: http://git.savannah.gnu.org/cgit/bash.git -Source0: ftp://ftp.gnu.org/gnu/bash/bash-%{bash_vers}.tar.gz -Source1: ftp://ftp.gnu.org/gnu/readline/readline-%{rl_vers}.tar.gz +Source0: ftp://ftp.gnu.org/gnu/bash/bash-%{bash_vers}%{bextend}.tar.gz +Source1: ftp://ftp.gnu.org/gnu/readline/readline-%{rl_vers}%{rextend}.tar.gz Source2: bash-%{bash_vers}-patches.tar.bz2 Source3: readline-%{rl_vers}-patches.tar.bz2 Source4: run-tests @@ -70,8 +68,10 @@ Patch2: bash-4.0-security.patch Patch3: bash-4.3-2.4.4.patch Patch4: bash-3.0-evalexp.patch Patch5: bash-3.0-warn-locale.patch +# Disabled Patch6: bash-4.2-endpw.dif Patch7: bash-4.3-decl.patch +# Is this fixed meanwhile? Patch8: bash-4.0-async-bnc523667.dif Patch9: bash-4.3-include-unistd.dif Patch10: bash-3.2-printf.patch @@ -80,14 +80,11 @@ Patch12: bash-4.1-completion.dif Patch13: bash-4.2-nscdunmap.dif Patch14: bash-4.3-sigrestart.patch # PATCH-FIX-UPSTREAM bnc#382214 -- disabled due bnc#806628 by -DBNC382214=0 -Patch15: bash-3.2-longjmp.dif Patch16: bash-4.0-setlocale.dif -Patch17: bash-4.3-headers.dif # PATCH-EXTEND-SUSE bnc#828877 -- xterm resizing does not pass to all sub clients Patch18: bash-4.3-winch.dif Patch20: readline-%{rl_vers}.dif Patch21: readline-6.3-input.dif -Patch22: readline-6.1-wrap.patch Patch23: readline-5.2-conf.patch Patch24: readline-6.2-metamode.patch Patch25: readline-6.2-endpw.dif @@ -101,8 +98,6 @@ Patch47: bash-4.3-perl522.patch Patch48: bash-4.3-extra-import-func.patch # PATCH-EXTEND-SUSE Allow root to clean file system if filled up Patch49: bash-4.3-pathtemp.patch -# PATCH-FIX-UPSTREAM bnc#971410 -- bash script teminates unexpectedly throwing backtrace -Patch50: bash-4.3-async-bnc971410.dif BuildRoot: %{_tmppath}/%{name}-%{version}-build %global _sysconfdir /etc %global _incdir %{_includedir} @@ -124,9 +119,7 @@ Provides: bash:%{_infodir}/bash.info.gz PreReq: %install_info_prereq Version: %{bash_vers} Release: 0 -%if %suse_version > 1120 BuildArch: noarch -%endif %description -n bash-doc This package contains the documentation for using the bourne shell @@ -146,7 +139,6 @@ Requires: bash = %{bash_vers} Provides translations to the package bash %endif -%if 0%suse_version >= 1020 %package -n bash-devel Summary: Include Files mandatory for Development of bash loadable builtins Group: Development/Languages/C and C++ @@ -157,7 +149,6 @@ Release: 0 This package contains the C header files for writing loadable new builtins for the interpreter Bash. Use -I /usr/include/bash/ on the compilers command line. -%endif %package -n bash-loadables Summary: Loadable bash builtins @@ -219,24 +210,22 @@ unlink Remove a directory entry. whoami Print out username of current user. -%package -n libreadline6 +%package -n libreadline7 Summary: The Readline Library Group: System/Libraries Provides: bash:/%{_lib}/libreadline.so.%{rl_major} Version: %{rl_vers} Release: 0 -%if 0%suse_version > 1020 Recommends: readline-doc = %{version} -%endif # bug437293 %ifarch ppc64 Obsoletes: readline-64bit %endif # Provides: readline = %{rl_vers} -Obsoletes: readline <= 6.2 +Obsoletes: readline <= 6.3 -%description -n libreadline6 +%description -n libreadline7 The readline library is used by the Bourne Again Shell (bash, the standard command interpreter) for easy editing of command lines. This includes history and search functionality. @@ -247,11 +236,9 @@ Group: Development/Libraries/C and C++ Provides: bash:%{_libdir}/libreadline.a Version: %{rl_vers} Release: 0 -Requires: libreadline6 = %{rl_vers} +Requires: libreadline7 = %{rl_vers} Requires: ncurses-devel -%if 0%suse_version > 1020 Recommends: readline-doc = %{rl_vers} -%endif # bug437293 %ifarch ppc64 Obsoletes: readline-devel-64bit @@ -269,16 +256,14 @@ Provides: readline:%{_infodir}/readline.info.gz PreReq: %install_info_prereq Version: %{rl_vers} Release: 0 -%if 0%suse_version > 1120 BuildArch: noarch -%endif %description -n readline-doc This package contains the documentation for using the readline library as well as programming with the interface of the readline library. %prep -%setup -q -n bash-%{bash_vers}%{extend} -b1 -b2 -b3 +%setup -q -n bash-%{bash_vers}%{bextend} -b1 -b2 -b3 typeset -i level for patch in ../bash-%{bash_vers}-patches/*; do test -e $patch || break @@ -300,19 +285,16 @@ done %patch5 -p0 -b .warnlc #%patch6 -p0 -b .endpw %patch7 -p0 -b .decl -%patch8 -p0 -b .async +#%patch8 -p0 -b .async %patch9 -p0 -b .unistd %patch10 -p0 -b .printf %patch11 -p0 -b .plugins %patch12 -p0 -b .completion %patch13 -p0 -b .nscdunmap %patch14 -p0 -b .sigrestart -%patch15 -p0 -b .longjmp %patch16 -p0 -b .setlocale -%patch17 -p0 -b .headers %patch18 -p0 -b .winch %patch21 -p0 -b .zerotty -%patch22 -p0 -b .wrap %patch23 -p0 -b .conf %patch24 -p0 -b .metamode #%patch25 -p0 -b .endpw @@ -321,12 +303,11 @@ done %patch46 -p0 -b .notimestamp %patch47 -p0 -b .perl522 %if %{with import_function} -%patch48 +%patch48 -b .eif %endif -%patch49 -%patch50 +%patch49 -p0 -b .pthtmp %patch0 -p0 -b .0 -pushd ../readline-%{rl_vers}%{extend} +pushd ../readline-%{rl_vers}%{rextend} for patch in ../readline-%{rl_vers}-patches/*; do test -e $patch || break let level=0 || true @@ -340,7 +321,6 @@ for patch in ../readline-%{rl_vers}-patches/*; do patch -s -p$level < $patch done %patch21 -p2 -b .zerotty -%patch22 -p2 -b .wrap %patch23 -p2 -b .conf %patch24 -p2 -b .metamode #%patch25 -p2 -b .endpw @@ -373,10 +353,8 @@ done HOSTTYPE=${CPU} MACHTYPE=${CPU}-suse-linux export LANG LC_ALL HOSTTYPE MACHTYPE -pushd ../readline-%{rl_vers}%{extend} -%if 0%suse_version >= 1020 +pushd ../readline-%{rl_vers}%{rextend} autoconf -%endif cflags () { local flag=$1; shift @@ -442,7 +420,7 @@ pushd ../readline-%{rl_vers}%{extend} cflags -DIMPORT_FUNCTIONS_DEF=0 CFLAGS cflags -Wl,--as-needed LDFLAGS cflags -Wl,-O2 LDFLAGS - cflags -Wl,-rpath,%{_ldldir}/%{bash_vers} LDFLAGS + cflags -Wl,-rpath,%{_ldldir} LDFLAGS cflags -Wl,--version-script=${PWD}/rl.map LDFLAGS cflags -Wl,--dynamic-list=${PWD}/dyn.map LDFLAGS CC=gcc @@ -488,9 +466,7 @@ popd CC_FOR_BUILD="$CC" CFLAGS_FOR_BUILD="$CFLAGS" export CC_FOR_BUILD CFLAGS_FOR_BUILD CFLAGS LDFLAGS CC -%if 0%suse_version > 1020 autoconf -%endif # # We have a malloc with our glibc # @@ -576,7 +552,7 @@ popd make documentation %install -pushd ../readline-%{rl_vers}%{extend} +pushd ../readline-%{rl_vers}%{rextend} make install htmldir=%{_defaultdocdir}/readline \ installdir=%{_defaultdocdir}/readline/examples DESTDIR=%{buildroot} make install-shared libdir=/%{_lib} linkagedir=%{_libdir} DESTDIR=%{buildroot} @@ -592,8 +568,10 @@ pushd ../readline-%{rl_vers}%{extend} ln -sf /%{_lib}/libreadline.so.%{rl_vers} %{buildroot}/%{_libdir}/libreadline.so popd make install DESTDIR=%{buildroot} - make -C examples/loadables/ install-plugins DESTDIR=%{buildroot} libdir=/%{_lib} - make -C examples/loadables/ install-headers DESTDIR=%{buildroot} + make -C examples/loadables/ install-supported DESTDIR=%{buildroot} libdir=/%{_lib} + rm -rf %{buildroot}%{_libdir}/bash + rm -rf %{buildroot}/%{_lib}/pkgconfig + sed -ri '/CC = gcc/s@(CC = gcc).*@\1@' %{buildroot}%{_libdir}/pkgconfig/bash.pc mkdir -p %{buildroot}/bin mv %{buildroot}%{_bindir}/bash %{buildroot}/bin/ %if %_minsh @@ -603,7 +581,6 @@ popd ln -sf bash %{buildroot}/bin/sh ln -sf ../../bin/bash %{buildroot}%{_bindir}/sh %endif -install -m 755 bash %{buildroot}/bin/bash ln -sf ../../bin/bash %{buildroot}%{_bindir}/rbash install -m 644 COMPAT NEWS %{buildroot}%{_defaultdocdir}/bash/ install -m 644 COPYING %{buildroot}%{_defaultdocdir}/bash/ @@ -644,9 +621,7 @@ EOF touch -t 199605181720.50 %{buildroot}%{_sysconfdir}/skel/.bash_history chmod 600 %{buildroot}%{_sysconfdir}/skel/.bash_history %find_lang bash -%if %suse_version > 1020 %fdupes -s %{buildroot}%{_datadir}/bash/helpfiles -%endif %post -n bash-doc %install_info --info-dir=%{_infodir} %{_infodir}/bash.info.gz @@ -654,9 +629,9 @@ EOF %preun -n bash-doc %install_info_delete --info-dir=%{_infodir} %{_infodir}/bash.info.gz -%post -n libreadline6 -p /sbin/ldconfig +%post -n libreadline7 -p /sbin/ldconfig -%postun -n libreadline6 -p /sbin/ldconfig +%postun -n libreadline7 -p /sbin/ldconfig %post -n readline-doc %install_info --info-dir=%{_infodir} %{_infodir}/history.info.gz @@ -677,7 +652,7 @@ ldd -u -r %{buildroot}/%{_lib}/libreadline.so.* || true %config %attr(600,root,root) %{_sysconfdir}/skel/.bash_history %config %attr(644,root,root) %{_sysconfdir}/skel/.bashrc %config %attr(644,root,root) %{_sysconfdir}/skel/.profile -%attr(755,root,root) /bin/bash +/bin/bash /bin/sh %dir %{_sysconfdir}/bash_completion.d %{_bindir}/bashbug @@ -703,19 +678,22 @@ ldd -u -r %{buildroot}/%{_lib}/libreadline.so.* || true %files -n bash-devel %defattr(-,root,root) %dir /%{_includedir}/bash/ -%dir /%{_includedir}/bash/%{bash_vers}/ -%dir /%{_includedir}/bash/%{bash_vers}/builtins/ -/%{_incdir}/bash/%{bash_vers}/*.h -/%{_incdir}/bash/%{bash_vers}/builtins/*.h +%dir /%{_includedir}/bash/ +%dir /%{_includedir}/bash/builtins/ +%dir /%{_includedir}/bash/include/ +/%{_incdir}/bash/*.h +/%{_incdir}/bash/builtins/*.h +/%{_incdir}/bash/include/*.h +%{_libdir}/pkgconfig/bash.pc %endif %files -n bash-loadables %defattr(-,root,root) %dir %{_ldldir}/ -%dir %{_ldldir}/%{bash_vers}/ -%{_ldldir}/%{bash_vers}/* +%dir %{_ldldir}/ +%{_ldldir}/* -%files -n libreadline6 +%files -n libreadline7 %defattr(-,root,root) /%{_lib}/libhistory.so.%{rl_major} /%{_lib}/libhistory.so.%{rl_vers} diff --git a/man2html-no-timestamp.patch b/man2html-no-timestamp.patch index 08bb837e..fc540606 100644 --- a/man2html-no-timestamp.patch +++ b/man2html-no-timestamp.patch @@ -1,8 +1,10 @@ -Index: support/man2html.c -=================================================================== ---- support/man2html.c.orig 2005-10-12 20:50:06.000000000 +0200 -+++ support/man2html.c 2010-09-03 22:49:56.288632000 +0200 -@@ -4061,7 +4061,7 @@ main(int argc, char **argv) +--- + support/man2html.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- support/man2html.c ++++ support/man2html.c 2010-09-03 20:49:56.288632000 +0000 +@@ -4076,7 +4076,7 @@ main(int argc, char **argv) if (subs) fputs("\n", stdout); fputs("\n", stdout); diff --git a/readline-5.2-conf.patch b/readline-5.2-conf.patch index d19004bf..6db15d5d 100644 --- a/readline-5.2-conf.patch +++ b/readline-5.2-conf.patch @@ -1,6 +1,12 @@ +--- + lib/readline/bind.c | 49 +++++++++++++++++++++++++++++++++++++++++-------- + lib/readline/doc/rluser.texi | 3 ++- + lib/readline/rlconf.h | 2 +- + 3 files changed, 44 insertions(+), 10 deletions(-) + --- lib/readline/bind.c +++ lib/readline/bind.c 2006-11-13 16:20:23.000000000 +0000 -@@ -751,6 +751,9 @@ rl_function_of_keyseq (keyseq, map, type +@@ -826,6 +826,9 @@ rl_function_of_keyseq (keyseq, map, type /* The last key bindings file read. */ static char *last_readline_init_file = (char *)NULL; @@ -10,7 +16,7 @@ /* The file we're currently reading key bindings from. */ static const char *current_readline_init_file; static int current_readline_init_include_level; -@@ -816,11 +819,14 @@ rl_re_read_init_file (count, ignore) +@@ -891,11 +894,14 @@ rl_re_read_init_file (count, ignore) return r; } @@ -26,7 +32,7 @@ 4. /etc/inputrc If the file existed and could be opened and read, 0 is returned, otherwise errno is returned. */ -@@ -832,16 +838,37 @@ rl_read_init_file (filename) +@@ -907,16 +913,37 @@ rl_read_init_file (filename) if (filename == 0) filename = last_readline_init_file; if (filename == 0) @@ -69,7 +75,7 @@ #if defined (__MSDOS__) if (_rl_read_init_file (filename, 0) == 0) return 0; -@@ -1352,7 +1379,14 @@ rl_parse_and_bind (string) +@@ -1467,7 +1494,14 @@ remove_trailing: rl_macro_bind (seq, &funname[1], _rl_keymap); } else @@ -85,7 +91,7 @@ xfree (seq); return 0; -@@ -1490,7 +1524,6 @@ typedef int _rl_sv_func_t PARAMS((const +@@ -1632,7 +1666,6 @@ typedef int _rl_sv_func_t PARAMS((const #define V_INT 2 /* Forward declarations */ @@ -95,7 +101,7 @@ static int sv_compquery PARAMS((const char *)); --- lib/readline/rlconf.h +++ lib/readline/rlconf.h 2006-11-13 16:21:26.000000000 +0000 -@@ -33,7 +33,7 @@ +@@ -37,7 +37,7 @@ #define HANDLE_SIGNALS /* Ugly but working hack for binding prefix meta. */ @@ -106,7 +112,7 @@ #define DEFAULT_INPUTRC "~/.inputrc" --- lib/readline/doc/rluser.texi +++ lib/readline/doc/rluser.texi 2006-11-13 16:23:56.000000000 +0000 -@@ -347,7 +347,8 @@ file is taken from the value of the envi +@@ -349,7 +349,8 @@ file is taken from the value of the envi @end ifclear that variable is unset, the default is @file{~/.inputrc}. If that file does not exist or cannot be read, the ultimate default is diff --git a/readline-6.1-wrap.patch b/readline-6.1-wrap.patch deleted file mode 100644 index be4b82bc..00000000 --- a/readline-6.1-wrap.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- lib/readline/display.c -+++ lib/readline/display.c 2006-11-13 15:55:24.000000000 +0000 -@@ -714,7 +714,10 @@ rl_redisplay () - inv_lbreaks[++newlines] = temp; - #if defined (HANDLE_MULTIBYTE) - if (MB_CUR_MAX > 1 && rl_byte_oriented == 0 && prompt_multibyte_chars > 0) -- lpos -= _rl_col_width (local_prompt, n0, num, 1); -+ { -+ if (local_prompt_len > 0) -+ lpos -= _rl_col_width (local_prompt, n0, num, 1); -+ } - else - #endif - lpos -= _rl_screenwidth; diff --git a/readline-6.2-endpw.dif b/readline-6.2-endpw.dif index 25603034..c77b17e8 100644 --- a/readline-6.2-endpw.dif +++ b/readline-6.2-endpw.dif @@ -1,6 +1,10 @@ +--- + lib/readline/complete.c | 4 ++++ + 1 file changed, 4 insertions(+) + --- lib/readline/complete.c +++ lib/readline/complete.c 2011-11-21 12:51:35.695646715 +0000 -@@ -83,6 +83,7 @@ typedef int QSFUNC (); +@@ -89,6 +89,7 @@ typedef int QSFUNC (); defined. */ #if defined (HAVE_GETPWENT) && (!defined (HAVE_GETPW_DECLS) || defined (_POSIX_SOURCE)) extern struct passwd *getpwent PARAMS((void)); @@ -8,7 +12,7 @@ #endif /* HAVE_GETPWENT && (!HAVE_GETPW_DECLS || _POSIX_SOURCE) */ /* If non-zero, then this is the address of a function to call when -@@ -2068,6 +2069,9 @@ rl_username_completion_function (text, s +@@ -2316,6 +2317,9 @@ rl_username_completion_function (text, s if (first_char == '~') rl_filename_completion_desired = 1; @@ -18,60 +22,3 @@ return (value); } #endif /* !__WIN32__ && !__OPENNT */ ---- lib/readline/shell.c -+++ lib/readline/shell.c 2011-11-21 13:08:46.343647023 +0000 -@@ -61,9 +61,18 @@ - #include "rlshell.h" - #include "xmalloc.h" - --#if defined (HAVE_GETPWUID) && !defined (HAVE_GETPW_DECLS) -+#if !defined (HAVE_GETPW_DECLS) -+# if defined (HAVE_GETPWUID) - extern struct passwd *getpwuid PARAMS((uid_t)); --#endif /* HAVE_GETPWUID && !HAVE_GETPW_DECLS */ -+# endif -+# if defined (HAVE_GETPWENT) -+extern void endpwent (); -+# endif -+#endif /* !HAVE_GETPW_DECLS */ -+ -+#if !defined (savestring) -+# define savestring(x) strcpy ((char *)xmalloc (1 + strlen (x)), (x)) -+#endif /* !savestring */ - - #ifndef NULL - # define NULL 0 -@@ -159,15 +168,20 @@ sh_get_env_value (varname) - char * - sh_get_home_dir () - { -- char *home_dir; -+ static char *home_dir; - struct passwd *entry; - -- home_dir = (char *)NULL; -+ if (home_dir) -+ goto out; - #if defined (HAVE_GETPWUID) - entry = getpwuid (getuid ()); - if (entry) -- home_dir = entry->pw_dir; -+ home_dir = savestring(entry->pw_dir); - #endif -+#if defined (HAVE_GETPWENT) -+ endpwent (); -+#endif -+out: - return (home_dir); - } - ---- lib/readline/tilde.c -+++ lib/readline/tilde.c 2011-11-11 13:09:49.000000000 +0000 -@@ -61,6 +61,7 @@ extern struct passwd *getpwuid PARAMS((u - # endif - # if defined (HAVE_GETPWNAM) - extern struct passwd *getpwnam PARAMS((const char *)); -+extern void endpwent (); - # endif - #endif /* !HAVE_GETPW_DECLS */ - diff --git a/readline-6.2-metamode.patch b/readline-6.2-metamode.patch index 5d46bb72..c8790fd4 100644 --- a/readline-6.2-metamode.patch +++ b/readline-6.2-metamode.patch @@ -1,7 +1,10 @@ -# See bug bnc#541379 +--- + lib/readline/bind.c | 1 + + 1 file changed, 1 insertion(+) + --- lib/readline/bind.c +++ lib/readline/bind.c 2011-03-04 15:00:17.332426313 +0000 -@@ -1485,6 +1485,7 @@ static const struct { +@@ -1613,6 +1613,7 @@ static const struct { #if defined (VISIBLE_STATS) { "visible-stats", &rl_visible_stats, 0 }, #endif /* VISIBLE_STATS */ diff --git a/readline-6.2-xmalloc.dif b/readline-6.2-xmalloc.dif index ca8b95a8..af86b642 100644 --- a/readline-6.2-xmalloc.dif +++ b/readline-6.2-xmalloc.dif @@ -1,3 +1,9 @@ +--- + xfree.c | 3 +++ + xmalloc.c | 5 +++++ + xmalloc.h | 8 ++++++++ + 3 files changed, 16 insertions(+) + --- xfree.c +++ xfree.c 2012-10-17 12:48:37.862344784 +0000 @@ -48,3 +48,6 @@ xfree (string) diff --git a/readline-6.3-destdir.patch b/readline-6.3-destdir.patch index 593bc544..2246bdd0 100644 --- a/readline-6.3-destdir.patch +++ b/readline-6.3-destdir.patch @@ -1,3 +1,8 @@ +--- + shlib/Makefile.in | 9 +++++---- + support/shlib-install | 47 +++++++++++++++++++++++++++-------------------- + 2 files changed, 32 insertions(+), 24 deletions(-) + --- shlib/Makefile.in +++ shlib/Makefile.in 2014-04-17 10:51:05.898235056 +0000 @@ -59,6 +59,7 @@ bindir = @bindir@ diff --git a/readline-6.3-input.dif b/readline-6.3-input.dif index 924d9d6e..5a2177d7 100644 --- a/readline-6.3-input.dif +++ b/readline-6.3-input.dif @@ -1,6 +1,11 @@ +--- + lib/readline/input.c | 7 ++++++- + lib/readline/readline.c | 7 +++++++ + 2 files changed, 13 insertions(+), 1 deletion(-) + --- lib/readline/input.c +++ lib/readline/input.c 2003-03-17 19:03:51.000000000 +0000 -@@ -468,6 +468,8 @@ rl_read_key () +@@ -489,6 +489,8 @@ rl_read_key () return (c); } @@ -9,7 +14,7 @@ int rl_getc (stream) FILE *stream; -@@ -493,7 +495,10 @@ rl_getc (stream) +@@ -526,7 +528,10 @@ rl_getc (stream) /* If zero characters are returned, then the file that we are reading from is empty! Return EOF in that case. */ if (result == 0) @@ -23,7 +28,7 @@ if (errno == EINTR) --- lib/readline/readline.c +++ lib/readline/readline.c 2014-04-17 10:24:16.302236347 +0000 -@@ -515,6 +515,9 @@ _rl_internal_char_cleanup () +@@ -522,6 +522,9 @@ _rl_internal_char_cleanup () _rl_erase_entire_line (); } @@ -33,7 +38,7 @@ STATIC_CALLBACK int #if defined (READLINE_CALLBACKS) readline_internal_char () -@@ -564,6 +567,10 @@ readline_internal_charloop () +@@ -570,6 +573,10 @@ readline_internal_charloop () c = rl_read_key (); RL_UNSETSTATE(RL_STATE_READCMD); diff --git a/readline-6.3-patches.tar.bz2 b/readline-6.3-patches.tar.bz2 deleted file mode 100644 index 95de0257..00000000 --- a/readline-6.3-patches.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:76c2851a4f7d78fa109d07b95131bdb42540a12d0008ee234989550a68017253 -size 3812 diff --git a/readline-6.3-rltrace.patch b/readline-6.3-rltrace.patch index d27116ca..b3bf1af4 100644 --- a/readline-6.3-rltrace.patch +++ b/readline-6.3-rltrace.patch @@ -7,7 +7,7 @@ temporary files from public location without O_EXCL (bcn#868822). --- lib/readline/util.c +++ lib/readline/util.c 2014-04-17 10:29:43.157274616 +0000 -@@ -501,10 +501,12 @@ _rl_trace (va_alist) +@@ -504,10 +504,12 @@ _rl_trace (va_alist) if (_rl_tracefp == 0) _rl_tropen (); @@ -21,16 +21,16 @@ temporary files from public location without O_EXCL (bcn#868822). va_end (args); } -@@ -517,7 +519,7 @@ _rl_tropen () - fclose (_rl_tracefp); - sprintf (fnbuf, "/var/tmp/rltrace.%ld", (long)getpid()); +@@ -527,7 +529,7 @@ _rl_tropen () + #endif + sprintf (fnbuf, "%s/rltrace.%ld", x, (long)getpid()); unlink(fnbuf); - _rl_tracefp = fopen (fnbuf, "w+"); + _rl_tracefp = fopen (fnbuf, "w+xe"); return _rl_tracefp != 0; } -@@ -525,8 +527,8 @@ int +@@ -535,8 +537,8 @@ int _rl_trclose () { int r; diff --git a/readline-6.3.tar.gz b/readline-6.3.tar.gz deleted file mode 100644 index 6cfe8001..00000000 --- a/readline-6.3.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43 -size 2468560 diff --git a/readline-7.0-patches.tar.bz2 b/readline-7.0-patches.tar.bz2 new file mode 100644 index 00000000..a40ff20f --- /dev/null +++ b/readline-7.0-patches.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b17bff71f2c189504471f7d05193f4ab5ccd7c4e1f4064ab055d8b6e7997d40 +size 256 diff --git a/readline-6.3.dif b/readline-7.0.dif similarity index 73% rename from readline-6.3.dif rename to readline-7.0.dif index acf2e8f3..360c2fe3 100644 --- a/readline-6.3.dif +++ b/readline-7.0.dif @@ -1,6 +1,17 @@ +--- + Makefile.in | 4 +--- + complete.c | 6 +++--- + doc/Makefile.in | 2 +- + doc/readline.3 | 11 +++++++++++ + history.h | 1 + + readline.c | 7 +++++-- + readline.h | 3 ++- + support/shobj-conf | 5 +++-- + 8 files changed, 27 insertions(+), 12 deletions(-) + --- Makefile.in -+++ Makefile.in 2014-04-17 10:57:38.386235678 +0000 -@@ -235,10 +235,8 @@ uninstall-headers: ++++ Makefile.in 2016-09-14 08:59:09.830092311 +0000 +@@ -233,10 +233,8 @@ uninstall-headers: maybe-uninstall-headers: uninstall-headers install-static: installdirs $(STATIC_LIBS) install-headers install-doc install-examples @@ -11,7 +22,7 @@ $(INSTALL_DATA) libhistory.a $(DESTDIR)$(libdir)/libhistory.a -test -n "$(RANLIB)" && $(RANLIB) $(DESTDIR)$(libdir)/libhistory.a -@@ -268,7 +266,7 @@ install-doc: installdirs +@@ -266,7 +264,7 @@ install-doc: installdirs $(INSTALL_DATA) $(OTHER_DOCS) $(DESTDIR)$(docdir) -( if test -d doc ; then \ cd doc && \ @@ -21,8 +32,8 @@ uninstall-doc: --- complete.c -+++ complete.c 2014-04-17 10:58:11.042235308 +0000 -@@ -1082,7 +1082,7 @@ _rl_find_completion_word (fp, dp) ++++ complete.c 2016-09-14 08:59:09.830092311 +0000 +@@ -1152,7 +1152,7 @@ _rl_find_completion_word (fp, dp) /* We didn't find an unclosed quoted substring upon which to do completion, so use the word break characters to find the substring on which to complete. */ @@ -31,7 +42,7 @@ { scan = rl_line_buffer[rl_point]; -@@ -2116,7 +2116,7 @@ rl_completion_matches (text, entry_funct +@@ -2229,7 +2229,7 @@ rl_completion_matches (text, entry_funct match_list = (char **)xmalloc ((match_list_size + 1) * sizeof (char *)); match_list[1] = (char *)NULL; @@ -40,7 +51,7 @@ { if (RL_SIG_RECEIVED ()) { -@@ -2190,7 +2190,7 @@ rl_username_completion_function (text, s +@@ -2303,7 +2303,7 @@ rl_username_completion_function (text, s } #if defined (HAVE_GETPWENT) @@ -50,10 +61,10 @@ /* Null usernames should result in all users as possible completions. */ if (namelen == 0 || (STREQN (username, entry->pw_name, namelen))) --- doc/Makefile.in -+++ doc/Makefile.in 2009-02-27 16:27:31.000000000 +0000 -@@ -101,7 +101,7 @@ DIST_DOCS = $(DVIOBJ) $(PSOBJ) $(HTMLOBJ - $(RM) $@ - -${DVIPDF} $< ++++ doc/Makefile.in 2016-09-14 08:59:09.830092311 +0000 +@@ -107,7 +107,7 @@ DIST_DOCS = $(DVIOBJ) $(PSOBJ) $(HTMLOBJ + # $(RM) $@ + # -${TEXI2PDF} $< -all: info dvi html ps text pdf +all: info html @@ -61,8 +72,8 @@ xdist: $(DIST_DOCS) --- doc/readline.3 -+++ doc/readline.3 2006-11-13 16:33:27.000000000 +0000 -@@ -118,6 +118,14 @@ environment variable. If that variable ++++ doc/readline.3 2016-09-14 08:59:09.830092311 +0000 +@@ -119,6 +119,14 @@ environment variable. If that variable .IR ~/.inputrc . If that file does not exist or cannot be read, the ultimate default is .IR /etc/inputrc . @@ -77,7 +88,7 @@ When a program which uses the readline library starts up, the init file is read, and the key bindings and variables are set. There are only a few basic constructs allowed in the -@@ -1402,6 +1410,9 @@ VI Command Mode functions +@@ -1457,6 +1465,9 @@ VI Command Mode functions .TP .FN ~/.inputrc Individual \fBreadline\fP initialization file @@ -88,7 +99,7 @@ .SH AUTHORS Brian Fox, Free Software Foundation --- history.h -+++ history.h 2012-07-18 08:06:56.000000000 +0000 ++++ history.h 2016-09-14 08:59:09.830092311 +0000 @@ -32,6 +32,7 @@ extern "C" { # include "rlstdc.h" # include "rltypedefs.h" @@ -98,23 +109,23 @@ # include #endif --- readline.c -+++ readline.c 2014-04-17 10:59:21.258235067 +0000 -@@ -824,8 +824,11 @@ _rl_dispatch_subseq (key, map, got_subse ++++ readline.c 2016-09-14 08:59:09.830092311 +0000 +@@ -851,8 +851,11 @@ _rl_dispatch_subseq (key, map, got_subse { /* 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)); + { + if (key == ANYOTHERKEY) + return -1; -+ 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; --- readline.h -+++ readline.h 2012-07-18 08:07:12.000000000 +0000 ++++ readline.h 2016-09-14 08:59:09.830092311 +0000 @@ -32,6 +32,7 @@ extern "C" { # include "keymaps.h" # include "tilde.h" @@ -123,7 +134,7 @@ # include # include # include -@@ -459,7 +460,7 @@ extern char *rl_filename_completion_func +@@ -467,7 +468,7 @@ extern char *rl_filename_completion_func extern int rl_completion_mode PARAMS((rl_command_func_t *)); @@ -133,7 +144,7 @@ extern void free_undo_list PARAMS((void)); extern int maybe_save_line PARAMS((void)); --- support/shobj-conf -+++ support/shobj-conf 2006-09-22 14:17:48.000000000 +0000 ++++ support/shobj-conf 2016-09-14 08:59:09.830092311 +0000 @@ -126,10 +126,11 @@ sunos5*|solaris2*) linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*-gentoo) SHOBJ_CFLAGS=-fPIC diff --git a/readline-7.0.tar.gz b/readline-7.0.tar.gz new file mode 100644 index 00000000..5da708a6 --- /dev/null +++ b/readline-7.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:750d437185286f40a369e1e4f4764eda932b9459b5ec9a731628393dd3d32334 +size 2910016 diff --git a/run-tests b/run-tests index cd4db449..cc4e843e 100644 --- a/run-tests +++ b/run-tests @@ -1,5 +1,16 @@ #! /bin/sh +: ${TMPDIR:=/tmp} +export TMPDIR + +# basic /bin/sh syntax +SUFFIX=`${THIS_SH} -c 'echo $(( $RANDOM + $BASHPID ))'` + +BASH_TSTOUT=${TMPDIR}/bashtst-$SUFFIX # for now +export BASH_TSTOUT + +trap 'rm -f $BASH_TSTOUT' 0 + PATH=.:$PATH # just to get recho/zecho/printenv if not run via `make tests' export PATH @@ -13,7 +24,7 @@ export THIS_SH ${THIS_SH} ./version -rm -f /tmp/xx +rm -f "$BASH_TSTOUT" echo Any output from any test, unless otherwise noted, indicates a possible anomaly