OBS User unknown 2006-12-15 17:03:59 +00:00 committed by Git OBS Bridge
commit 92320b10a3
26 changed files with 3674 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

59
bash-2.03-manual.patch Normal file
View File

@ -0,0 +1,59 @@
--- doc/bash.1
+++ doc/bash.1 Mon Oct 25 17:29:54 2004
@@ -113,6 +113,12 @@
This option allows the positional parameters to be set
when invoking an interactive shell.
.TP
+.B \-v
+Print shell input lines as they are read.
+.TP
+.B \-x
+Print commands and their arguments as they are executed.
+.TP
.B \-D
A list of all double-quoted strings preceded by \fB$\fP
is printed on the standard ouput.
@@ -5799,6 +5805,11 @@
.SH "SHELL BUILTIN COMMANDS"
.\" start of bash_builtins
.zZ
+.if !dFN \{\
+.de FN
+\fI\|\\$1\|\fP
+..
+.\}
.PP
Unless otherwise noted, each builtin command documented in this
section as accepting options preceded by
@@ -8534,6 +8545,11 @@
.SH "RESTRICTED SHELL"
.\" rbash.1
.zY
+.if !dFN \{\
+.de FN
+\fI\|\\$1\|\fP
+..
+.\}
.PP
If
.B bash
--- doc/builtins.1
+++ doc/builtins.1 Mon Oct 25 17:29:20 2004
@@ -10,6 +10,6 @@
ulimit, umask, unalias, unset, wait \- bash built-in commands, see \fBbash\fR(1)
.SH BASH BUILTIN COMMANDS
.nr zZ 1
-.so bash.1
+.so /usr/share/man/man1/bash.1
.SH SEE ALSO
bash(1), sh(1)
--- doc/rbash.1
+++ doc/rbash.1 Mon Oct 25 17:29:20 2004
@@ -3,6 +3,6 @@
rbash \- restricted bash, see \fBbash\fR(1)
.SH RESTRICTED SHELL
.nr zY 1
-.so bash.1
+.so /usr/share/man/man1/bash.1
.SH SEE ALSO
bash(1)

69
bash-2.05a-security.patch Normal file
View File

@ -0,0 +1,69 @@
--- variables.c
+++ variables.c Wed Aug 21 12:14:18 2002
@@ -1035,6 +1035,7 @@
return v;
}
+#if !defined(linux)
/* The random number seed. You can change this by setting RANDOM. */
static unsigned long rseed = 1;
static int last_random_value;
@@ -1060,6 +1061,21 @@
last_random_value = 0;
}
+#else
+
+static int last_sbrand_pid;
+
+static int brand ()
+{
+ return random() & 32767;
+}
+
+static void sbrand (unsigned long seed)
+{
+ srandom(seed);
+}
+#endif
+
static SHELL_VAR *
assign_random (self, value, unused)
SHELL_VAR *self;
@@ -1075,6 +1091,7 @@
{
int rv;
+#if !defined(linux)
/* Reset for command and process substitution. */
if (subshell_environment)
sbrand (rseed + getpid() + NOW);
@@ -1082,6 +1099,18 @@
do
rv = brand ();
while (rv == last_random_value);
+#else
+ if (subshell_environment)
+ {
+ int mypid = getpid();
+ if (mypid != last_sbrand_pid)
+ {
+ last_sbrand_pid = mypid;
+ sbrand (mypid + NOW);
+ }
+ }
+ rv = brand();
+#endif
return rv;
}
@@ -1093,7 +1122,9 @@
char *p;
rv = get_random_number ();
+#if !defined(linux)
last_random_value = rv;
+#endif
p = itos (rv);
FREE (value_cell (var));

10
bash-3.0-decl.patch Normal file
View File

@ -0,0 +1,10 @@
--- support/printenv.c
+++ support/printenv.c 2005-09-19 15:09:08.000000000 +0200
@@ -24,6 +24,7 @@
with Bash; see the file COPYING. If not, write to the Free Software
Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
+#include <string.h>
extern char **environ;
int

13
bash-3.0-evalexp.patch Normal file
View File

@ -0,0 +1,13 @@
--- expr.c
+++ expr.c 2004-07-30 16:39:48.000000000 +0200
@@ -406,8 +406,8 @@
value = expcond ();
if (curtok == EQ || curtok == OP_ASSIGN)
{
- int special, op;
- intmax_t lvalue;
+ int special, op = -1;
+ intmax_t lvalue = 0;
special = curtok == OP_ASSIGN;

148
bash-3.0-nfs_redir.patch Normal file
View File

@ -0,0 +1,148 @@
--- redir.c
+++ redir.c 2005-01-28 15:22:21.950230271 +0100
@@ -169,12 +169,13 @@
how to undo the redirections later, if non-zero. If flags & RX_CLEXEC
is non-zero, file descriptors opened in do_redirection () have their
close-on-exec flag set. */
+static int close_before_dup2_err;
int
do_redirections (list, flags)
REDIRECT *list;
int flags;
{
- int error;
+ int error, ret = 0;
REDIRECT *temp;
if (flags & RX_UNDOABLE)
@@ -190,14 +191,21 @@
for (temp = list; temp; temp = temp->next)
{
+ close_before_dup2_err = 0;
error = do_redirection_internal (temp, flags);
if (error)
{
redirection_error (temp, error);
return (error);
}
+ if (close_before_dup2_err)
+ {
+ redirection_error (temp, close_before_dup2_err);
+ ret = close_before_dup2_err;
+ }
}
- return (0);
+
+ return (ret);
}
/* Return non-zero if the redirection pointed to by REDIRECT has a
@@ -759,6 +767,8 @@
#if defined (BUFFERED_INPUT)
check_bash_input (redirector);
#endif
+ if ((fd != redirector) && (close(redirector) < 0) && (errno != EBADF))
+ close_before_dup2_err = errno;
if ((fd != redirector) && (dup2 (fd, redirector) < 0))
return (errno);
@@ -838,6 +848,9 @@
#if defined (BUFFERED_INPUT)
check_bash_input (redirector);
#endif
+ if ((fd != redirector) && (close(redirector) < 0) && (errno != EBADF))
+ close_before_dup2_err = errno;
+
if (fd != redirector && dup2 (fd, redirector) < 0)
{
r = errno;
@@ -880,6 +893,9 @@
#if defined (BUFFERED_INPUT)
check_bash_input (redirector);
#endif
+ if ((close(redirector) < 0) && (errno != EBADF))
+ close_before_dup2_err = errno;
+
/* This is correct. 2>&1 means dup2 (1, 2); */
if (dup2 (redir_fd, redirector) < 0)
return (errno);
--- execute_cmd.c
+++ execute_cmd.c 2005-01-28 16:09:10.383937390 +0100
@@ -119,7 +119,7 @@
static void do_piping __P((int, int));
static void bind_lastarg __P((char *));
static int shell_control_structure __P((enum command_type));
-static void cleanup_redirects __P((REDIRECT *));
+static int cleanup_redirects __P((REDIRECT *));
#if defined (JOB_CONTROL)
static int restore_signal_mask __P((sigset_t *));
@@ -393,12 +393,13 @@
/* A function to use to unwind_protect the redirection undo list
for loops. */
-static void
+static int
cleanup_redirects (list)
REDIRECT *list;
{
- do_redirections (list, RX_ACTIVE);
+ int ret = do_redirections (list, RX_ACTIVE);
dispose_redirects (list);
+ return (ret ? 1 : 0);
}
#if 0
@@ -603,7 +604,7 @@
redirection.) */
if (do_redirections (command->redirects, RX_ACTIVE|RX_UNDOABLE) != 0)
{
- cleanup_redirects (redirection_undo_list);
+ (void)cleanup_redirects (redirection_undo_list);
redirection_undo_list = (REDIRECT *)NULL;
dispose_exec_redirects ();
return (EXECUTION_FAILURE);
@@ -2593,7 +2594,7 @@
int pipe_in, pipe_out, async;
pid_t old_last_command_subst_pid;
{
- int r;
+ int r, s;
if (pipe_in != NO_PIPE || pipe_out != NO_PIPE || async)
{
@@ -2632,10 +2633,10 @@
substitution. Otherwise, return EXECUTION_SUCCESS. */
r = do_redirections (redirects, RX_ACTIVE|RX_UNDOABLE);
- cleanup_redirects (redirection_undo_list);
+ s = cleanup_redirects (redirection_undo_list);
redirection_undo_list = (REDIRECT *)NULL;
- if (r != 0)
+ if (r != 0 || s != 0)
return (EXECUTION_FAILURE);
else if (old_last_command_subst_pid != last_command_subst_pid)
return (last_command_exit_value);
@@ -3404,7 +3405,7 @@
if (do_redirections (redirects, RX_ACTIVE|RX_UNDOABLE) != 0)
{
- cleanup_redirects (redirection_undo_list);
+ (void)cleanup_redirects (redirection_undo_list);
redirection_undo_list = (REDIRECT *)NULL;
dispose_exec_redirects ();
return (EX_REDIRFAIL); /* was EXECUTION_FAILURE */
@@ -3463,8 +3464,10 @@
if (redirection_undo_list)
{
- cleanup_redirects (redirection_undo_list);
+ int ret = cleanup_redirects (redirection_undo_list);
redirection_undo_list = (REDIRECT *)NULL;
+ if (result == 0)
+ result = ret;
}
return (result);

View File

@ -0,0 +1,29 @@
--- locale.c
+++ locale.c 2004-09-03 12:56:10.000000000 +0200
@@ -29,6 +29,10 @@
#include "bashintl.h"
#include "bashansi.h"
#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <errno.h>
#include "chartypes.h"
#include "shell.h"
@@ -63,6 +67,15 @@
set_default_locale ()
{
#if defined (HAVE_SETLOCALE)
+ struct stat st;
+
+ if (stat("/usr/lib/locale/locale-archive", &st) == 0 && st.st_size == 0) {
+ errno = EINVAL;
+ sys_error("set_default_locale: broken locale");
+ fprintf (stderr, "%s: Please remove /usr/lib/locale/locale-archive\n",
+ get_name_for_error());
+ sleep(1);
+ }
default_locale = setlocale (LC_ALL, "");
if (default_locale)
default_locale = savestring (default_locale);

View File

@ -0,0 +1,19 @@
*** parse.y
--- parse.y Tue Jan 10 11:36:59 2006
***************
*** 2842,2848 ****
ttrans = ansiexpand (nestret, 0, nestlen - 1, &ttranslen);
xfree (nestret);
! if ((rflags & P_DQUOTE) == 0)
{
nestret = sh_single_quote (ttrans);
free (ttrans);
--- 2842,2848 ----
ttrans = ansiexpand (nestret, 0, nestlen - 1, &ttranslen);
xfree (nestret);
! if (extended_quote || (rflags & P_DQUOTE) == 0)
{
nestret = sh_single_quote (ttrans);
free (ttrans);

689
bash-3.1-loadables.dif Normal file
View File

@ -0,0 +1,689 @@
--- examples/loadables/Makefile.in
+++ examples/loadables/Makefile.in 2006-09-25 13:31:55.000000000 +0200
@@ -81,7 +81,7 @@
$(SHOBJ_CC) $(SHOBJ_CFLAGS) $(CCFLAGS) $(INC) -c -o $@ $<
-ALLPROG = print truefalse sleep pushd finfo logname basename dirname \
+ALLPROG = print sleep finfo logname basename dirname \
tty pathchk tee head mkdir rmdir printenv id whoami \
uname sync push ln unlink cut realpath getconf strftime
OTHERPROG = necho hello cat
--- examples/loadables/basename.c
+++ examples/loadables/basename.c 2006-09-25 13:49:31.000000000 +0200
@@ -9,9 +9,12 @@
#endif
#include <stdio.h>
-#include "builtins.h"
#include "shell.h"
+#include "builtins.h"
+#include "builtins/builtext.h"
+#include "builtins/common.h"
+int
basename_builtin (list)
WORD_LIST *list;
{
--- examples/loadables/cat.c
+++ examples/loadables/cat.c 2006-09-25 13:37:46.000000000 +0200
@@ -7,8 +7,10 @@
#include <fcntl.h>
#include <errno.h>
-#include "builtins.h"
#include "shell.h"
+#include "builtins.h"
+#include "builtins/builtext.h"
+#include "builtins/common.h"
#ifndef errno
extern int errno;
--- examples/loadables/cut.c
+++ examples/loadables/cut.c 2006-09-25 14:00:21.000000000 +0200
@@ -60,8 +60,10 @@
# include <unistd.h>
#endif
-#include "builtins.h"
#include "shell.h"
+#include "builtins.h"
+#include "builtins/builtext.h"
+#include "builtins/common.h"
#include "bashgetopt.h"
#if !defined (errno)
@@ -243,7 +245,7 @@
pos = positions + 1;
for (col = maxval; col; --col) {
if ((ch = getc(fp)) == EOF)
- return;
+ return (0);
if (ch == '\n')
break;
if (*pos++)
--- examples/loadables/dirname.c
+++ examples/loadables/dirname.c 2006-09-25 13:49:38.000000000 +0200
@@ -9,9 +9,12 @@
#endif
#include <stdio.h>
-#include "builtins.h"
#include "shell.h"
+#include "builtins.h"
+#include "builtins/builtext.h"
+#include "builtins/common.h"
+int
dirname_builtin (list)
WORD_LIST *list;
{
--- examples/loadables/finfo.c
+++ examples/loadables/finfo.c 2006-09-25 13:48:52.000000000 +0200
@@ -16,6 +16,8 @@
#include "bashansi.h"
#include "shell.h"
#include "builtins.h"
+#include "builtins/builtext.h"
+#include "builtins/common.h"
#include "common.h"
#ifndef errno
@@ -77,7 +79,7 @@
char **argv;
{
register int i;
- int mode, flags, opt;
+ int flags, opt;
sh_optind = 0; /* XXX */
prog = base_pathname(argv[0]);
@@ -170,7 +172,7 @@
return (m & (S_IRWXU|S_IRWXG|S_IRWXO|S_ISUID|S_ISGID));
}
-static int
+static void
perms(m)
int m;
{
@@ -214,7 +216,7 @@
printf ("u=%s,g=%s,o=%s", ubits, gbits, obits);
}
-static int
+static void
printmode(mode)
int mode;
{
@@ -309,13 +311,13 @@
else
printf("%ld\n", st->st_ctime);
} else if (flags & OPT_DEV)
- printf("%d\n", st->st_dev);
+ printf("%lu\n", (ulong)st->st_dev);
else if (flags & OPT_INO)
- printf("%d\n", st->st_ino);
+ printf("%lu\n", (ulong)st->st_ino);
else if (flags & OPT_FID)
- printf("%d:%ld\n", st->st_dev, st->st_ino);
+ printf("%lu:%lu\n", (ulong)st->st_dev, (ulong)st->st_ino);
else if (flags & OPT_NLINK)
- printf("%d\n", st->st_nlink);
+ printf("%lu\n", (ulong)st->st_nlink);
else if (flags & OPT_LNKNAM) {
#ifdef S_ISLNK
b = xmalloc(4096);
@@ -365,7 +367,6 @@
{
int c, r;
char **v;
- WORD_LIST *l;
v = make_builtin_argv (list, &c);
r = finfo_main (c, v);
--- examples/loadables/getconf.c
+++ examples/loadables/getconf.c 2006-09-25 14:02:33.000000000 +0200
@@ -65,6 +65,8 @@
#include "bashansi.h"
#include "shell.h"
#include "builtins.h"
+#include "builtins/builtext.h"
+#include "builtins/common.h"
#include "stdc.h"
#include "common.h"
#include "bashgetopt.h"
@@ -1119,8 +1121,6 @@
{ NULL }
};
-static int num_getconf_variables = sizeof(conf_table) / sizeof(struct conf_variable) - 1;
-
extern char *this_command_name;
extern char **make_builtin_argv ();
@@ -1133,8 +1133,7 @@
getconf_builtin (list)
WORD_LIST *list;
{
- int c, r, opt, aflag;
- char **v;
+ int r, opt, aflag;
aflag = 0;
reset_internal_getopt();
@@ -1169,7 +1168,6 @@
getconf_help()
{
const struct conf_variable *cp;
- register int i, column;
builtin_usage();
printf("Acceptable variable names are:\n");
--- examples/loadables/head.c
+++ examples/loadables/head.c 2006-09-25 13:55:24.000000000 +0200
@@ -20,6 +20,8 @@
#include "builtins.h"
#include "shell.h"
+#include "builtins/builtext.h"
+#include "builtins/common.h"
#include "bashgetopt.h"
#if !defined (errno)
@@ -69,8 +71,10 @@
break;
}
}
+ return EXECUTION_SUCCESS;
}
+int
head_builtin (list)
WORD_LIST *list;
{
@@ -78,8 +82,6 @@
WORD_LIST *l;
FILE *fp;
- char *t;
-
munge_list (list); /* change -num into -n num */
reset_internal_getopt ();
--- examples/loadables/hello.c
+++ examples/loadables/hello.c 2006-09-25 13:38:25.000000000 +0200
@@ -11,8 +11,10 @@
#include <stdio.h>
-#include "builtins.h"
#include "shell.h"
+#include "builtins.h"
+#include "builtins/builtext.h"
+#include "builtins/common.h"
#include "bashgetopt.h"
/* A builtin `xxx' is normally implemented with an `xxx_builtin' function.
--- examples/loadables/id.c
+++ examples/loadables/id.c 2006-09-25 13:57:41.000000000 +0200
@@ -29,6 +29,8 @@
#include "shell.h"
#include "builtins.h"
+#include "builtins/builtext.h"
+#include "builtins/common.h"
#include "stdc.h"
#include "common.h"
#include "bashgetopt.h"
@@ -46,8 +48,6 @@
static uid_t ruid, euid;
static gid_t rgid, egid;
-static char *id_user;
-
static int inituser ();
static int id_pruser ();
--- examples/loadables/ln.c
+++ examples/loadables/ln.c 2006-09-25 13:59:09.000000000 +0200
@@ -15,8 +15,10 @@
#include <stdio.h>
#include <errno.h>
-#include "builtins.h"
#include "shell.h"
+#include "builtins.h"
+#include "builtins/builtext.h"
+#include "builtins/common.h"
#include "bashgetopt.h"
#if !defined (errno)
@@ -31,6 +33,7 @@
static unix_link_syscall_t *linkfn;
static int dolink ();
+int
ln_builtin (list)
WORD_LIST *list;
{
--- examples/loadables/logname.c
+++ examples/loadables/logname.c 2006-09-25 13:30:40.000000000 +0200
@@ -9,8 +9,10 @@
#include <stdio.h>
#include <errno.h>
-#include "builtins.h"
#include "shell.h"
+#include "builtins.h"
+#include "builtins/common.h"
+#include "builtins/builtext.h"
#if !defined (errno)
extern int errno;
--- examples/loadables/mkdir.c
+++ examples/loadables/mkdir.c 2006-09-25 13:56:07.000000000 +0200
@@ -13,8 +13,10 @@
# include <unistd.h>
#endif
-#include "builtins.h"
#include "shell.h"
+#include "builtins.h"
+#include "builtins/builtext.h"
+#include "builtins/common.h"
#include "bashgetopt.h"
#if !defined (errno)
@@ -33,7 +35,7 @@
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;
@@ -150,7 +152,7 @@
while (*p == '/')
p++;
- while (p = strchr (p, '/'))
+ while ((p = strchr (p, '/')))
{
*p = '\0';
if (stat (npath, &sb) != 0)
--- examples/loadables/necho.c
+++ examples/loadables/necho.c 2006-09-25 13:39:26.000000000 +0200
@@ -3,9 +3,15 @@
/* Sample builtin to be dynamically loaded with enable -f and replace an
existing builtin. */
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
#include <stdio.h>
-#include "builtins.h"
#include "shell.h"
+#include "builtins.h"
+#include "builtins/builtext.h"
+#include "builtins/common.h"
necho_builtin (list)
WORD_LIST *list;
--- examples/loadables/pathchk.c
+++ examples/loadables/pathchk.c 2006-09-25 13:53:13.000000000 +0200
@@ -40,8 +40,10 @@
#include <stdio.h>
#include <errno.h>
-#include "builtins.h"
#include "shell.h"
+#include "builtins.h"
+#include "builtins/builtext.h"
+#include "builtins/common.h"
#include "stdc.h"
#include "bashgetopt.h"
#include "maxpath.h"
@@ -79,6 +81,7 @@
static int validate_path ();
+int
pathchk_builtin (list)
WORD_LIST *list;
{
@@ -257,7 +260,7 @@
char *path;
int portability;
{
- int path_max;
+ size_t path_max;
int last_elem; /* Nonzero if checking last element of path. */
int exists; /* 2 if the path element exists. */
char *slash;
@@ -269,10 +272,8 @@
if (*path == '\0')
return 0;
-#ifdef lint
/* Suppress `used before initialized' warning. */
exists = 0;
-#endif
/* Figure out the parent of the first element in PATH. */
parent = xstrdup (*path == '/' ? "/" : ".");
@@ -349,7 +350,7 @@
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 %zu",
path, strlen (path), path_max);
return 1;
}
--- examples/loadables/print.c
+++ examples/loadables/print.c 2006-09-25 13:23:46.000000000 +0200
@@ -15,6 +15,8 @@
#include "bashansi.h"
#include "shell.h"
#include "builtins.h"
+#include "builtins/common.h"
+#include "builtins/builtext.h"
#include "stdc.h"
#include "bashgetopt.h"
@@ -55,7 +57,7 @@
{
int c, r, nflag, raw, ofd, sflag;
intmax_t lfd;
- char **v, *pfmt, *arg;
+ char *pfmt;
WORD_LIST *l;
nflag = raw = sflag = 0;
--- examples/loadables/printenv.c
+++ examples/loadables/printenv.c 2006-09-25 13:39:47.000000000 +0200
@@ -8,8 +8,10 @@
#include <config.h>
#include <stdio.h>
-#include "builtins.h"
#include "shell.h"
+#include "builtins.h"
+#include "builtins/builtext.h"
+#include "builtins/common.h"
#include "bashgetopt.h"
extern char **export_env;
--- examples/loadables/push.c
+++ examples/loadables/push.c 2006-09-25 13:39:53.000000000 +0200
@@ -7,8 +7,10 @@
#include <stdio.h>
#include <errno.h>
-#include "builtins.h"
#include "shell.h"
+#include "builtins.h"
+#include "builtins/builtext.h"
+#include "builtins/common.h"
#include "jobs.h"
#include "bashgetopt.h"
--- examples/loadables/realpath.c
+++ examples/loadables/realpath.c 2006-09-25 14:03:01.000000000 +0200
@@ -31,8 +31,10 @@
#include <maxpath.h>
#include <errno.h>
-#include "builtins.h"
#include "shell.h"
+#include "builtins.h"
+#include "builtins/builtext.h"
+#include "builtins/common.h"
#include "bashgetopt.h"
#ifndef errno
@@ -41,6 +43,7 @@
extern char *sh_realpath();
+int
realpath_builtin(list)
WORD_LIST *list;
{
@@ -67,14 +70,14 @@
vflag = 1;
break;
default:
- usage();
+ builtin_usage();
}
}
list = loptend;
if (list == 0)
- usage();
+ builtin_usage();
for (es = EXECUTION_SUCCESS; list; list = list->next) {
p = list->word->word;
--- examples/loadables/rmdir.c
+++ examples/loadables/rmdir.c 2006-09-25 13:56:28.000000000 +0200
@@ -6,13 +6,16 @@
#include <stdio.h>
#include <errno.h>
-#include "builtins.h"
#include "shell.h"
+#include "builtins.h"
+#include "builtins/builtext.h"
+#include "builtins/common.h"
#if !defined (errno)
extern int errno;
#endif
+int
rmdir_builtin (list)
WORD_LIST *list;
{
--- examples/loadables/sleep.c
+++ examples/loadables/sleep.c 2006-09-25 13:24:54.000000000 +0200
@@ -27,6 +27,8 @@
#include "shell.h"
#include "builtins.h"
+#include "builtins/common.h"
+#include "builtins/builtext.h"
#define RETURN(x) \
do { \
--- examples/loadables/strftime.c
+++ examples/loadables/strftime.c 2006-09-25 13:40:17.000000000 +0200
@@ -13,8 +13,10 @@
#include <stdio.h>
-#include "builtins.h"
#include "shell.h"
+#include "builtins.h"
+#include "builtins/builtext.h"
+#include "builtins/common.h"
#include "common.h"
int
--- examples/loadables/sync.c
+++ examples/loadables/sync.c 2006-09-25 13:58:50.000000000 +0200
@@ -6,10 +6,13 @@
#include <unistd.h>
#endif
-#include "builtins.h"
#include "shell.h"
+#include "builtins.h"
+#include "builtins/builtext.h"
+#include "builtins/common.h"
#include "bashgetopt.h"
+int
sync_builtin (list)
WORD_LIST *list;
{
--- examples/loadables/tee.c
+++ examples/loadables/tee.c 2006-09-25 13:54:21.000000000 +0200
@@ -19,8 +19,10 @@
#include <stdio.h>
#include <errno.h>
-#include "builtins.h"
#include "shell.h"
+#include "builtins.h"
+#include "builtins/builtext.h"
+#include "builtins/common.h"
#include "bashgetopt.h"
#if !defined (errno)
@@ -41,6 +43,7 @@
extern char *strerror ();
+int
tee_builtin (list)
WORD_LIST *list;
{
@@ -49,8 +52,6 @@
FLIST *fl;
char *buf, *bp;
- char *t;
-
reset_internal_getopt ();
append = nointr = 0;
tee_flist = (FLIST *)NULL;
--- examples/loadables/template.c
+++ examples/loadables/template.c 2006-09-25 13:40:33.000000000 +0200
@@ -11,8 +11,10 @@
#include <stdio.h>
#include <errno.h>
-#include "builtins.h"
#include "shell.h"
+#include "builtins.h"
+#include "builtins/builtext.h"
+#include "builtins/common.h"
#include "bashgetopt.h"
#if !defined (errno)
--- examples/loadables/truefalse.c
+++ examples/loadables/truefalse.c 2006-09-25 13:40:42.000000000 +0200
@@ -1,16 +1,22 @@
/* true and false builtins */
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
#include "bashtypes.h"
#include "shell.h"
#include "builtins.h"
+#include "builtins/builtext.h"
+#include "builtins/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;
--- examples/loadables/tty.c
+++ examples/loadables/tty.c 2006-09-25 13:49:53.000000000 +0200
@@ -5,12 +5,15 @@
#include "config.h"
#include <stdio.h>
-#include "builtins.h"
#include "shell.h"
+#include "builtins.h"
+#include "builtins/builtext.h"
+#include "builtins/common.h"
#include "bashgetopt.h"
extern char *ttyname ();
+int
tty_builtin (list)
WORD_LIST *list;
{
--- examples/loadables/uname.c
+++ examples/loadables/uname.c 2006-09-25 13:58:18.000000000 +0200
@@ -24,8 +24,10 @@
#include <errno.h>
-#include "builtins.h"
#include "shell.h"
+#include "builtins.h"
+#include "builtins/builtext.h"
+#include "builtins/common.h"
#include "bashgetopt.h"
#define FLAG_SYSNAME 0x01 /* -s */
@@ -44,10 +46,11 @@
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 2006-09-25 13:59:37.000000000 +0200
@@ -12,13 +12,16 @@
#include <stdio.h>
#include <errno.h>
-#include "builtins.h"
#include "shell.h"
+#include "builtins.h"
+#include "builtins/builtext.h"
+#include "builtins/common.h"
#ifndef errno
extern int errno;
#endif
+int
unlink_builtin (list)
WORD_LIST *list;
{
--- examples/loadables/whoami.c
+++ examples/loadables/whoami.c 2006-09-25 13:57:54.000000000 +0200
@@ -5,10 +5,13 @@
#include <config.h>
#include <stdio.h>
-#include "builtins.h"
#include "shell.h"
+#include "builtins.h"
+#include "builtins/builtext.h"
+#include "builtins/common.h"
#include "bashgetopt.h"
+int
whoami_builtin (list)
WORD_LIST *list;
{

16
bash-3.1-random.patch Normal file
View File

@ -0,0 +1,16 @@
builtins/printf.def | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
Index: bash-3.1/builtins/printf.def
===================================================================
--- bash-3.1.orig/builtins/printf.def 2005-12-12 16:00:42.000000000 +0100
+++ bash-3.1/builtins/printf.def 2005-12-12 16:01:38.000000000 +0100
@@ -558,7 +558,7 @@ printstr (fmt, string, len, fieldwidth,
#else
if (string == 0 || len == 0)
#endif
- return;
+ return 0;
#if 0
s = fmt;

130
bash-3.2-2.4.4.patch Normal file
View File

@ -0,0 +1,130 @@
--- array.c
+++ array.c 2006-11-14 10:54:22.000000000 +0100
@@ -724,7 +724,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
*/
-int interrupt_immediately = 0;
+volatile sig_atomic_t interrupt_immediately = 0;
int
signal_is_trapped(s)
--- hashlib.c
+++ hashlib.c 2006-11-14 10:54:36.000000000 +0100
@@ -381,7 +381,7 @@ hash_pstats (table, name)
HASH_TABLE *table, *ntable;
-int interrupt_immediately = 0;
+volatile sig_atomic_t interrupt_immediately = 0;
int
signal_is_trapped (s)
--- jobs.c
+++ jobs.c 2001-05-02 18:20:31.000000000 +0200
@@ -1701,6 +1701,15 @@ make_child (command, async_p)
pid_t mypid;
mypid = getpid ();
+
+ if (interrupt_state)
+ {
+ struct timeval tv;
+ struct rusage rx;
+ (void) gettimeofday(&tv, NULL);
+ (void) getrusage(RUSAGE_SELF, &rx);
+ }
+
#if defined (BUFFERED_INPUT)
/* 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,
--- quit.h
+++ quit.h 2006-11-14 10:43:18.000000000 +0100
@@ -21,9 +21,13 @@
#if !defined (_QUIT_H_)
#define _QUIT_H_
+#define __need_sig_atomic_t
+#include <signal.h>
+#undef __need_sig_atomic_t
+
/* Non-zero means SIGINT has already ocurred. */
-extern volatile int interrupt_state;
-extern volatile int terminating_signal;
+extern volatile sig_atomic_t interrupt_state;
+extern volatile sig_atomic_t terminating_signal;
/* Macro to call a great deal. SIGINT just sets the interrupt_state variable.
When it is safe, put QUIT in the code, and the "interrupt" will take
--- sig.c
+++ sig.c 2006-11-14 10:53:51.000000000 +0100
@@ -59,13 +59,13 @@ extern int loop_level, continuing, break
extern int parse_and_execute_level, shell_initialized;
/* Non-zero after SIGINT. */
-volatile int interrupt_state = 0;
+volatile sig_atomic_t interrupt_state = 0;
/* Non-zero after SIGWINCH */
-volatile int sigwinch_received = 0;
+volatile sig_atomic_t sigwinch_received = 0;
/* Set to the value of any terminating signal received. */
-volatile int terminating_signal = 0;
+volatile sig_atomic_t terminating_signal = 0;
/* The environment at the top-level R-E loop. We use this in
the case of error return. */
@@ -77,10 +77,10 @@ sigset_t top_level_mask;
#endif /* JOB_CONTROL */
/* When non-zero, we throw_to_top_level (). */
-int interrupt_immediately = 0;
+volatile sig_atomic_t interrupt_immediately = 0;
/* When non-zero, we call the terminating signal handler immediately. */
-int terminate_immediately = 0;
+volatile sig_atomic_t terminate_immediately = 0;
#if defined (SIGWINCH)
static SigHandler *old_winch = (SigHandler *)SIG_DFL;
--- sig.h
+++ sig.h 2006-11-14 10:49:32.000000000 +0100
@@ -108,11 +108,15 @@ do { \
#endif /* JOB_CONTROL */
+#define __need_sig_atomic_t
+#include <signal.h>
+#undef __need_sig_atomic_t
+
/* Extern variables */
-extern volatile int sigwinch_received;
+extern volatile sig_atomic_t sigwinch_received;
-extern int interrupt_immediately;
-extern int terminate_immediately;
+extern volatile sig_atomic_t interrupt_immediately;
+extern volatile sig_atomic_t terminate_immediately;
/* Functions from sig.c. */
extern sighandler termsig_sighandler __P((int));
--- examples/loadables/tee.c
+++ examples/loadables/tee.c 2006-11-14 11:31:29.000000000 +0100
@@ -17,6 +17,7 @@
#include "bashansi.h"
#include <stdio.h>
+#include <signal.h>
#include <errno.h>
#include "builtins.h"
@@ -37,7 +38,7 @@ static FLIST *tee_flist;
#define TEE_BUFSIZE 8192
-extern int interrupt_immediately;
+extern volatile sig_atomic_t interrupt_immediately;
extern char *strerror ();

3
bash-3.2-patches.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:574d5f6430304560b4fdd8938e56e8c73134db02b98797766a3919aff66432c5
size 6767

32
bash-3.2-printf.patch Normal file
View File

@ -0,0 +1,32 @@
--- builtins/printf.def
+++ builtins/printf.def 2006-07-27 17:11:19.000000000 +0200
@@ -37,6 +37,7 @@ shell variable VAR rather than being sen
$END
#include <config.h>
+#include <locale.h>
#include "../bashtypes.h"
@@ -501,12 +502,20 @@ printf_builtin (list)
case 'A':
#endif
{
- char *f;
+ char *f, *lce = getenv("LC_NUMERIC"), *lcl = setlocale(LC_NUMERIC, NULL);
floatmax_t p;
p = getfloatmax ();
f = mklong (start, FLOATMAX_CONV, sizeof(FLOATMAX_CONV) - 1);
+
+ if (lce && lcl)
+ setlocale(LC_NUMERIC, lce);
+
PF (f, p);
+
+ if (lce && lcl)
+ setlocale(LC_NUMERIC, lcl);
+
break;
}

231
bash-3.2.dif Normal file
View File

@ -0,0 +1,231 @@
--- .pkgextract
+++ .pkgextract 2006-03-27 14:15:25.000000000 +0200
@@ -0,0 +1,14 @@
+tar Oxfj ../bash-3.2-patches.tar.bz2 | patch -p0 -s
+patch -p0 -s --suffix=".manual" < ../bash-2.03-manual.patch
+patch -p0 -s --suffix=".security" < ../bash-2.05a-security.patch
+patch -p0 -s --suffix=".2.4.4" < ../bash-3.2-2.4.4.patch
+patch -p0 -s --suffix=".evalexp" < ../bash-3.0-evalexp.patch
+patch -p0 -s --suffix=".warnlc" < ../bash-3.0-warn-locale.patch
+patch -p0 -s --suffix=".nfs_redir"< ../bash-3.0-nfs_redir.patch
+patch -p0 -s --suffix=".decl" < ../bash-3.0-decl.patch
+patch -p1 -s --suffix=".random2" < ../bash-3.1-random.patch
+patch -p0 -s --suffix=".equote" < ../bash-3.1-extended_quote.patch
+patch -p0 -s --suffix=".printf" < ../bash-3.2-printf.patch
+patch -p0 -s --suffix=".plugins" < ../bash-3.1-loadables.dif
+patch -p0 -s --suffix=".zerotty" < ../readline-4.3-input.dif
+patch -p0 -s --suffix=".wrap" < ../readline-5.2-wrap.patch
+patch -p0 -s --suffix=".conf" < ../readline-5.2-conf.patch
--- config-top.h
+++ config-top.h 2006-03-27 14:15:25.000000000 +0200
@@ -52,14 +52,14 @@
/* The default value of the PATH variable. */
#ifndef DEFAULT_PATH_VALUE
#define DEFAULT_PATH_VALUE \
- "/usr/gnu/bin:/usr/local/bin:/bin:/usr/bin:."
+ "/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:."
#endif
/* The value for PATH when invoking `command -p'. This is only used when
the Posix.2 confstr () function, or CS_PATH define are not present. */
#ifndef STANDARD_UTILS_PATH
#define STANDARD_UTILS_PATH \
- "/bin:/usr/bin:/sbin:/usr/sbin:/etc:/usr/etc"
+ "/bin:/usr/bin:/sbin:/usr/sbin"
#endif
/* Default primary and secondary prompt strings. */
@@ -73,14 +73,14 @@
#define KSH_COMPATIBLE_SELECT
/* System-wide .bashrc file for interactive shells. */
-/* #define SYS_BASHRC "/etc/bash.bashrc" */
+#define SYS_BASHRC "/etc/bash.bashrc"
/* System-wide .bash_logout for login shells. */
-/* #define SYS_BASH_LOGOUT "/etc/bash.bash_logout" */
+#define SYS_BASH_LOGOUT "/etc/bash.bash_logout"
/* Define this to make non-interactive shells begun with argv[0][0] == '-'
run the startup files when not in posix mode. */
-/* #define NON_INTERACTIVE_LOGIN_SHELLS */
+#define NON_INTERACTIVE_LOGIN_SHELLS
/* Define this if you want bash to try to check whether it's being run by
sshd and source the .bashrc if so (like the rshd behavior). */
--- general.h
+++ general.h 2006-03-27 14:15:25.000000000 +0200
@@ -21,10 +21,13 @@
#if !defined (_GENERAL_H_)
#define _GENERAL_H_
+#include <time.h>
+#include <sys/types.h>
#include "stdc.h"
#include "bashtypes.h"
#include "chartypes.h"
+#include "bashline.h"
#if defined (HAVE_SYS_RESOURCE_H) && defined (RLIMTYPE)
# if defined (HAVE_SYS_TIME_H)
--- jobs.c
+++ jobs.c 2006-03-27 14:15:25.000000000 +0200
@@ -197,10 +197,10 @@ int previous_job = NO_JOB;
#endif
/* Last child made by the shell. */
-pid_t last_made_pid = NO_PID;
+volatile pid_t last_made_pid = NO_PID;
/* Pid of the last asynchronous child. */
-pid_t last_asynchronous_pid = NO_PID;
+volatile pid_t last_asynchronous_pid = NO_PID;
/* The pipeline currently being built. */
PROCESS *the_pipeline = (PROCESS *)NULL;
@@ -213,7 +213,7 @@ int already_making_children = 0;
/* If this is non-zero, $LINES and $COLUMNS are reset after every process
exits from get_tty_state(). */
-int check_window_size;
+int check_window_size = 1;
/* Functions local to this file. */
--- jobs.h
+++ jobs.h 2006-03-27 14:15:25.000000000 +0200
@@ -162,7 +162,7 @@ extern pid_t fork (), getpid (), getpgrp
extern struct jobstats js;
extern pid_t original_pgrp, shell_pgrp, pipeline_pgrp;
-extern pid_t last_made_pid, last_asynchronous_pid;
+extern volatile pid_t last_made_pid, last_asynchronous_pid;
extern int asynchronous_notification;
extern JOB **jobs;
--- parse.y
+++ parse.y 2006-03-27 14:15:25.000000000 +0200
@@ -1182,7 +1182,7 @@ input_file_descriptor ()
#if defined (READLINE)
char *current_readline_prompt = (char *)NULL;
-char *current_readline_line = (char *)NULL;
+unsigned char *current_readline_line = (unsigned char *)NULL;
int current_readline_line_index = 0;
static int
--- shell.c
+++ shell.c 2006-03-27 14:15:25.000000000 +0200
@@ -460,7 +460,7 @@ main (argc, argv, env)
if (dump_translatable_strings)
read_but_dont_execute = 1;
- if (running_setuid && privileged_mode == 0)
+ if (running_setuid && privileged_mode == 0 /* && act_like_sh == 0 */)
disable_priv_mode ();
/* Need to get the argument to a -c option processed in the
--- subst.c
+++ subst.c 2006-03-27 14:15:25.000000000 +0200
@@ -2707,6 +2707,7 @@ call_expand_word_internal (w, q, i, c, e
last_command_exit_value = EXECUTION_FAILURE;
exp_jump_to_top_level ((result == &expand_word_error) ? DISCARD : FORCE_EOF);
/* NOTREACHED */
+ return NULL; /* make stupid compiler happy */
}
else
return (result);
--- variables.c
+++ variables.c 2006-03-27 14:15:25.000000000 +0200
@@ -1191,8 +1191,10 @@ assign_random (self, value, unused)
arrayind_t unused;
{
sbrand (strtoul (value, (char **)NULL, 10));
+#if !defined(linux)
if (subshell_environment)
seeded_subshell = 1;
+#endif
return (self);
}
--- builtins/shopt.def
+++ builtins/shopt.def 2006-03-27 14:15:25.000000000 +0200
@@ -252,9 +252,9 @@ reset_shopt_options ()
allow_null_glob_expansion = glob_dot_filenames = 0;
cdable_vars = mail_warning = 0;
no_exit_on_failed_exec = print_shift_error = 0;
- check_hashed_filenames = cdspelling = expand_aliases = check_window_size = 0;
+ check_hashed_filenames = cdspelling = expand_aliases = 0;
- source_uses_path = promptvars = 1;
+ check_window_size = source_uses_path = promptvars = 1;
#if defined (EXTENDED_GLOB)
extended_glob = 0;
--- doc/Makefile.in
+++ doc/Makefile.in 2006-03-27 14:15:25.000000000 +0200
@@ -141,7 +141,7 @@ BASHREF_FILES = $(srcdir)/bashref.texi $
${RM} $@
-${DVIPS} $<
-all: ps info dvi text html
+all: info html
nodvi: ps info text html
PSFILES = bash.ps bashbug.ps article.ps builtins.ps rbash.ps
--- doc/bash.1
+++ doc/bash.1 2006-03-27 14:15:25.000000000 +0200
@@ -4370,8 +4370,8 @@ file (the \fIinputrc\fP file).
The name of this file is taken from the value of the
.SM
.B INPUTRC
-variable. If that variable is unset, the default is
-.IR ~/.inputrc .
+environment variable. If that variable is unset, readline will read both
+.IR /etc/inputrc " and " ~/.inputrc .
When a program which uses the readline library starts up, the
initialization file is read, and the key bindings and variables
are set.
@@ -8816,6 +8816,9 @@ The individual login shell cleanup file,
.TP
.FN ~/.inputrc
Individual \fIreadline\fP initialization file
+.TP
+.FN /etc/inputrc
+System \fBreadline\fP initialization file
.PD
.SH AUTHORS
Brian Fox, Free Software Foundation
--- support/rlvers.sh
+++ support/rlvers.sh 2006-03-27 14:15:25.000000000 +0200
@@ -27,10 +27,10 @@ TDIR=$TMPDIR/rlvers
# defaults
CC=cc
-RL_LIBDIR=/usr/local/lib
-RL_INCDIR=/usr/local/include
+RL_LIBDIR=/lib
+RL_INCDIR=/usr/include
-TERMCAP_LIB="-ltermcap"
+TERMCAP_LIB="-lncurses"
# cannot rely on the presence of getopts
while [ $# -gt 0 ]; do
--- support/shobj-conf
+++ support/shobj-conf 2006-09-22 16:11:58.000000000 +0200
@@ -108,10 +108,11 @@ sunos5*|solaris2*)
linux*-*|gnu*-*|k*bsd*-gnu-*)
SHOBJ_CFLAGS=-fPIC
SHOBJ_LD='${CC}'
- SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
+ SHOBJ_LDFLAGS='-shared'
- SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir) -Wl,-soname,`basename $@ $(SHLIB_MINOR)`'
+ SHLIB_XLDFLAGS='-Wl,-rpath-link,$(libdir) -Wl,-soname,`basename $@ $(SHLIB_MINOR)`'
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
+ SHLIB_LIBS=-lncurses
;;
freebsd2* | netbsd*)

3
bash-3.2.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:db7d1eda0e56a05c5d6931a4f9949c8f40b3d6deed41b699dd313160203bfd8f
size 1930918

901
bash.changes Normal file
View File

@ -0,0 +1,901 @@
-------------------------------------------------------------------
Thu Dec 14 13:10:30 CET 2006 - werner@suse.de
- Update to bash 3.2 patch level 9
-------------------------------------------------------------------
Wed Dec 6 21:10:45 CET 2006 - schwab@suse.de
- Remove obsolete patches.
-------------------------------------------------------------------
Fri Nov 17 15:05:12 CET 2006 - werner@suse.de
- Remove /usr/bin/bash (#206000)
-------------------------------------------------------------------
Tue Nov 14 11:50:32 CET 2006 - werner@suse.de
- Update to bash 3.2 patch level 5
-------------------------------------------------------------------
Wed Sep 27 18:08:11 CEST 2006 - werner@suse.de
- Use PIE to make a shared bash binary
- Make the bash modules build for testing
-------------------------------------------------------------------
Fri Sep 22 17:25:15 CEST 2006 - werner@suse.de
- Remove rpath option for libraries use linker defaults instead
-------------------------------------------------------------------
Fri Sep 22 15:01:46 CEST 2006 - werner@suse.de
- Add symbolic link for POSIX bourne shell to /usr/bin/ (#206000)
-------------------------------------------------------------------
Thu Sep 14 18:14:50 CEST 2006 - werner@suse.de
- Add environment variable DEFAULT_BELL_STYLE to control the
bell style of the readline library without using intputrc.
-------------------------------------------------------------------
Mon Aug 7 12:45:55 CEST 2006 - werner@suse.de
- Let readline-devel requires libncurses.so (bug #188673)
-------------------------------------------------------------------
Thu Jul 27 17:13:16 CEST 2006 - werner@suse.de
- Let printf builtin handle stdout errors correctly (bug #190349)
-------------------------------------------------------------------
Wed May 31 19:11:15 CEST 2006 - werner@suse.de
- Fix crash in IFS multi byte handling (bug #180317)
-------------------------------------------------------------------
Tue May 23 14:16:14 CEST 2006 - werner@suse.de
- Make the test suite run even on ppc emulated on ppc64
-------------------------------------------------------------------
Mon May 15 17:16:37 CEST 2006 - werner@suse.de
- Update bash 3.1 to patch level 17
* Allow array subscripts to be sourounded by double quotes
- Run test suite with nearly all scripts
-------------------------------------------------------------------
Mon Apr 3 12:40:23 CEST 2006 - werner@suse.de
- Update bash 3.1 to patch level 16
* Bash will dump core when attempting to perform globbing in
directories with very large numbers of files
* Solve problem with the extended globbing code prevented dots
from matching filenames when used in some matching patterns
-------------------------------------------------------------------
Mon Mar 27 15:08:18 CEST 2006 - werner@suse.de
- Use access(2) with temporary switched euid/ruid and egid/rgid
instead of stat(2) to determine the access permissions of a
file, this works even on RO mounted NFS file systems (#160513)
-------------------------------------------------------------------
Wed Mar 22 16:09:24 CET 2006 - werner@suse.de
- Be sure that ~/.inputrc is read even if INPUTRC is set to
system wide /etc/inputrc (bug #160003)
- Make prefix-meta work even with new readline syntax but
disable it by default (since bug #suse21096)
-------------------------------------------------------------------
Mon Mar 20 15:43:02 CET 2006 - werner@suse.de
- Update to bash 3.1 to patch level 14 and readline 5.1 to level 4
* Do not terminate words prematurely if parentheses are involved
* Readline sometimes reference freed memory
* Fix double displayed prompt when using non-incremental searches
-------------------------------------------------------------------
Sun Mar 12 17:16:32 CET 2006 - schwab@suse.de
- Update bash31-010 patch, better fix for #151000.
-------------------------------------------------------------------
Thu Mar 2 11:25:10 CET 2006 - werner@suse.de
- Update bash 3.1 to patch level 11 and readline 5.1 to level 2
* Includes fix for line-wrapping errors
* Replacement for bug fix of bug #146075 with better
reallocation and compaction of the job array list.
* Do not let SIGINT from terminal reach background processes
* Do not let asynchronous background jobs set the terminal
process group incorrectly.
* Replacement for bug fix of bug #151000
* Do not strip quoting inside double-quoted command substitutions
-------------------------------------------------------------------
Wed Mar 1 17:02:20 CET 2006 - werner@suse.de
- Re-enable escaping newline within quotes in commands (#151000)
-------------------------------------------------------------------
Mon Jan 30 13:28:36 CET 2006 - werner@suse.de
- Do initialize the fresh members of the job array (bug #146075)
-------------------------------------------------------------------
Mon Jan 30 12:00:27 CET 2006 - schwab@suse.de
- Barf if /proc is missing.
-------------------------------------------------------------------
Wed Jan 25 21:29:58 CET 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
-------------------------------------------------------------------
Tue Jan 10 12:05:33 CET 2006 - werner@suse.de
- Update to newest patch level 5:
+ corrects several omissions in the bash documentation
+ local array variable declared at function scope shadowing
a global variable should create a separate instance
+ When tilde expansion fails, do not skip rest of an expansion
- Expand dollar quotes even for the single quote case (bug #141394)
-------------------------------------------------------------------
Thu Dec 22 18:01:11 CET 2005 - werner@suse.de
- Switch to first patchlevel for the bash and the readline library.
This should fix problems happen with local/eval/let builtins.
-------------------------------------------------------------------
Mon Dec 19 13:36:46 CET 2005 - werner@suse.de
- Remove dangling sym links
-------------------------------------------------------------------
Tue Dec 13 15:19:43 CET 2005 - schwab@suse.de
- Fix segfault in readline callback interface.
-------------------------------------------------------------------
Mon Dec 12 16:03:34 CET 2005 - schwab@suse.de
- Fix return of random data.
- Set CFLAGS_FOR_BUILD.
-------------------------------------------------------------------
Fri Dec 9 18:15:44 CET 2005 - werner@suse.de
- Update to bash version 3.1 and readline library version 5.1
-------------------------------------------------------------------
Thu Sep 29 17:41:12 CEST 2005 - werner@suse.de
- More cookie for the compiler
-------------------------------------------------------------------
Mon Sep 19 15:16:12 CEST 2005 - werner@suse.de
- Give the compiler its cookie
-------------------------------------------------------------------
Tue Apr 19 17:22:17 CEST 2005 - postadal@suse.cz
- fixed crashing on read -e command and line wrapping (in readline code)
(bug #76709)
-------------------------------------------------------------------
Fri Jan 28 13:34:10 CET 2005 - werner@suse.de
- Add workaround for NFS bug which does not check permissions
on open of a file but close (bug #20244)
-------------------------------------------------------------------
Thu Nov 25 15:29:10 CET 2004 - werner@suse.de
- Remove local array patch because not needed anymore
- Fix a crash on internal arrays if unset during execution of
functions and files (bug #48511)
-------------------------------------------------------------------
Fri Nov 19 16:31:21 CET 2004 - werner@suse.de
- Fix the evalexp fix (bug #48253)
-------------------------------------------------------------------
Sun Nov 21 03:37:08 CET 2004 - schwab@suse.de
- Add patches from <ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/> and
<ftp://ftp.cwru.edu/pub/bash/readline-5.0-patches/>.
-------------------------------------------------------------------
Mon Oct 25 17:31:46 CEST 2004 - werner@suse.de
- Be sure that the FN macro nroff macro is available in all
sub manual pages (bug #47560)
-------------------------------------------------------------------
Tue Oct 12 15:33:11 CEST 2004 - werner@suse.de
- Re-activate first part of prompt fix because it does not harm
(bug #36919)
-------------------------------------------------------------------
Tue Oct 12 12:35:47 CEST 2004 - ro@suse.de
- no macros in Version lines
-------------------------------------------------------------------
Mon Oct 11 15:56:32 CEST 2004 - werner@suse.de
- Disable prompt patch for now because not needed and other
problmes caused by this fix (bug #36919)
- Clear out last_made_pid on success (bug #42232)
-------------------------------------------------------------------
Thu Sep 30 14:33:55 CEST 2004 - werner@suse.de
- Clear out prompt line of isearch for invisible chars (bug #36919)
-------------------------------------------------------------------
Wed Sep 29 18:23:21 CEST 2004 - werner@suse.de
- Fix prompt problem with invisible characters (bug #36919)
-------------------------------------------------------------------
Fri Sep 17 16:10:23 CEST 2004 - werner@suse.de
- Fix line wraping for newlines in prompt (bug #45519)
-------------------------------------------------------------------
Thu Sep 16 00:05:25 CEST 2004 - schwab@suse.de
- Fix missing return value.
-------------------------------------------------------------------
Sat Sep 11 16:30:03 CEST 2004 - kukuk@suse.de
- Disable use of WCONTINUED as long as bash does not check if
it is supported.
-------------------------------------------------------------------
Mon Sep 6 18:07:54 CEST 2004 - werner@suse.de
- Fix prefix strip for last added patch
-------------------------------------------------------------------
Fri Sep 3 13:03:21 CEST 2004 - werner@suse.de
- Add warning about broken glibc locale before we get the SIGSEGV
(bug #44658)
-------------------------------------------------------------------
Sun Aug 1 11:18:30 CEST 2004 - schwab@suse.de
- Fix rl_maybe_save_line.
- Track LC_TIME.
-------------------------------------------------------------------
Fri Jul 30 17:52:53 CEST 2004 - werner@suse.de
- Put version to bash 3.0 and readline 5.0
-------------------------------------------------------------------
Mon Jun 7 13:00:15 CEST 2004 - werner@suse.de
- Add missed declaration of oldval for previous bugfix
-------------------------------------------------------------------
Fri Jun 4 19:53:47 CEST 2004 - werner@suse.de
- Fix local array variable handling (bug #41649)
-------------------------------------------------------------------
Wed Jun 2 14:54:21 CEST 2004 - werner@suse.de
- Fix evaluation none local return stack curruption (bug #41488)
-------------------------------------------------------------------
Wed Apr 7 17:55:59 CEST 2004 - werner@suse.de
- In case of quotes position counter has to be advanced (#38599)
-------------------------------------------------------------------
Thu Apr 1 12:06:33 CEST 2004 - werner@suse.de
- Add directoy check to distinguish none unique and unique
executables (bug #37329)
-------------------------------------------------------------------
Mon Mar 29 14:22:25 CEST 2004 - werner@suse.de
- Make the directory patch working as it should (bug #37329)
-------------------------------------------------------------------
Thu Mar 25 17:48:09 CET 2004 - werner@suse.de
- Move forward to official bug fixes to catch UTF-8 bug #31451
and bug #36919
-------------------------------------------------------------------
Thu Feb 12 11:29:19 CET 2004 - werner@suse.de
- Fix cut&paste error of fix for bug #34427
-------------------------------------------------------------------
Wed Feb 11 18:08:24 CET 2004 - werner@suse.de
- Fix SIGSEGV in using UTF-8 and pattern matching (bug #34427)
- Fix LC_NUMERIC handling of builtin printf (bug #34428)
-------------------------------------------------------------------
Mon Feb 2 12:42:14 CET 2004 - werner@suse.de
- Fix the fix and also bug #34242
-------------------------------------------------------------------
Thu Jan 29 16:21:23 CET 2004 - werner@suse.de
- Fix performance problem for pattern matching in UTF-8 locale
(port back patch from Mitsuru Chinen <mchinen@yamato.ibm.com>)
-------------------------------------------------------------------
Tue Jan 13 08:41:39 CET 2004 - kukuk@suse.de
- Fix last changes
-------------------------------------------------------------------
Sat Jan 10 17:23:23 CET 2004 - adrian@suse.de
- add %run_ldconfig
-------------------------------------------------------------------
Mon Jul 28 18:24:44 CEST 2003 - werner@suse.de
- Add /etc/bash_completion.d directory
-------------------------------------------------------------------
Thu Jun 26 09:54:53 CEST 2003 - kukuk@suse.de
- Fix specfile for lib64
-------------------------------------------------------------------
Wed Jun 4 18:17:51 CEST 2003 - jh@suse.de
- Enable profile feedback
-------------------------------------------------------------------
Fri May 23 13:43:27 CEST 2003 - ro@suse.de
- remove unpackaged files
-------------------------------------------------------------------
Thu May 22 17:51:07 CEST 2003 - mfabian@suse.de
- improvement for bash-2.05b-locale.patch and
bash-2.05b-readline-init.patch: this fixes the problem that
the line editor in bash is not correctly initialized in the first
bash after login via ssh or on the linux console. This is
especially obvious in UTF-8 locales when editing non-ASCII
characters on the command line. See also:
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=74701
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=74925
The following bug remains fixed:
http://bugzilla.suse.de/show_bug.cgi?id=16999
- bash-2.05b-complete.patch: (by Miloslav Trmac <mitr@volny.cz>)
achieve correct alignment of file names containing non-ASCII
characters when typing "ls " and pressing Tab twice to show
the completions. See also:
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=90201
-------------------------------------------------------------------
Mon Mar 17 19:20:44 CET 2003 - werner@suse.de
- Do not execute command line if tty is closed (bug #25445)
-------------------------------------------------------------------
Thu Feb 13 11:38:41 CET 2003 - schwab@suse.de
- Fix prompt decoding with -noediting.
-------------------------------------------------------------------
Tue Feb 11 13:34:12 CET 2003 - kukuk@suse.de
- To avoid loop in PreRequires, don't install info pages. The info
package contains a dir file which contains the bash entries
already.
-------------------------------------------------------------------
Fri Feb 7 14:20:18 CET 2003 - ro@suse.de
- fixed specfile
-------------------------------------------------------------------
Fri Feb 7 01:14:57 CET 2003 - ro@suse.de
- added install_info macros
-------------------------------------------------------------------
Mon Jan 27 21:38:30 CET 2003 - schwab@suse.de
- Fix bugs #21096 and #21392 properly: don't recurse on
do-lowercase-version for fallback entry.
-------------------------------------------------------------------
Tue Jan 21 17:04:24 CET 2003 - werner@suse.de
- Allow rbash as login shell (`-' problem, bug #22917)
-------------------------------------------------------------------
Wed Dec 18 11:13:20 CET 2002 - schwab@suse.de
- Use BuildRoot.
-------------------------------------------------------------------
Thu Dec 12 15:16:51 CET 2002 - mfabian@suse.de
- add bash-2.05b-display-mbspeed.patch received from
Jiro SEKIBA <jir@yamato.ibm.com> to improve display speed in
multibyte locales.
-------------------------------------------------------------------
Sat Nov 9 16:22:15 CET 2002 - ro@suse.de
- add bison to neededforbuild for now
(till we're sure about bison again)
-------------------------------------------------------------------
Thu Oct 31 12:05:34 CET 2002 - werner@suse.de
- For bug #21096 and #21392: implement an oom protection.
-------------------------------------------------------------------
Mon Oct 21 14:58:42 CEST 2002 - werner@suse.de
- More for bug#21096: Make prefix-meta work even if mapped onto
longer escape sequences.
-------------------------------------------------------------------
Fri Oct 18 19:55:54 CEST 2002 - werner@suse.de
- Fix bug#21096: sequences like `ESC ... CHARACTER' with CHARACTER
mapped on functions will not cause an endless recursion anymore.
-------------------------------------------------------------------
Wed Sep 25 18:31:19 CEST 2002 - ro@suse.de
- removed more bogus provides
-------------------------------------------------------------------
Wed Sep 11 12:16:44 CEST 2002 - werner@suse.de
- Correct Provides (package should not provides its self)
-------------------------------------------------------------------
Fri Aug 30 16:15:57 CEST 2002 - werner@suse.de
- Add version dependend require on readline (bug #18652)
-------------------------------------------------------------------
Fri Aug 30 15:02:29 CEST 2002 - werner@suse.de
- Fix annoying display bug in wide character support (bug #18449)
-------------------------------------------------------------------
Wed Aug 28 15:06:48 CEST 2002 - werner@suse.de
- Add comment about multi byte handling and echo builtin (#18449)
-------------------------------------------------------------------
Wed Aug 21 12:49:45 MEST 2002 - mls@suse.de
- fix $RANDOM randomness in subshells
-------------------------------------------------------------------
Fri Aug 9 10:36:33 CEST 2002 - kukuk@suse.de
- readline-devel should require readline
-------------------------------------------------------------------
Mon Jul 29 15:39:39 CEST 2002 - werner@suse.de
- Expansion of `~user/<dir>' is like `/<dir>'
-------------------------------------------------------------------
Sat Jul 27 22:19:33 CEST 2002 - kukuk@suse.de
- Remove not used tetex from neededforbuild
- Fix building of man2html (bash.html still broken)
-------------------------------------------------------------------
Fri Jul 19 17:03:47 CEST 2002 - werner@suse.de
- Check value of LANG before LC_ALL will be unset for getting the
_current_ default value of LC_ALL with setlocale(3) (bug #16999)
-------------------------------------------------------------------
Fri Jul 19 16:09:12 CEST 2002 - werner@suse.de
- Fix NULL pointer handled by memset (readline:mbutil.c)
-------------------------------------------------------------------
Thu Jul 18 17:04:27 CEST 2002 - werner@suse.de
- Update to new version bash 2.05b/readline 4.3
-------------------------------------------------------------------
Wed May 22 09:16:14 CEST 2002 - schwab@suse.de
- Fix vi-change-char.
- Fix missing declaration.
-------------------------------------------------------------------
Wed Apr 17 16:33:01 CEST 2002 - schwab@suse.de
- Fix last change.
-------------------------------------------------------------------
Thu Apr 11 11:55:02 CEST 2002 - sf@suse.de
- using %{_libdir} to put the shlibs into the correct directories
(lib / lib64)
-------------------------------------------------------------------
Tue Mar 26 15:27:45 CET 2002 - werner@suse.de
- Fix possible endless loop if terminal will be disconneted during
complete answer (bug report from bastian@kde.org, for more see
http://bugs.kde.org/db/37/37999.html)
-------------------------------------------------------------------
Wed Mar 20 00:47:48 CET 2002 - ro@suse.de
- removed tetex from neededforbuild, it's not used here
-------------------------------------------------------------------
Wed Mar 6 13:36:58 CET 2002 - werner@suse.de
- Use improved bug fix for line wrapping problem, now line wrapping
work for char and wide char environments
- Fix readline version number
-------------------------------------------------------------------
Wed Feb 27 14:30:37 CET 2002 - mfabian@suse.de
- add readline-4.2-i18n-0.3-display.patch from
Jiro SEKIBA <jir@yamato.ibm.com> to fix a line wrapping
problem.
-------------------------------------------------------------------
Mon Jan 21 13:49:50 CET 2002 - werner@suse.de
- Fix bug #12834: Update to bash-2.05-i18n-0.5.patch.gz and
bash-2.05-readline-i18n-0.3.patch.gz
-------------------------------------------------------------------
Thu Oct 18 14:49:18 CEST 2001 - werner@suse.de
- Allways include /etc/inputrc if INPUTRC isn't system file
-------------------------------------------------------------------
Mon Oct 8 14:26:26 CEST 2001 - werner@suse.de
- Fix readline i18n patch: enable configure of multi byte handling,
fix warnings and bug in histexpand.c
-------------------------------------------------------------------
Fri Oct 5 13:15:29 CEST 2001 - werner@suse.de
- Add two patches for I18N support of bash and readline library
-------------------------------------------------------------------
Tue Sep 4 11:36:33 CEST 2001 - werner@suse.de
- Add patch to avoid trouble with C++ header definitions
-------------------------------------------------------------------
Fri Aug 3 14:34:19 CEST 2001 - werner@suse.de
- Fix fc crash (bug #9620)
-------------------------------------------------------------------
Mon Jul 2 12:12:26 CEST 2001 - olh@suse.de
- dont apply bash-2.05-s390x-unwind.patch on ppc and sparc
-------------------------------------------------------------------
Thu Jun 14 01:30:56 CEST 2001 - bk@suse.de
- fix 64-bit bigendian bug for s390x
-------------------------------------------------------------------
Wed Jun 6 13:36:46 CEST 2001 - werner@suse.de
- Re-order configure.in to avoid trouble with new autoconf
-------------------------------------------------------------------
Tue May 8 20:03:27 CEST 2001 - mfabian@suse.de
- bzip2 sources
-------------------------------------------------------------------
Sat May 5 20:09:56 CEST 2001 - schwab@suse.de
- Fix process substitution when stdin is closed.
-------------------------------------------------------------------
Wed May 2 19:28:19 CEST 2001 - werner@suse.de
- Make patch for 2.4.4 work within spec
-------------------------------------------------------------------
Wed May 2 18:23:12 CEST 2001 - werner@suse.de
- Remove buggy patch in job control, add a workaround
-------------------------------------------------------------------
Mon Apr 30 13:03:32 CEST 2001 - werner@suse.de
- Add patch to get job control into right order on a pipe
-------------------------------------------------------------------
Thu Apr 12 13:09:25 CEST 2001 - werner@suse.de
- Provide cpp macro OLD_READLINE for backwards compatibility
at compile time with old readline interface
-------------------------------------------------------------------
Thu Apr 12 00:45:22 CEST 2001 - ro@suse.de
- added split-alias as provides (again)
-------------------------------------------------------------------
Wed Apr 11 20:05:33 CEST 2001 - werner@suse.de
- Update to bash 2.05 and readline 4.2
- Port of our patches
-------------------------------------------------------------------
Thu Feb 22 16:47:10 CET 2001 - werner@suse.de
- Split package into bash/readline/readline-devel
- Depend libreadline on libncurses
-------------------------------------------------------------------
Thu Sep 14 19:36:33 CEST 2000 - werner@suse.de
- Add some bug fixes
- Add missed ssh fix for none interactive shell
-------------------------------------------------------------------
Wed Jun 7 16:14:10 CEST 2000 - werner@suse.de
- Fix some patches
- Add export patch for bash 2.04
- Fix `soname' of readline and history libraries
- Fix linkage of major readline and history libraries
-------------------------------------------------------------------
Mon Jun 5 17:21:42 CEST 2000 - schwab@suse.de
- Fix unwind_protect_pointer on 64-bit systems.
-------------------------------------------------------------------
Wed May 31 20:27:10 CEST 2000 - schwab@suse.de
- Comment out declaration of savestring in <readline.h> that conflicts
with other people's declaration (eg. gdb).
-------------------------------------------------------------------
Mon May 29 16:36:08 CEST 2000 - aj@suse.de
- Upgrade to bash 2.04 and readline 4.1.
-------------------------------------------------------------------
Sun May 21 13:27:08 CEST 2000 - kukuk@suse.de
- Use docdir
-------------------------------------------------------------------
Sat Apr 1 20:47:46 GMT 2000 - bk@suse.de
- remove obviosly unneeded link /usr/lib/libreadline.so on s390
-------------------------------------------------------------------
Tue Mar 14 15:38:40 CET 2000 - werner@suse.de
- Add locale patch to enable LC_NUMERIC handling
-------------------------------------------------------------------
Thu Feb 24 15:59:44 CET 2000 - werner@suse.de
- Use $VENDOR for several linux architectures
- Set check_window_size (shopt checkwinsize) to true, this will
correct screen size even if it changes during a job.
-------------------------------------------------------------------
Tue Feb 15 14:02:34 CET 2000 - schwab@suse.de
- Update config.{guess,sub} to latest version.
- Fix spec file to create doc directory before installing into it.
-------------------------------------------------------------------
Fri Jan 28 23:43:17 CET 2000 - werner@suse.de
- Add mailstat patch (handles mail directories)
- Fix configuration (system is %arch-suse-linux)
- Fix segfault (job handling)
- Fix manual (add rbash manual, add some missed options)
- Install rbash (symlink to bash)
- Fix readline (End, Del)
- Fix temporary file handling (do not write without check)
- Use system random interface not builtin
- Remove some compiler warnings
- Set --enable-disabled-builtins (useful)
- Install shared readline and history in /lib (bash needs that)
- Enable shared readline (version 4.0) and history library
- Try to use shared readline and history for bash (TEST)
-------------------------------------------------------------------
Fri Dec 3 17:29:40 CET 1999 - kasal@suse.de
- added command to make and install doc/bashref.html
-------------------------------------------------------------------
Fri Nov 26 20:52:19 MET 1999 - kukuk@suse.de
- Fix spec file
-------------------------------------------------------------------
Thu Nov 25 16:28:05 MET 1999 - kukuk@suse.de
- Merge Makefile.Linux with spec file, use RPM_OPT_FLAGS
- Remove --disable-dparen-arithmetic
-------------------------------------------------------------------
Mon Sep 13 17:23:57 CEST 1999 - bs@suse.de
- ran old prepare_spec on spec file to switch to new prepare_spec.
-------------------------------------------------------------------
Tue Aug 24 12:34:43 MEST 1999 - uli@suse.de
- fixed for PPC
-------------------------------------------------------------------
Mon Jul 19 09:27:00 MEST 1999 - florian@suse.de
- update to bash 2.03, readline 4.0
-------------------------------------------------------------------
Wed Jan 13 15:42:09 MET 1999 - @suse.de
- disabled `Broken pipe' messages
-------------------------------------------------------------------
Sun Dec 13 22:34:55 MET 1998 - bs@suse.de
- removed notify message - bash 2.0 is standard for a long time now.
-------------------------------------------------------------------
Mon Dec 7 15:51:52 MET 1998 - florian@suse.de
- remove SSH_CLIENT-kludge as this cannot detect all correct cases
where .bashrc should be loaded
- delete email-changes in bashbug script
- update readline to version 2.2.1
-------------------------------------------------------------------
Thu Nov 12 13:50:00 MET 1998 - bs@suse.de
- minor fix for new rpm
-------------------------------------------------------------------
Thu Oct 1 10:30:05 MEST 1998 - ro@suse.de
- update to 2.02.1 / reintegrated werner's tmp-fix for bashbug
-------------------------------------------------------------------
Thu Jul 23 14:03:44 MET DST 1998 - werner@suse.de
- use mktemp
-------------------------------------------------------------------
Thu Jul 16 20:39:05 MEST 1998 - werner@suse.de
- fix bashbug temp file handling
-------------------------------------------------------------------
Wed Jun 17 17:21:39 MEST 1998 - ro@suse.de
- changed general.h: !defined (gid_t)
----------------------------------------------------------------------------
Mon Oct 27 12:55:07 MET 1997 - florian@suse.de
- do not include old compatible-only safestring() in libreadline.a
----------------------------------------------------------------------------
Thu Oct 9 19:08:47 MEST 1997 - florian@suse.de
- update to version 2.01.1
- add several bugfixes
- fix missing things in spec-file
----------------------------------------------------------------------------
Thu Aug 14 15:53:29 MEST 1997 - florian@suse.de
- add several bug-fixes from gnu.bash.bug and fix memory management
of LC_ALL
----------------------------------------------------------------------------
Sat Jul 5 10:08:27 MEST 1997 - florian@suse.de
- add another bugfix from gnu.utils.bugs
----------------------------------------------------------------------------
Mon Jun 23 23:04:57 MEST 1997 - florian@suse.de
- create the history file with 0600 perms
- add minor bugfix to check for new email
----------------------------------------------------------------------------
Thu Jun 5 11:08:05 MEST 1997 - florian@suse.de
- update to bash 2.01 and readline 2.1
- add more documentation files in /usr/doc
----------------------------------------------------------------------------
Thu Jun 5 11:08:05 MEST 1997 - florian@suse.de
- bash: check for NULL-pointer before calling "savestring()"
- add bashref.info and newer FAQ
----------------------------------------------------------------------------
Tue Apr 22 15:16:57 CEST 1997 - bs@suse.de
- added FAQ and bashref.html to /usr/doc/packages/bash
----------------------------------------------------------------------------
Sun Apr 13 23:04:29 MEST 1997 - florian@suse.de
- update to bash 2.0 with lots of patches from gnu.utils.bugs
-------------------------------------------------------------------------
Mon Sep 2 02:48:35 MET DST 1996
new version with security patches
-------------------------------------------------------------------------
Fri Aug 23 16:13:49 MET DST 1996 - florian@suse.de
security fix included (0xff was command separator)

747
bash.spec Normal file
View File

@ -0,0 +1,747 @@
#
# spec file for package bash (Version 3.2)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: bash
License: GNU General Public License (GPL)
Group: System/Shells
Requires: readline >= 5.2
Autoreqprov: on
Version: 3.2
Release: 5
%define bash_vers 3.2
%define rl_vers 5.2
Summary: The GNU Bourne-Again Shell
URL: http://www.gnu.org/software/bash/bash.html
Source0: bash-%{bash_vers}.tar.bz2
Source1: readline-%{rl_vers}.tar.bz2
Source2: bash-%{bash_vers}-patches.tar.bz2
Source3: readline-%{rl_vers}-patches.tar.bz2
Source4: run-tests
Patch0: bash-%{bash_vers}.dif
Patch1: bash-2.03-manual.patch
Patch2: bash-2.05a-security.patch
Patch3: bash-3.2-2.4.4.patch
Patch4: bash-3.0-evalexp.patch
Patch5: bash-3.0-warn-locale.patch
Patch6: bash-3.0-nfs_redir.patch
Patch7: bash-3.0-decl.patch
Patch8: bash-3.1-random.patch
Patch9: bash-3.1-extended_quote.patch
Patch10: bash-3.2-printf.patch
Patch11: bash-3.1-loadables.dif
Patch20: readline-%{rl_vers}.dif
Patch21: readline-4.3-input.dif
Patch22: readline-5.2-wrap.patch
Patch23: readline-5.2-conf.patch
Patch30: readline-5.1-destdir.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Bash is an sh-compatible command interpreter that executes commands
read from standard input or from a file. Bash incorporates useful
features from the Korn and C shells (ksh and csh). Bash is intended to
be a conformant implementation of the IEEE Posix Shell and Tools
specification (IEEE Working Group 1003.2).
Authors:
--------
Brian Fox <bfox@gnu.org>
Chet Ramey <chet@ins.cwru.edu>
%package -n readline
Summary: The Readline Library
Group: System/Libraries
Provides: bash:/lib/libreadline.so.5
Version: 5.2
Release: 5
Autoreqprov: on
%description -n readline
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.
Authors:
--------
Brian Fox <bfox@gnu.org>
Chet Ramey <chet@ins.cwru.edu>
%package -n readline-devel
Summary: Include Files and Libraries mandatory for Development.
Group: Development/Libraries/C and C++
Provides: bash:/usr/lib/libreadline.a
Version: 5.2
Release: 5
Requires: readline = %{version}-%{release}, %{_libdir}/libncurses.so
Autoreqprov: on
%description -n readline-devel
This package contains all necessary include files and libraries needed
to develop applications that require these.
Authors:
--------
Brian Fox <bfox@gnu.org>
Chet Ramey <chet@ins.cwru.edu>
%prep
%setup -n bash-%{bash_vers} -b1 -b2 -b3
for p in ../bash-%{bash_vers}-patches/*; do
test -e $p || break
echo Patch $p
patch -s -p0 < $p
done
unset p
%patch1 -p0 -b .manual
%patch2 -p0 -b .security
%patch3 -p0 -b .2.4.4
%patch4 -p0 -b .evalexp
%patch5 -p0 -b .warnlc
%patch6 -p0 -b .nfs_redir
%patch7 -p0 -b .decl
%patch8 -p1 -b .random2
%patch9 -p0 -b .extended_quote
%patch10 -p0 -b .printf
%patch11 -p0 -b .plugins
for p in ../readline-%{rl_vers}-patches/*; do
test -e $p || break
case "${p##*/}" in
readline52-001)
echo Patch ${p##*/} already part of bash32-006
continue
;;
esac
echo Patch $p
patch -d lib/readline/ -s -p0 < $p
done
unset p
%patch21 -p0 -b .zerotty
%patch22 -p0 -b .wrap
%patch23 -p0 -b .conf
%patch0 -p0
cd ../readline-%{rl_vers}
for p in ../readline-%{rl_vers}-patches/*; do
test -e $p || break
echo Patch $p
patch -s -p0 < $p
done
%patch21 -p2 -b .zerotty
%patch22 -p2 -b .wrap
%patch23 -p2 -b .conf
%patch30 -p0 -b .destdir
%patch20 -p0
%build
LANG=POSIX
LC_ALL=$LANG
unset LC_CTYPE
CPU=$(uname -m 2> /dev/null)
HOSTTYPE=${CPU}
MACHTYPE=${CPU}-suse-linux
export LANG LC_ALL HOSTTYPE MACHTYPE
cd ../readline-%{rl_vers}
%{?suse_update_config:%{suse_update_config -f support}}
CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -DRECYCLES_PIDS -Wall -pipe -g"
CFLAGS_FOR_BUILD="$CFLAGS"
CC=gcc
export CFLAGS CFLAGS_FOR_BUILD CC
autoconf
./configure --build=%{_target_cpu}-suse-linux \
--prefix=/usr \
--with-curses \
--mandir=%{_mandir} \
--infodir=%{_infodir} \
--libdir=%{_libdir}
make
make documentation
ln -sf shlib/libreadline.so.%{rl_vers} libreadline.so
ln -sf shlib/libreadline.so.%{rl_vers} libreadline.so.5
ln -sf shlib/libhistory.so.%{rl_vers} libhistory.so
ln -sf shlib/libhistory.so.%{rl_vers} libhistory.so.5
cd ../bash-%{bash_vers}
# /proc is required for correct configuration
test -d /dev/fd || { echo "/proc is not mounted!" >&2; exit 1; }
ln -sf ../readline-%{rl_vers} readline
CC="gcc -I$PWD -L$PWD/../readline-%{rl_vers}"
export LD_LIBRARY_PATH=$PWD/../readline-%{rl_vers}
CFLAGS="$CFLAGS -fPIE"
CFLAGS_FOR_BUILD="$CFLAGS"
LDFLAGS="$LDFLAGS -pie"
export CFLAGS CFLAGS_FOR_BUILD LDFLAGS
%{?suse_update_config:%{suse_update_config -f support}}
#
# We have a malloc with our glibc
#
SYSMALLOC="
--without-gnu-malloc
--without-glibc-malloc
"
#
# System readline library (comment out it not to be used)
#
READLINE="
--with-installed-readline
"
bash support/mkconffiles -v
autoconf
./configure --build=%{_target_cpu}-suse-linux \
--prefix=/usr \
--mandir=%{_mandir} \
--infodir=%{_infodir} \
--libdir=%{_libdir} \
--with-curses \
$SYSMALLOC \
--enable-job-control \
--enable-alias \
--enable-readline \
--enable-history \
--enable-bang-history \
--enable-directory-stack \
--enable-process-substitution \
--enable-prompt-string-decoding \
--enable-select \
--enable-help-builtin \
--enable-array-variables \
--enable-brace-expansion \
--enable-command-timing \
--enable-disabled-builtins \
$READLINE
%if %do_profiling
make CFLAGS="$CFLAGS "%cflags_profile_generate bash printenv recho zecho
env -i TERM=$TERM make TESTSCRIPT=%{SOURCE4} check
make clean
make CFLAGS="$CFLAGS "%cflags_profile_feedback
%else
make all printenv recho zecho
env -i TERM=$TERM make TESTSCRIPT=%{SOURCE4} check
%endif
make -C examples/loadables/
make documentation
%install
cd ../readline-%{rl_vers}
make install DESTDIR=$RPM_BUILD_ROOT
make install-shared libdir=/%{_lib} linkagedir=%{_libdir} DESTDIR=$RPM_BUILD_ROOT
rm -rf $RPM_BUILD_ROOT%{_defaultdocdir}/bash
mkdir -p $RPM_BUILD_ROOT%{_defaultdocdir}/bash
install -m 644 doc/*.html $RPM_BUILD_ROOT%{_defaultdocdir}/bash/
chmod 0755 $RPM_BUILD_ROOT/%{_lib}/libhistory.so.%{rl_vers}
chmod 0755 $RPM_BUILD_ROOT/%{_lib}/libreadline.so.%{rl_vers}
rm -f $RPM_BUILD_ROOT/%{_lib}/libhistory.so.%{rl_vers}*old
rm -f $RPM_BUILD_ROOT/%{_lib}/libreadline.so.%{rl_vers}*old
cd ../bash-%{bash_vers}
make install DESTDIR=$RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/bin
mv $RPM_BUILD_ROOT/usr/bin/bash $RPM_BUILD_ROOT/bin/
ln -sf bash $RPM_BUILD_ROOT/bin/sh
ln -sf ../../bin/bash $RPM_BUILD_ROOT/usr/bin/sh
ln -sf ../../bin/bash $RPM_BUILD_ROOT/usr/bin/rbash
install -m 644 COMPAT NEWS $RPM_BUILD_ROOT%{_defaultdocdir}/bash/
install -m 644 COPYING $RPM_BUILD_ROOT%{_defaultdocdir}/bash/
install -m 644 doc/FAQ $RPM_BUILD_ROOT%{_defaultdocdir}/bash/
install -m 644 doc/INTRO $RPM_BUILD_ROOT%{_defaultdocdir}/bash/
install -m 644 doc/*.html $RPM_BUILD_ROOT%{_defaultdocdir}/bash/
install -m 644 doc/builtins.1 $RPM_BUILD_ROOT%{_mandir}/man1/bashbuiltins.1
install -m 644 doc/rbash.1 $RPM_BUILD_ROOT%{_mandir}/man1/rbash.1
gzip -9f $RPM_BUILD_ROOT%{_infodir}/*.inf*[^z] || true
mkdir -p $RPM_BUILD_ROOT/etc/bash_completion.d
sed 's/^|//' > $RPM_BUILD_ROOT%{_defaultdocdir}/bash/BUGS <<\EOF
Known problems
--------------
|
This version of bash/readline supports multi byte handling
that is e.g. wide character support for UTF-8. This causes
problems in geting the current cursor position within the
readline runtime library:
|
bash-%{bash_vers}> LANG=ja_JP
bash-%{bash_vers}> echo -n "Hello"
bash-%{bash_vers}>
|
In other words the prompt overwrites the output of the
echo comand. The boolean variable byte-oriented
set in /etc/inputrc or $HOME/.inputrc avoids this
but disables multi byte handling.
EOF
# remove unpackaged files
rm -fv $RPM_BUILD_ROOT/usr/%{_lib}/libhistory.so.*
rm -fv $RPM_BUILD_ROOT/usr/%{_lib}/libreadline.so.*
rm -fv $RPM_BUILD_ROOT/usr/share/info/rluserman.info.gz
rm -fv $RPM_BUILD_ROOT/usr/share/man/man3/history.3*
%post -n readline -p /sbin/ldconfig
%postun -n readline -p /sbin/ldconfig
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
/bin/bash
/bin/sh
%dir /etc/bash_completion.d
/usr/bin/bashbug
/usr/bin/rbash
/usr/bin/sh
%doc %{_infodir}/bash.info.gz
%doc %{_mandir}/man1/bash.1.gz
%doc %{_mandir}/man1/bashbuiltins.1.gz
%doc %{_mandir}/man1/bashbug.1.gz
%doc %{_mandir}/man1/rbash.1.gz
%doc %{_defaultdocdir}/bash/
/usr/share/locale/*/LC_MESSAGES/bash.mo
%files -n readline
%defattr(-,root,root)
/%{_lib}/libhistory.so.5
/%{_lib}/libhistory.so.%{rl_vers}
/%{_lib}/libreadline.so.5
/%{_lib}/libreadline.so.%{rl_vers}
%doc %{_infodir}/history.info.gz
%doc %{_infodir}/readline.info.gz
%files -n readline-devel
%defattr(-,root,root)
/usr/include/readline/
%{_libdir}/libhistory.a
%{_libdir}/libhistory.so
%{_libdir}/libreadline.a
%{_libdir}/libreadline.so
%doc %{_mandir}/man3/readline.3.gz
%changelog -n bash
* Thu Dec 14 2006 - werner@suse.de
- Update to bash 3.2 patch level 9
* Wed Dec 06 2006 - schwab@suse.de
- Remove obsolete patches.
* Fri Nov 17 2006 - werner@suse.de
- Remove /usr/bin/bash (#206000)
* Tue Nov 14 2006 - werner@suse.de
- Update to bash 3.2 patch level 5
* Wed Sep 27 2006 - werner@suse.de
- Use PIE to make a shared bash binary
- Make the bash modules build for testing
* Fri Sep 22 2006 - werner@suse.de
- Remove rpath option for libraries use linker defaults instead
* Fri Sep 22 2006 - werner@suse.de
- Add symbolic link for POSIX bourne shell to /usr/bin/ (#206000)
* Thu Sep 14 2006 - werner@suse.de
- Add environment variable DEFAULT_BELL_STYLE to control the
bell style of the readline library without using intputrc.
* Mon Aug 07 2006 - werner@suse.de
- Let readline-devel requires libncurses.so (bug #188673)
* Thu Jul 27 2006 - werner@suse.de
- Let printf builtin handle stdout errors correctly (bug #190349)
* Wed May 31 2006 - werner@suse.de
- Fix crash in IFS multi byte handling (bug #180317)
* Tue May 23 2006 - werner@suse.de
- Make the test suite run even on ppc emulated on ppc64
* Mon May 15 2006 - werner@suse.de
- Update bash 3.1 to patch level 17
* Allow array subscripts to be sourounded by double quotes
- Run test suite with nearly all scripts
* Mon Apr 03 2006 - werner@suse.de
- Update bash 3.1 to patch level 16
* Bash will dump core when attempting to perform globbing in
directories with very large numbers of files
* Solve problem with the extended globbing code prevented dots
from matching filenames when used in some matching patterns
* Mon Mar 27 2006 - werner@suse.de
- Use access(2) with temporary switched euid/ruid and egid/rgid
instead of stat(2) to determine the access permissions of a
file, this works even on RO mounted NFS file systems (#160513)
* Wed Mar 22 2006 - werner@suse.de
- Be sure that ~/.inputrc is read even if INPUTRC is set to
system wide /etc/inputrc (bug #160003)
- Make prefix-meta work even with new readline syntax but
disable it by default (since bug #suse21096)
* Mon Mar 20 2006 - werner@suse.de
- Update to bash 3.1 to patch level 14 and readline 5.1 to level 4
* Do not terminate words prematurely if parentheses are involved
* Readline sometimes reference freed memory
* Fix double displayed prompt when using non-incremental searches
* Sun Mar 12 2006 - schwab@suse.de
- Update bash31-010 patch, better fix for #151000.
* Thu Mar 02 2006 - werner@suse.de
- Update bash 3.1 to patch level 11 and readline 5.1 to level 2
* Includes fix for line-wrapping errors
* Replacement for bug fix of bug #146075 with better
reallocation and compaction of the job array list.
* Do not let SIGINT from terminal reach background processes
* Do not let asynchronous background jobs set the terminal
process group incorrectly.
* Replacement for bug fix of bug #151000
* Do not strip quoting inside double-quoted command substitutions
* Wed Mar 01 2006 - werner@suse.de
- Re-enable escaping newline within quotes in commands (#151000)
* Mon Jan 30 2006 - werner@suse.de
- Do initialize the fresh members of the job array (bug #146075)
* Mon Jan 30 2006 - schwab@suse.de
- Barf if /proc is missing.
* Wed Jan 25 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
* Tue Jan 10 2006 - werner@suse.de
- Update to newest patch level 5:
+ corrects several omissions in the bash documentation
+ local array variable declared at function scope shadowing
a global variable should create a separate instance
+ When tilde expansion fails, do not skip rest of an expansion
- Expand dollar quotes even for the single quote case (bug #141394)
* Thu Dec 22 2005 - werner@suse.de
- Switch to first patchlevel for the bash and the readline library.
This should fix problems happen with local/eval/let builtins.
* Mon Dec 19 2005 - werner@suse.de
- Remove dangling sym links
* Tue Dec 13 2005 - schwab@suse.de
- Fix segfault in readline callback interface.
* Mon Dec 12 2005 - schwab@suse.de
- Fix return of random data.
- Set CFLAGS_FOR_BUILD.
* Fri Dec 09 2005 - werner@suse.de
- Update to bash version 3.1 and readline library version 5.1
* Thu Sep 29 2005 - werner@suse.de
- More cookie for the compiler
* Mon Sep 19 2005 - werner@suse.de
- Give the compiler its cookie
* Tue Apr 19 2005 - postadal@suse.cz
- fixed crashing on read -e command and line wrapping (in readline code)
(bug #76709)
* Fri Jan 28 2005 - werner@suse.de
- Add workaround for NFS bug which does not check permissions
on open of a file but close (bug #20244)
* Thu Nov 25 2004 - werner@suse.de
- Remove local array patch because not needed anymore
- Fix a crash on internal arrays if unset during execution of
functions and files (bug #48511)
* Sun Nov 21 2004 - schwab@suse.de
- Add patches from <ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/> and
<ftp://ftp.cwru.edu/pub/bash/readline-5.0-patches/>.
* Fri Nov 19 2004 - werner@suse.de
- Fix the evalexp fix (bug #48253)
* Mon Oct 25 2004 - werner@suse.de
- Be sure that the FN macro nroff macro is available in all
sub manual pages (bug #47560)
* Tue Oct 12 2004 - werner@suse.de
- Re-activate first part of prompt fix because it does not harm
(bug #36919)
* Tue Oct 12 2004 - ro@suse.de
- no macros in Version lines
* Mon Oct 11 2004 - werner@suse.de
- Disable prompt patch for now because not needed and other
problmes caused by this fix (bug #36919)
- Clear out last_made_pid on success (bug #42232)
* Thu Sep 30 2004 - werner@suse.de
- Clear out prompt line of isearch for invisible chars (bug #36919)
* Wed Sep 29 2004 - werner@suse.de
- Fix prompt problem with invisible characters (bug #36919)
* Fri Sep 17 2004 - werner@suse.de
- Fix line wraping for newlines in prompt (bug #45519)
* Thu Sep 16 2004 - schwab@suse.de
- Fix missing return value.
* Sat Sep 11 2004 - kukuk@suse.de
- Disable use of WCONTINUED as long as bash does not check if
it is supported.
* Mon Sep 06 2004 - werner@suse.de
- Fix prefix strip for last added patch
* Fri Sep 03 2004 - werner@suse.de
- Add warning about broken glibc locale before we get the SIGSEGV
(bug #44658)
* Sun Aug 01 2004 - schwab@suse.de
- Fix rl_maybe_save_line.
- Track LC_TIME.
* Fri Jul 30 2004 - werner@suse.de
- Put version to bash 3.0 and readline 5.0
* Mon Jun 07 2004 - werner@suse.de
- Add missed declaration of oldval for previous bugfix
* Fri Jun 04 2004 - werner@suse.de
- Fix local array variable handling (bug #41649)
* Wed Jun 02 2004 - werner@suse.de
- Fix evaluation none local return stack curruption (bug #41488)
* Wed Apr 07 2004 - werner@suse.de
- In case of quotes position counter has to be advanced (#38599)
* Thu Apr 01 2004 - werner@suse.de
- Add directoy check to distinguish none unique and unique
executables (bug #37329)
* Mon Mar 29 2004 - werner@suse.de
- Make the directory patch working as it should (bug #37329)
* Thu Mar 25 2004 - werner@suse.de
- Move forward to official bug fixes to catch UTF-8 bug #31451
and bug #36919
* Thu Feb 12 2004 - werner@suse.de
- Fix cut&paste error of fix for bug #34427
* Wed Feb 11 2004 - werner@suse.de
- Fix SIGSEGV in using UTF-8 and pattern matching (bug #34427)
- Fix LC_NUMERIC handling of builtin printf (bug #34428)
* Mon Feb 02 2004 - werner@suse.de
- Fix the fix and also bug #34242
* Thu Jan 29 2004 - werner@suse.de
- Fix performance problem for pattern matching in UTF-8 locale
(port back patch from Mitsuru Chinen <mchinen@yamato.ibm.com>)
* Tue Jan 13 2004 - kukuk@suse.de
- Fix last changes
* Sat Jan 10 2004 - adrian@suse.de
- add %%run_ldconfig
* Mon Jul 28 2003 - werner@suse.de
- Add /etc/bash_completion.d directory
* Thu Jun 26 2003 - kukuk@suse.de
- Fix specfile for lib64
* Wed Jun 04 2003 - jh@suse.de
- Enable profile feedback
* Fri May 23 2003 - ro@suse.de
- remove unpackaged files
* Thu May 22 2003 - mfabian@suse.de
- improvement for bash-2.05b-locale.patch and
bash-2.05b-readline-init.patch: this fixes the problem that
the line editor in bash is not correctly initialized in the first
bash after login via ssh or on the linux console. This is
especially obvious in UTF-8 locales when editing non-ASCII
characters on the command line. See also:
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=74701
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=74925
The following bug remains fixed:
http://bugzilla.suse.de/show_bug.cgi?id=16999
- bash-2.05b-complete.patch: (by Miloslav Trmac <mitr@volny.cz>)
achieve correct alignment of file names containing non-ASCII
characters when typing "ls " and pressing Tab twice to show
the completions. See also:
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=90201
* Mon Mar 17 2003 - werner@suse.de
- Do not execute command line if tty is closed (bug #25445)
* Thu Feb 13 2003 - schwab@suse.de
- Fix prompt decoding with -noediting.
* Tue Feb 11 2003 - kukuk@suse.de
- To avoid loop in PreRequires, don't install info pages. The info
package contains a dir file which contains the bash entries
already.
* Fri Feb 07 2003 - ro@suse.de
- fixed specfile
* Fri Feb 07 2003 - ro@suse.de
- added install_info macros
* Mon Jan 27 2003 - schwab@suse.de
- Fix bugs #21096 and #21392 properly: don't recurse on
do-lowercase-version for fallback entry.
* Tue Jan 21 2003 - werner@suse.de
- Allow rbash as login shell (`-' problem, bug #22917)
* Wed Dec 18 2002 - schwab@suse.de
- Use BuildRoot.
* Thu Dec 12 2002 - mfabian@suse.de
- add bash-2.05b-display-mbspeed.patch received from
Jiro SEKIBA <jir@yamato.ibm.com> to improve display speed in
multibyte locales.
* Sat Nov 09 2002 - ro@suse.de
- add bison to neededforbuild for now
(till we're sure about bison again)
* Thu Oct 31 2002 - werner@suse.de
- For bug #21096 and #21392: implement an oom protection.
* Mon Oct 21 2002 - werner@suse.de
- More for bug#21096: Make prefix-meta work even if mapped onto
longer escape sequences.
* Fri Oct 18 2002 - werner@suse.de
- Fix bug#21096: sequences like `ESC ... CHARACTER' with CHARACTER
mapped on functions will not cause an endless recursion anymore.
* Wed Sep 25 2002 - ro@suse.de
- removed more bogus provides
* Wed Sep 11 2002 - werner@suse.de
- Correct Provides (package should not provides its self)
* Fri Aug 30 2002 - werner@suse.de
- Add version dependend require on readline (bug #18652)
* Fri Aug 30 2002 - werner@suse.de
- Fix annoying display bug in wide character support (bug #18449)
* Wed Aug 28 2002 - werner@suse.de
- Add comment about multi byte handling and echo builtin (#18449)
* Wed Aug 21 2002 - mls@suse.de
- fix $RANDOM randomness in subshells
* Fri Aug 09 2002 - kukuk@suse.de
- readline-devel should require readline
* Mon Jul 29 2002 - werner@suse.de
- Expansion of `~user/<dir>' is like `/<dir>'
* Sat Jul 27 2002 - kukuk@suse.de
- Remove not used tetex from neededforbuild
- Fix building of man2html (bash.html still broken)
* Fri Jul 19 2002 - werner@suse.de
- Check value of LANG before LC_ALL will be unset for getting the
_current_ default value of LC_ALL with setlocale(3) (bug #16999)
* Fri Jul 19 2002 - werner@suse.de
- Fix NULL pointer handled by memset (readline:mbutil.c)
* Thu Jul 18 2002 - werner@suse.de
- Update to new version bash 2.05b/readline 4.3
* Wed May 22 2002 - schwab@suse.de
- Fix vi-change-char.
- Fix missing declaration.
* Wed Apr 17 2002 - schwab@suse.de
- Fix last change.
* Thu Apr 11 2002 - sf@suse.de
- using %%{_libdir} to put the shlibs into the correct directories
(lib / lib64)
* Tue Mar 26 2002 - werner@suse.de
- Fix possible endless loop if terminal will be disconneted during
complete answer (bug report from bastian@kde.org, for more see
http://bugs.kde.org/db/37/37999.html)
* Wed Mar 20 2002 - ro@suse.de
- removed tetex from neededforbuild, it's not used here
* Wed Mar 06 2002 - werner@suse.de
- Use improved bug fix for line wrapping problem, now line wrapping
work for char and wide char environments
- Fix readline version number
* Wed Feb 27 2002 - mfabian@suse.de
- add readline-4.2-i18n-0.3-display.patch from
Jiro SEKIBA <jir@yamato.ibm.com> to fix a line wrapping
problem.
* Mon Jan 21 2002 - werner@suse.de
- Fix bug #12834: Update to bash-2.05-i18n-0.5.patch.gz and
bash-2.05-readline-i18n-0.3.patch.gz
* Thu Oct 18 2001 - werner@suse.de
- Allways include /etc/inputrc if INPUTRC isn't system file
* Mon Oct 08 2001 - werner@suse.de
- Fix readline i18n patch: enable configure of multi byte handling,
fix warnings and bug in histexpand.c
* Fri Oct 05 2001 - werner@suse.de
- Add two patches for I18N support of bash and readline library
* Tue Sep 04 2001 - werner@suse.de
- Add patch to avoid trouble with C++ header definitions
* Fri Aug 03 2001 - werner@suse.de
- Fix fc crash (bug #9620)
* Mon Jul 02 2001 - olh@suse.de
- dont apply bash-2.05-s390x-unwind.patch on ppc and sparc
* Thu Jun 14 2001 - bk@suse.de
- fix 64-bit bigendian bug for s390x
* Wed Jun 06 2001 - werner@suse.de
- Re-order configure.in to avoid trouble with new autoconf
* Tue May 08 2001 - mfabian@suse.de
- bzip2 sources
* Sat May 05 2001 - schwab@suse.de
- Fix process substitution when stdin is closed.
* Wed May 02 2001 - werner@suse.de
- Make patch for 2.4.4 work within spec
* Wed May 02 2001 - werner@suse.de
- Remove buggy patch in job control, add a workaround
* Mon Apr 30 2001 - werner@suse.de
- Add patch to get job control into right order on a pipe
* Thu Apr 12 2001 - werner@suse.de
- Provide cpp macro OLD_READLINE for backwards compatibility
at compile time with old readline interface
* Thu Apr 12 2001 - ro@suse.de
- added split-alias as provides (again)
* Wed Apr 11 2001 - werner@suse.de
- Update to bash 2.05 and readline 4.2
- Port of our patches
* Thu Feb 22 2001 - werner@suse.de
- Split package into bash/readline/readline-devel
- Depend libreadline on libncurses
* Thu Sep 14 2000 - werner@suse.de
- Add some bug fixes
- Add missed ssh fix for none interactive shell
* Wed Jun 07 2000 - werner@suse.de
- Fix some patches
- Add export patch for bash 2.04
- Fix `soname' of readline and history libraries
- Fix linkage of major readline and history libraries
* Mon Jun 05 2000 - schwab@suse.de
- Fix unwind_protect_pointer on 64-bit systems.
* Wed May 31 2000 - schwab@suse.de
- Comment out declaration of savestring in <readline.h> that conflicts
with other people's declaration (eg. gdb).
* Mon May 29 2000 - aj@suse.de
- Upgrade to bash 2.04 and readline 4.1.
* Sun May 21 2000 - kukuk@suse.de
- Use docdir
* Sat Apr 01 2000 - bk@suse.de
- remove obviosly unneeded link /usr/lib/libreadline.so on s390
* Tue Mar 14 2000 - werner@suse.de
- Add locale patch to enable LC_NUMERIC handling
* Thu Feb 24 2000 - werner@suse.de
- Use $VENDOR for several linux architectures
- Set check_window_size (shopt checkwinsize) to true, this will
correct screen size even if it changes during a job.
* Tue Feb 15 2000 - schwab@suse.de
- Update config.{guess,sub} to latest version.
- Fix spec file to create doc directory before installing into it.
* Fri Jan 28 2000 - werner@suse.de
- Add mailstat patch (handles mail directories)
- Fix configuration (system is %%arch-suse-linux)
- Fix segfault (job handling)
- Fix manual (add rbash manual, add some missed options)
- Install rbash (symlink to bash)
- Fix readline (End, Del)
- Fix temporary file handling (do not write without check)
- Use system random interface not builtin
- Remove some compiler warnings
- Set --enable-disabled-builtins (useful)
- Install shared readline and history in /lib (bash needs that)
- Enable shared readline (version 4.0) and history library
- Try to use shared readline and history for bash (TEST)
* Fri Dec 03 1999 - kasal@suse.de
- added command to make and install doc/bashref.html
* Fri Nov 26 1999 - kukuk@suse.de
- Fix spec file
* Thu Nov 25 1999 - kukuk@suse.de
- Merge Makefile.Linux with spec file, use RPM_OPT_FLAGS
- Remove --disable-dparen-arithmetic
* Mon Sep 13 1999 - bs@suse.de
- ran old prepare_spec on spec file to switch to new prepare_spec.
* Tue Aug 24 1999 - uli@suse.de
- fixed for PPC
* Mon Jul 19 1999 - florian@suse.de
- update to bash 2.03, readline 4.0
* Wed Jan 13 1999 - @suse.de
- disabled `Broken pipe' messages
* Sun Dec 13 1998 - bs@suse.de
- removed notify message - bash 2.0 is standard for a long time now.
* Mon Dec 07 1998 - florian@suse.de
- remove SSH_CLIENT-kludge as this cannot detect all correct cases
where .bashrc should be loaded
- delete email-changes in bashbug script
- update readline to version 2.2.1
* Thu Nov 12 1998 - bs@suse.de
- minor fix for new rpm
* Thu Oct 01 1998 - ro@suse.de
- update to 2.02.1 / reintegrated werner's tmp-fix for bashbug
* Thu Jul 23 1998 - werner@suse.de
- use mktemp
* Thu Jul 16 1998 - werner@suse.de
- fix bashbug temp file handling
* Wed Jun 17 1998 - ro@suse.de
- changed general.h: !defined (gid_t)
* Mon Oct 27 1997 - florian@suse.de
- do not include old compatible-only safestring() in libreadline.a
* Thu Oct 09 1997 - florian@suse.de
- update to version 2.01.1
- add several bugfixes
- fix missing things in spec-file
* Thu Aug 14 1997 - florian@suse.de
- add several bug-fixes from gnu.bash.bug and fix memory management
of LC_ALL
* Sat Jul 05 1997 - florian@suse.de
- add another bugfix from gnu.utils.bugs
* Mon Jun 23 1997 - florian@suse.de
- create the history file with 0600 perms
- add minor bugfix to check for new email
* Thu Jun 05 1997 - florian@suse.de
- update to bash 2.01 and readline 2.1
- add more documentation files in /usr/doc
- bash: check for NULL-pointer before calling "savestring()"
- add bashref.info and newer FAQ
* Tue Apr 22 1997 - bs@suse.de
- added FAQ and bashref.html to /usr/doc/packages/bash
* Sun Apr 13 1997 - florian@suse.de
- update to bash 2.0 with lots of patches from gnu.utils.bugs
Mon Sep 2 02:48:35 MET DST 1996
new version with security patches
* Thu Jan 02 1997 - florian@suse.de
security fix included (0xff was command separator)

46
readline-4.3-input.dif Normal file
View File

@ -0,0 +1,46 @@
--- lib/readline/input.c
+++ lib/readline/input.c Mon Mar 17 19:03:51 2003
@@ -415,6 +415,8 @@
return (c);
}
+extern int _rl_read_zero_char_from_tty;
+
int
rl_getc (stream)
FILE *stream;
@@ -432,7 +434,10 @@
/* If zero characters are returned, then the file that we are
reading from is empty! Return EOF in that case. */
if (result == 0)
- return (EOF);
+ {
+ _rl_read_zero_char_from_tty = 1;
+ return (EOF);
+ }
#if defined (__BEOS__)
if (errno == EINTR)
--- lib/readline/readline.c
+++ lib/readline/readline.c Mon Mar 17 19:02:52 2003
@@ -387,6 +387,9 @@
return (eof ? (char *)NULL : savestring (the_line));
}
+/* Catch EOF from tty, do not return command line */
+int _rl_read_zero_char_from_tty = 0;
+
STATIC_CALLBACK int
#if defined (READLINE_CALLBACKS)
readline_internal_char ()
@@ -421,6 +424,10 @@
RL_SETSTATE(RL_STATE_READCMD);
c = rl_read_key ();
RL_UNSETSTATE(RL_STATE_READCMD);
+
+ /* Return here if terminal is closed */
+ if (c == EOF && _rl_read_zero_char_from_tty)
+ return (rl_done = 1);
/* EOF typed to a non-blank line is a <NL>. */
if (c == EOF && rl_end)

191
readline-5.1-destdir.patch Normal file
View File

@ -0,0 +1,191 @@
--- shlib/Makefile.in
+++ shlib/Makefile.in 2005-12-09 17:00:46.000000000 +0100
@@ -57,6 +57,7 @@
libdir = @libdir@
datadir = @datadir@
localedir = $(datadir)/locale
+linkagedir = $(libdir)
# Support an alternate destination root directory for package building
DESTDIR =
@@ -181,13 +182,13 @@
-$(SHELL) $(topdir)/support/mkdirs $(DESTDIR)$(libdir)
install: installdirs $(SHLIB_STATUS)
- $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -i "$(INSTALL_DATA)" $(SHARED_HISTORY)
- $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -i "$(INSTALL_DATA)" $(SHARED_READLINE)
+ $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -dd $(DESTDIR) -d $(libdir) -l $(linkagedir) -b $(bindir) -i "$(INSTALL_DATA)" $(SHARED_HISTORY)
+ $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -dd $(DESTDIR) -d $(libdir) -l $(linkagedir) -b $(bindir) -i "$(INSTALL_DATA)" $(SHARED_READLINE)
@echo install: you may need to run ldconfig
uninstall:
- $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -U $(SHARED_HISTORY)
- $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -U $(SHARED_READLINE)
+ $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -dd $(DESTDIR) -d $(libdir) -l $(linkagedir) -b $(bindir) -U $(SHARED_HISTORY)
+ $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -dd $(DESTDIR) -d $(libdir) -l $(linkagedir) -b $(bindir) -U $(SHARED_READLINE)
@echo uninstall: you may need to run ldconfig
clean mostlyclean: force
--- support/shlib-install
+++ support/shlib-install 2005-12-09 17:05:28.000000000 +0100
@@ -3,7 +3,7 @@
# shlib-install - install a shared library and do any necessary host-specific
# post-installation configuration (like ldconfig)
#
-# usage: shlib-install [-D] -O host_os -d installation-dir [-b bin-dir] -i install-prog [-U] library
+# usage: shlib-install [-D] -O host_os -d installation-dir [-l linkage-dir] [-b bin-dir] -i install-prog [-U] library
#
# Chet Ramey
# chet@po.cwru.edu
@@ -12,10 +12,12 @@
# defaults
#
INSTALLDIR=/usr/local/lib
+LINKAGEDIR=
LDCONFIG=ldconfig
+DESTDIR=
PROGNAME=`basename $0`
-USAGE="$PROGNAME [-D] -O host_os -d installation-dir [-b bin-dir] -i install-prog [-U] library"
+USAGE="$PROGNAME [-D] -O host_os -d installation-dir [-l linkage-dir] [-b bin-dir] -i install-prog [-U] library"
# process options
@@ -23,14 +25,19 @@
case "$1" in
-O) shift; host_os="$1"; shift ;;
-d) shift; INSTALLDIR="$1"; shift ;;
+ -dd) shift; DESTDIR=$1; shift ;;
-b) shift; BINDIR="$1" ; shift ;;
-i) shift; INSTALLPROG="$1" ; shift ;;
+ -l) shift; LINKAGEDIR="$1" ; shift ;;
-D) echo=echo ; shift ;;
-U) uninstall=true ; shift ;;
-*) echo "$USAGE" >&2 ; exit 2;;
*) break ;;
esac
done
+if [ -z "$LINKAGEDIR" ]; then
+ LINKAGEDIR="$INSTALLDIR"
+fi
# set install target name
LIBNAME="$1"
@@ -48,18 +55,18 @@
# pre-install
if [ -z "$uninstall" ]; then
- ${echo} $RM ${INSTALLDIR}/${LIBNAME}.${OLDSUFF}
- if [ -f "$INSTALLDIR/$LIBNAME" ]; then
- ${echo} $MV $INSTALLDIR/$LIBNAME ${INSTALLDIR}/${LIBNAME}.${OLDSUFF}
+ ${echo} $RM ${DESTDIR}${INSTALLDIR}/${LIBNAME}.${OLDSUFF}
+ if [ -f "${DESTDIR}$INSTALLDIR/$LIBNAME" ]; then
+ ${echo} $MV ${DESTDIR}$INSTALLDIR/$LIBNAME ${DESTDIR}${INSTALLDIR}/${LIBNAME}.${OLDSUFF}
fi
fi
# install/uninstall
if [ -z "$uninstall" ] ; then
- ${echo} eval ${INSTALLPROG} $LIBNAME ${INSTALLDIR}/${LIBNAME}
+ ${echo} eval ${INSTALLPROG} $LIBNAME ${DESTDIR}${INSTALLDIR}/${LIBNAME}
else
- ${echo} ${RM} ${INSTALLDIR}/${LIBNAME}
+ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/${LIBNAME}
fi
# post-install/uninstall
@@ -70,7 +77,7 @@
case "$host_os" in
hpux*|darwin*|macosx*)
if [ -z "$uninstall" ]; then
- chmod 555 ${INSTALLDIR}/${LIBNAME}
+ chmod 555 ${DESTDIR}${INSTALLDIR}/${LIBNAME}
fi ;;
cygwin*)
IMPLIBNAME=`echo ${LIBNAME} \
@@ -108,8 +115,8 @@
LINK1=`echo $LIBNAME | sed 's:\(.*\)\.[0-9]\.[0-9]:\1:'` # libname.dylib
esac
-INSTALL_LINK1='${echo} cd $INSTALLDIR && ${echo} ${LN} $LIBNAME $LINK1'
-INSTALL_LINK2='${echo} cd $INSTALLDIR && ${echo} ${LN} $LIBNAME $LINK2'
+INSTALL_LINK1='${echo} cd ${DESTDIR}$INSTALLDIR && ${echo} ${LN} $LIBNAME $LINK1'
+INSTALL_LINK2='${echo} cd ${DESTDIR}$INSTALLDIR && ${echo} ${LN} $LIBNAME $LINK2'
#
# Create symlinks to the installed library. This section is incomplete.
@@ -117,27 +124,27 @@
case "$host_os" in
*linux*)
# libname.so.M -> libname.so.M.N
- ${echo} ${RM} ${INSTALLDIR}/$LINK2
+ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK2
if [ -z "$uninstall" ]; then
eval $INSTALL_LINK2
fi
# libname.so -> libname.so.M
- ${echo} ${RM} ${INSTALLDIR}/$LINK1
+ ${echo} ${RM} ${DESTDIR}${LINKAGEDIR}/$LINK1
if [ -z "$uninstall" ]; then
- ${echo} cd $INSTALLDIR && ${echo} ${LN} $LINK2 $LINK1
+ ${echo} ln -s ${INSTALLDIR}/$LIBNAME ${DESTDIR}${LINKAGEDIR}/$LINK1
fi
;;
bsdi4*|*gnu*|darwin*|macosx*|k*bsd*-gnu)
# libname.so.M -> libname.so.M.N
- ${echo} ${RM} ${INSTALLDIR}/$LINK2
+ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK2
if [ -z "$uninstall" ]; then
eval $INSTALL_LINK2
fi
# libname.so -> libname.so.M.N
- ${echo} ${RM} ${INSTALLDIR}/$LINK1
+ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK1
if [ -z "$uninstall" ]; then
eval $INSTALL_LINK1
fi
@@ -145,7 +152,7 @@
solaris2*|aix4.[2-9]*|osf*|irix[56]*|sysv[45]*|dgux*)
# libname.so -> libname.so.M
- ${echo} ${RM} ${INSTALLDIR}/$LINK1
+ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK1
if [ -z "$uninstall" ]; then
eval $INSTALL_LINK1
fi
@@ -156,19 +163,19 @@
freebsd[3-9]*|freebsdelf[3-9]*|freebsdaout[3-9]*)
if [ -x /usr/bin/objformat ] && [ "`/usr/bin/objformat`" = "elf" ]; then
# libname.so -> libname.so.M
- ${echo} ${RM} ${INSTALLDIR}/$LINK1
+ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK1
if [ -z "$uninstall" ]; then
eval $INSTALL_LINK1
fi
else
# libname.so.M -> libname.so.M.N
- ${echo} ${RM} ${INSTALLDIR}/$LINK2
+ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK2
if [ -z "$uninstall" ]; then
eval $INSTALL_LINK2
fi
# libname.so -> libname.so.M.N
- ${echo} ${RM} ${INSTALLDIR}/$LINK1
+ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK1
if [ -z "$uninstall" ]; then
eval $INSTALL_LINK1
fi
@@ -177,7 +184,7 @@
hpux1*)
# libname.sl -> libname.M
- ${echo} ${RM} ${INSTALLDIR}/$LINK1.sl
+ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK1.sl
if [ -z "$uninstall" ]; then
eval $INSTALL_LINK1
fi

118
readline-5.2-conf.patch Normal file
View File

@ -0,0 +1,118 @@
--- lib/readline/bind.c
+++ lib/readline/bind.c 2006-11-13 17:20:23.000000000 +0100
@@ -752,6 +752,9 @@ rl_function_of_keyseq (keyseq, map, type
/* The last key bindings file read. */
static char *last_readline_init_file = (char *)NULL;
+/* Flag to read system init file */
+static int read_system_init_file = 0;
+
/* The file we're currently reading key bindings from. */
static const char *current_readline_init_file;
static int current_readline_init_include_level;
@@ -815,11 +818,14 @@ rl_re_read_init_file (count, ignore)
return r;
}
+/* Forward declarations */
+static int sv_bell_style PARAMS((const char *));
+
/* Do key bindings from a file. If FILENAME is NULL it defaults
to the first non-null filename from this list:
1. the filename used for the previous call
2. the value of the shell variable `INPUTRC'
- 3. ~/.inputrc
+ 3. /etc/inputrc and ~/.inputrc
4. /etc/inputrc
If the file existed and could be opened and read, 0 is returned,
otherwise errno is returned. */
@@ -831,16 +837,37 @@ rl_read_init_file (filename)
if (filename == 0)
filename = last_readline_init_file;
if (filename == 0)
- filename = sh_get_env_value ("INPUTRC");
+ {
+ filename = sh_get_env_value ("INPUTRC");
+ if (filename && !strncmp(SYS_INPUTRC, filename, strlen(SYS_INPUTRC)))
+ {
+ struct stat st;
+ char *default_inputrc = tilde_expand(DEFAULT_INPUTRC);
+
+ if ((stat(default_inputrc, &st) == 0))
+ {
+ filename = DEFAULT_INPUTRC;
+ read_system_init_file = 1;
+ }
+ else
+ read_system_init_file = 0;
+
+ free(default_inputrc);
+ }
+ else
+ read_system_init_file = 1;
+ }
if (filename == 0 || *filename == 0)
{
filename = DEFAULT_INPUTRC;
- /* Try to read DEFAULT_INPUTRC; fall back to SYS_INPUTRC on failure */
- if (_rl_read_init_file (filename, 0) == 0)
- return 0;
- filename = SYS_INPUTRC;
+ read_system_init_file = 1;
}
+ sv_bell_style(sh_get_env_value("DEFAULT_BELL_STYLE"));
+
+ if (read_system_init_file)
+ _rl_read_init_file (SYS_INPUTRC, 1);
+
#if defined (__MSDOS__)
if (_rl_read_init_file (filename, 0) == 0)
return 0;
@@ -1350,7 +1377,14 @@ rl_parse_and_bind (string)
rl_macro_bind (seq, &funname[1], _rl_keymap);
}
else
- rl_bind_keyseq (seq, rl_named_function (funname));
+ {
+#if defined (PREFIX_META_HACK)
+ if (_rl_stricmp (funname, "prefix-meta") == 0)
+ rl_generic_bind (ISKMAP, seq, (char *)emacs_meta_keymap, _rl_keymap);
+ else
+#endif
+ rl_bind_keyseq (seq, rl_named_function (funname));
+ }
free (seq);
return 0;
@@ -1487,7 +1521,6 @@ typedef int _rl_sv_func_t PARAMS((const
#define V_INT 2
/* Forward declarations */
-static int sv_bell_style PARAMS((const char *));
static int sv_combegin PARAMS((const char *));
static int sv_compquery PARAMS((const char *));
static int sv_editmode PARAMS((const char *));
--- lib/readline/rlconf.h
+++ lib/readline/rlconf.h 2006-11-13 17:21:26.000000000 +0100
@@ -35,7 +35,7 @@
#define HANDLE_SIGNALS
/* Ugly but working hack for binding prefix meta. */
-#define PREFIX_META_HACK
+#undef PREFIX_META_HACK
/* The next-to-last-ditch effort file name for a user-specific init file. */
#define DEFAULT_INPUTRC "~/.inputrc"
--- lib/readline/doc/rluser.texi
+++ lib/readline/doc/rluser.texi 2006-11-13 17:23:56.000000000 +0100
@@ -338,7 +338,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
-@file{/etc/inputrc}.
+@file{/etc/inputrc}. If both @file{~/.inputrc} and @file{/etc/inputrc}
+exist Readline will read first @file{/etc/inputrc} and then @file{~/.inputrc}.
When a program which uses the Readline library starts up, the
init file is read, and the key bindings are set.

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4058cf37cbd52558ff6e51ae619444904afd99ce347febb64a1f099c8343318e
size 703

14
readline-5.2-wrap.patch Normal file
View File

@ -0,0 +1,14 @@
--- lib/readline/display.c
+++ lib/readline/display.c 2006-11-13 16:55:24.000000000 +0100
@@ -665,7 +665,10 @@
inv_lbreaks[++newlines] = temp;
#if defined (HANDLE_MULTIBYTE)
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- lpos -= _rl_col_width (local_prompt, n0, num);
+ {
+ if (local_prompt_len > 0)
+ lpos -= _rl_col_width (local_prompt, n0, num);
+ }
else
#endif
lpos -= _rl_screenwidth;

148
readline-5.2.dif Normal file
View File

@ -0,0 +1,148 @@
--- .pkgextract
+++ .pkgextract 2005-12-09 17:09:26.000000000 +0100
@@ -0,0 +1,5 @@
+#tar Oxfj ../readline-5.2-patches.tar.bz2 | patch -p0 -s
+patch -p2 -s --suffix=".zerotty" < ../readline-4.3-input.dif
+patch -p2 -s --suffix=".wrap" < ../readline-5.2-wrap.patch
+patch -p2 -s --suffix=".conf" < ../readline-5.2-conf.patch
+patch -p0 -s --suffix=".destdir" < ../readline-5.1-destdir.patch
--- Makefile.in
+++ Makefile.in 2005-12-09 17:09:26.000000000 +0100
@@ -220,10 +220,8 @@ maybe-uninstall-headers: uninstall-heade
install: $(INSTALL_TARGETS)
install-static: installdirs $(STATIC_LIBS) install-headers install-doc
- -$(MV) $(DESTDIR)$(libdir)/libreadline.a $(DESTDIR)$(libdir)/libreadline.old
$(INSTALL_DATA) libreadline.a $(DESTDIR)$(libdir)/libreadline.a
-test -n "$(RANLIB)" && $(RANLIB) $(DESTDIR)$(libdir)/libreadline.a
- -$(MV) $(DESTDIR)$(libdir)/libhistory.a $(DESTDIR)$(libdir)/libhistory.old
$(INSTALL_DATA) libhistory.a $(DESTDIR)$(libdir)/libhistory.a
-test -n "$(RANLIB)" && $(RANLIB) $(DESTDIR)$(libdir)/libhistory.a
@@ -246,7 +244,7 @@ uninstall-shared: maybe-uninstall-header
install-doc: installdirs
-( if test -d doc ; then \
cd doc && \
- ${MAKE} ${MFLAGS} infodir=$(infodir) DESTDIR=${DESTDIR} install; \
+ ${MAKE} infodir=$(infodir) DESTDIR=${DESTDIR} install; \
fi )
uninstall-doc:
--- complete.c
+++ complete.c 2005-12-09 17:11:19.000000000 +0100
@@ -428,7 +428,7 @@ get_y_or_n (for_pager)
return (1);
if (c == 'n' || c == 'N' || c == RUBOUT)
return (0);
- if (c == ABORT_CHAR)
+ if (c == ABORT_CHAR || c == EOF)
_rl_abort_internal ();
if (for_pager && (c == NEWLINE || c == RETURN))
return (2);
@@ -883,7 +883,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. */
- while (rl_point = MB_PREVCHAR (rl_line_buffer, rl_point, MB_FIND_ANY))
+ while ((rl_point = MB_PREVCHAR (rl_line_buffer, rl_point, MB_FIND_ANY)))
{
scan = rl_line_buffer[rl_point];
@@ -1802,7 +1802,7 @@ rl_completion_matches (text, entry_funct
match_list = (char **)xmalloc ((match_list_size + 1) * sizeof (char *));
match_list[1] = (char *)NULL;
- while (string = (*entry_function) (text, matches))
+ while ((string = (*entry_function) (text, matches)))
{
if (matches + 1 == match_list_size)
match_list = (char **)xrealloc
@@ -1853,7 +1853,7 @@ rl_username_completion_function (text, s
}
#if defined (HAVE_GETPWENT)
- while (entry = getpwent ())
+ while ((entry = getpwent ()))
{
/* Null usernames should result in all users as possible completions. */
if (namelen == 0 || (STREQN (username, entry->pw_name, namelen)))
--- readline.c
+++ readline.c 2005-12-09 17:09:26.000000000 +0100
@@ -735,7 +735,11 @@ _rl_dispatch_subseq (key, map, got_subse
{
/* Special case rl_do_lowercase_version (). */
if (func == rl_do_lowercase_version)
- return (_rl_dispatch (_rl_to_lower (key), map));
+ {
+ if (key == ANYOTHERKEY)
+ return -1;
+ return (_rl_dispatch (_rl_to_lower (key), map));
+ }
rl_executing_keymap = map;
--- readline.h
+++ readline.h 2005-12-09 17:09:26.000000000 +0100
@@ -445,7 +445,7 @@ extern char *rl_filename_completion_func
extern int rl_completion_mode PARAMS((rl_command_func_t *));
-#if 0
+#ifdef OLD_READLINE
/* Backwards compatibility (compat.c). These will go away sometime. */
extern void free_undo_list PARAMS((void));
extern int maybe_save_line PARAMS((void));
--- doc/Makefile.in
+++ doc/Makefile.in 2005-12-09 17:09:26.000000000 +0100
@@ -96,7 +96,7 @@ DIST_DOCS = $(DVIOBJ) $(PSOBJ) $(HTMLOBJ
$(RM) $@
-${DVIPDF} $<
-all: info dvi html ps text
+all: info html
nodvi: info html text
info: $(INFOOBJ)
--- doc/readline.3
+++ doc/readline.3 2006-11-13 17:33:27.000000000 +0100
@@ -118,6 +118,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 .
+If both files
+.I ~/.inputrc
+and
+.I /etc/inputrc
+exist readline will read first
+.I /etc/inputrc
+and then
+.IR ~/.inputrc .
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
@@ -1270,6 +1278,9 @@ VI Command Mode functions
.TP
.FN ~/.inputrc
Individual \fBreadline\fP initialization file
+.TP
+.FN /etc/inputrc
+System \fBreadline\fP initialization file
.PD
.SH AUTHORS
Brian Fox, Free Software Foundation
--- support/shobj-conf
+++ support/shobj-conf 2006-09-22 16:17:48.000000000 +0200
@@ -108,10 +108,11 @@ sunos5*|solaris2*)
linux*-*|gnu*-*|k*bsd*-gnu-*)
SHOBJ_CFLAGS=-fPIC
SHOBJ_LD='${CC}'
- SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
+ SHOBJ_LDFLAGS='-shared'
- SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir) -Wl,-soname,`basename $@ $(SHLIB_MINOR)`'
+ SHLIB_XLDFLAGS='-Wl,-rpath-link,$(libdir) -Wl,-soname,`basename $@ $(SHLIB_MINOR)`'
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
+ SHLIB_LIBS=-lncurses
;;
freebsd2* | netbsd*)

3
readline-5.2.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9ca925a6e9126e0363d3a1d40c749a792c6d64ba805dd9663c649c37a7658a29
size 1693788

0
ready Normal file
View File

29
run-tests Normal file
View File

@ -0,0 +1,29 @@
#! /bin/sh
PATH=.:$PATH # just to get recho/zecho/printenv if not run via `make tests'
export PATH
# unset BASH_ENV only if it is set
[ "${BASH_ENV+set}" = "set" ] && unset BASH_ENV
# ditto for SHELLOPTS
#[ "${SHELLOPTS+set}" = "set" ] && unset SHELLOPTS
: ${THIS_SH:=../bash}
export THIS_SH
${THIS_SH} ./version
rm -f /tmp/xx
echo Any output from any test, unless otherwise noted, indicates a possible anomaly
for x in run-*
do
case $x in
$0|run-all|run-minimal|run-gprof|run-jobs|run-ifs-posix) ;;
*.orig|*~) ;;
*) echo $x ; sh $x ;;
esac
done
exit 0