.
OBS-URL: https://build.opensuse.org/package/show/Base:System/bash?expand=0&rev=220
This commit is contained in:
parent
756ff0494e
commit
4ea4fdf26b
@ -1,4 +1,4 @@
|
||||
libreadline6
|
||||
libreadline7
|
||||
obsoletes "readline-<targettype> <= <version>"
|
||||
provides "readline-<targettype> = <version>"
|
||||
targettype x86 package bash
|
||||
@ -7,5 +7,6 @@ targettype x86 package bash
|
||||
prereq -glibc-x86
|
||||
readline-devel
|
||||
requires -readline-<targettype>
|
||||
requires "libreadline6-<targettype> = <version>"
|
||||
requires "libreadline7-<targettype> = <version>"
|
||||
conflicts "readline5-devel-<targettype>"
|
||||
conflicts "readline6-devel-<targettype>"
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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 <stdio.h>
|
||||
@ -11,7 +15,7 @@
|
||||
#include "chartypes.h"
|
||||
#include <errno.h>
|
||||
|
||||
@@ -68,6 +72,15 @@ void
|
||||
@@ -76,6 +80,15 @@ void
|
||||
set_default_locale ()
|
||||
{
|
||||
#if defined (HAVE_SETLOCALE)
|
||||
|
@ -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 <stdio.h>
|
||||
+#include <paths.h>
|
||||
#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
|
@ -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 <config.h>
|
||||
@ -8,7 +12,7 @@
|
||||
|
||||
#include "../bashtypes.h"
|
||||
|
||||
@@ -529,12 +530,20 @@ printf_builtin (list)
|
||||
@@ -654,12 +655,20 @@ printf_builtin (list)
|
||||
case 'A':
|
||||
#endif
|
||||
{
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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 ());
|
||||
}
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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 <errno.h>
|
||||
#include "filecntl.h"
|
||||
#include <pwd.h>
|
||||
-
|
||||
+++ shell.c 2016-09-14 08:54:32.971258862 +0000
|
||||
@@ -43,6 +43,7 @@
|
||||
#endif
|
||||
|
||||
#if defined (HAVE_UNISTD_H)
|
||||
+# include <sys/types.h>
|
||||
# include <unistd.h>
|
||||
#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 ();
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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))
|
@ -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 @@
|
||||
|
@ -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(-)
|
||||
|
||||
--- 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);
|
||||
variables.c | 8 +++++++-
|
||||
4 files changed, 18 insertions(+), 1 deletion(-)
|
||||
|
||||
--- 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
|
||||
@ -102,3 +39,52 @@
|
||||
.B \-\-verbose
|
||||
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));
|
||||
|
@ -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."
|
@ -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
|
||||
|
@ -1,26 +1,16 @@
|
||||
--- examples/loadables/basename.c
|
||||
+++ examples/loadables/basename.c
|
||||
@@ -31,6 +31,7 @@
|
||||
#include "shell.h"
|
||||
#include "common.h"
|
||||
---
|
||||
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(-)
|
||||
|
||||
+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
|
||||
+++ 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;
|
||||
{
|
||||
|
BIN
bash-4.3-patches.tar.bz2
(Stored with Git LFS)
BIN
bash-4.3-patches.tar.bz2
(Stored with Git LFS)
Binary file not shown.
@ -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 <stdio.h>
|
||||
#include <errno.h>
|
||||
@ -19,7 +19,7 @@
|
||||
#include <shell.h>
|
||||
|
||||
#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,7 +60,7 @@
|
||||
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);
|
||||
@ -68,7 +68,7 @@
|
||||
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);
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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
|
||||
|
@ -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. */
|
||||
|
BIN
bash-4.3.tar.gz
(Stored with Git LFS)
BIN
bash-4.3.tar.gz
(Stored with Git LFS)
Binary file not shown.
BIN
bash-4.4-patches.tar.bz2
(Stored with Git LFS)
Normal file
BIN
bash-4.4-patches.tar.bz2
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -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 <sys/types.h>
|
||||
# include <unistd.h>
|
||||
+# include <grp.h>
|
||||
#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 <time.h>
|
||||
#include <sys/time.h>
|
||||
@ -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 <sys/types.h>
|
||||
# include <unistd.h>
|
||||
+# include <grp.h>
|
||||
#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}
|
BIN
bash-4.4.tar.gz
(Stored with Git LFS)
Normal file
BIN
bash-4.4.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
201
bash.changes
201
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
|
||||
|
102
bash.spec
102
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/<version>
|
||||
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}
|
||||
|
@ -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("</DL>\n", stdout);
|
||||
fputs("</DL>\n", stdout);
|
||||
|
@ -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
|
||||
|
@ -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;
|
@ -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 */
|
||||
|
||||
|
@ -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 */
|
||||
|
@ -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)
|
||||
|
@ -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@
|
||||
|
@ -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);
|
||||
|
||||
|
BIN
readline-6.3-patches.tar.bz2
(Stored with Git LFS)
BIN
readline-6.3-patches.tar.bz2
(Stored with Git LFS)
Binary file not shown.
@ -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;
|
||||
|
BIN
readline-6.3.tar.gz
(Stored with Git LFS)
BIN
readline-6.3.tar.gz
(Stored with Git LFS)
Binary file not shown.
BIN
readline-7.0-patches.tar.bz2
(Stored with Git LFS)
Normal file
BIN
readline-7.0-patches.tar.bz2
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -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 <readline/rltypedefs.h>
|
||||
#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 <readline/rlstdc.h>
|
||||
# include <readline/rltypedefs.h>
|
||||
# include <readline/keymaps.h>
|
||||
@@ -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
|
BIN
readline-7.0.tar.gz
(Stored with Git LFS)
Normal file
BIN
readline-7.0.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
13
run-tests
13
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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user