2009-08-28 17:45:57 +02:00
|
|
|
Index: .pkgextract
|
|
|
|
===================================================================
|
|
|
|
--- /dev/null
|
|
|
|
+++ .pkgextract
|
2009-03-03 18:12:53 +01:00
|
|
|
@@ -0,0 +1,14 @@
|
|
|
|
+tar Oxfj ../bash-4.0-patches.tar.bz2 | patch -p0 -s
|
2006-12-15 18:03:59 +01:00
|
|
|
+patch -p0 -s --suffix=".manual" < ../bash-2.03-manual.patch
|
2009-03-03 18:12:53 +01:00
|
|
|
+patch -p0 -s --suffix=".security" < ../bash-4.0-security.patch
|
2006-12-15 18:03:59 +01:00
|
|
|
+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
|
2009-03-03 18:12:53 +01:00
|
|
|
+patch -p0 -s --suffix=".equote" < ../bash-4.0-extended_quote.patch
|
2006-12-15 18:03:59 +01:00
|
|
|
+patch -p0 -s --suffix=".printf" < ../bash-3.2-printf.patch
|
2009-03-03 18:12:53 +01:00
|
|
|
+patch -p0 -s --suffix=".plugins" < ../bash-4.0-loadables.dif
|
2006-12-15 18:03:59 +01:00
|
|
|
+patch -p0 -s --suffix=".zerotty" < ../readline-4.3-input.dif
|
2009-03-03 18:12:53 +01:00
|
|
|
+patch -p0 -s --suffix=".wrap" < ../readline-6.0-wrap.patch
|
2006-12-15 18:03:59 +01:00
|
|
|
+patch -p0 -s --suffix=".conf" < ../readline-5.2-conf.patch
|
2009-08-28 17:45:57 +02:00
|
|
|
Index: config-top.h
|
|
|
|
===================================================================
|
|
|
|
--- config-top.h.orig
|
|
|
|
+++ config-top.h
|
2009-03-03 18:12:53 +01:00
|
|
|
@@ -54,14 +54,14 @@
|
2006-12-15 18:03:59 +01:00
|
|
|
/* 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. */
|
2009-03-03 18:12:53 +01:00
|
|
|
@@ -75,20 +75,20 @@
|
2006-12-15 18:03:59 +01:00
|
|
|
#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
|
2009-03-03 18:12:53 +01:00
|
|
|
sshd and source the .bashrc if so (like the rshd behavior). This checks
|
|
|
|
for the presence of SSH_CLIENT or SSH2_CLIENT in the initial environment,
|
|
|
|
which can be fooled under certain not-uncommon circumstances. */
|
2007-12-05 23:45:24 +01:00
|
|
|
-/* #define SSH_SOURCE_BASHRC */
|
|
|
|
+#define SSH_SOURCE_BASHRC
|
2009-03-03 18:12:53 +01:00
|
|
|
|
|
|
|
/* Define if you want the case-capitalizing operators (~[~]) and the
|
|
|
|
`capcase' variable attribute (declare -c). */
|
2009-08-28 17:45:57 +02:00
|
|
|
Index: general.h
|
|
|
|
===================================================================
|
|
|
|
--- general.h.orig
|
|
|
|
+++ general.h
|
2006-12-15 18:03:59 +01:00
|
|
|
@@ -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)
|
2009-08-28 17:45:57 +02:00
|
|
|
Index: jobs.c
|
|
|
|
===================================================================
|
|
|
|
--- jobs.c.orig
|
|
|
|
+++ jobs.c
|
2009-03-03 18:12:53 +01:00
|
|
|
@@ -199,10 +199,10 @@ int previous_job = NO_JOB;
|
2006-12-15 18:03:59 +01:00
|
|
|
#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;
|
2009-03-03 18:12:53 +01:00
|
|
|
@@ -215,7 +215,7 @@ int already_making_children = 0;
|
2006-12-15 18:03:59 +01:00
|
|
|
|
|
|
|
/* 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. */
|
|
|
|
|
2009-08-28 17:45:57 +02:00
|
|
|
Index: jobs.h
|
|
|
|
===================================================================
|
|
|
|
--- jobs.h.orig
|
|
|
|
+++ jobs.h
|
2009-03-03 18:12:53 +01:00
|
|
|
@@ -165,7 +165,7 @@ extern pid_t fork (), getpid (), getpgrp
|
2006-12-15 18:03:59 +01:00
|
|
|
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;
|
2009-08-28 17:45:57 +02:00
|
|
|
Index: parse.y
|
|
|
|
===================================================================
|
|
|
|
--- parse.y.orig
|
|
|
|
+++ parse.y
|
2009-03-03 18:12:53 +01:00
|
|
|
@@ -1283,7 +1283,7 @@ input_file_descriptor ()
|
2006-12-15 18:03:59 +01:00
|
|
|
|
|
|
|
#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
|
2009-08-28 17:45:57 +02:00
|
|
|
Index: shell.c
|
|
|
|
===================================================================
|
|
|
|
--- shell.c.orig
|
|
|
|
+++ shell.c
|
2009-03-03 18:12:53 +01:00
|
|
|
@@ -479,7 +479,7 @@ main (argc, argv, env)
|
2006-12-15 18:03:59 +01:00
|
|
|
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
|
2009-08-28 17:45:57 +02:00
|
|
|
Index: subst.c
|
|
|
|
===================================================================
|
|
|
|
--- subst.c.orig
|
|
|
|
+++ subst.c
|
|
|
|
@@ -2962,6 +2962,7 @@ call_expand_word_internal (w, q, i, c, e
|
2006-12-15 18:03:59 +01:00
|
|
|
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);
|
2009-08-28 17:45:57 +02:00
|
|
|
Index: builtins/shopt.def
|
|
|
|
===================================================================
|
|
|
|
--- builtins/shopt.def.orig
|
|
|
|
+++ builtins/shopt.def
|
2009-03-03 18:12:53 +01:00
|
|
|
@@ -279,9 +279,9 @@ reset_shopt_options ()
|
2006-12-15 18:03:59 +01:00
|
|
|
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;
|
2009-08-28 17:45:57 +02:00
|
|
|
Index: doc/Makefile.in
|
|
|
|
===================================================================
|
|
|
|
--- doc/Makefile.in.orig
|
|
|
|
+++ doc/Makefile.in
|
2009-03-03 18:12:53 +01:00
|
|
|
@@ -142,7 +142,7 @@ BASHREF_FILES = $(srcdir)/bashref.texi $
|
2006-12-15 18:03:59 +01:00
|
|
|
${RM} $@
|
|
|
|
-${DVIPS} $<
|
|
|
|
|
|
|
|
-all: ps info dvi text html
|
|
|
|
+all: info html
|
|
|
|
nodvi: ps info text html
|
2009-03-03 18:12:53 +01:00
|
|
|
everything: all pdf
|
2006-12-15 18:03:59 +01:00
|
|
|
|
2009-08-28 17:45:57 +02:00
|
|
|
Index: doc/bash.1
|
|
|
|
===================================================================
|
|
|
|
--- doc/bash.1.orig
|
|
|
|
+++ doc/bash.1
|
|
|
|
@@ -4620,8 +4620,8 @@ file (the \fIinputrc\fP file).
|
2006-12-15 18:03:59 +01:00
|
|
|
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.
|
2009-08-28 17:45:57 +02:00
|
|
|
@@ -9340,6 +9340,9 @@ The individual login shell cleanup file,
|
2006-12-15 18:03:59 +01:00
|
|
|
.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
|
2009-08-28 17:45:57 +02:00
|
|
|
Index: support/printenv.c
|
|
|
|
===================================================================
|
|
|
|
--- support/printenv.c.orig
|
|
|
|
+++ support/printenv.c
|
2007-12-12 22:07:41 +01:00
|
|
|
@@ -27,6 +27,7 @@
|
|
|
|
#if defined (HAVE_CONFIG_H)
|
|
|
|
# include <config.h>
|
|
|
|
#endif
|
|
|
|
+#include <stdio.h>
|
|
|
|
|
|
|
|
#include "bashansi.h"
|
|
|
|
|
2009-08-28 17:45:57 +02:00
|
|
|
Index: support/rlvers.sh
|
|
|
|
===================================================================
|
|
|
|
--- support/rlvers.sh.orig
|
|
|
|
+++ support/rlvers.sh
|
2006-12-15 18:03:59 +01:00
|
|
|
@@ -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
|
2009-08-28 17:45:57 +02:00
|
|
|
Index: support/shobj-conf
|
|
|
|
===================================================================
|
|
|
|
--- support/shobj-conf.orig
|
|
|
|
+++ support/shobj-conf
|
2009-03-03 18:12:53 +01:00
|
|
|
@@ -112,10 +112,11 @@ sunos5*|solaris2*)
|
2006-12-15 18:03:59 +01:00
|
|
|
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
|
|
|
|
;;
|
|
|
|
|
2009-03-03 18:12:53 +01:00
|
|
|
freebsd2*)
|
2009-08-28 17:45:57 +02:00
|
|
|
Index: tests/run-intl
|
|
|
|
===================================================================
|
|
|
|
--- tests/run-intl.orig
|
|
|
|
+++ tests/run-intl
|
2009-03-03 18:12:53 +01:00
|
|
|
@@ -5,4 +5,4 @@ echo "warning: some of these tests will
|
|
|
|
echo "warning: locales installed on your system." >&2
|
|
|
|
echo "warning: please ignore any differences consisting only of white space" >&2
|
|
|
|
${THIS_SH} ./intl.tests > /tmp/xx
|
|
|
|
-diff $AFLAG /tmp/xx intl.right && rm -f /tmp/xx
|
|
|
|
+diff -w $AFLAG /tmp/xx intl.right && rm -f /tmp/xx
|
2009-08-28 17:45:57 +02:00
|
|
|
Index: tests/run-read
|
|
|
|
===================================================================
|
|
|
|
--- tests/run-read.orig
|
|
|
|
+++ tests/run-read
|
2009-03-03 18:12:53 +01:00
|
|
|
@@ -1,4 +1,4 @@
|
|
|
|
echo "warning: please do not consider output differing only in the amount of" >&2
|
|
|
|
echo "warning: white space to be an error." >&2
|
|
|
|
${THIS_SH} ./read.tests > /tmp/xx 2>&1
|
|
|
|
-diff /tmp/xx read.right && rm -f /tmp/xx
|
|
|
|
+diff -w /tmp/xx read.right && rm -f /tmp/xx
|