diff --git a/packages/sysutils/bash/build b/packages/sysutils/bash/build index c9a647024d..612c843010 100755 --- a/packages/sysutils/bash/build +++ b/packages/sysutils/bash/build @@ -28,7 +28,11 @@ cd $PKG_BUILD --prefix=/usr \ --bindir=/bin \ --with-gnu-ld \ + --disable-job-control \ --without-bash-malloc \ --without-installed-readline \ + --disable-nls \ + --disable-rpath \ + --with-gnu-ld \ make diff --git a/packages/sysutils/bash/meta b/packages/sysutils/bash/meta index b1407fa358..31213fc783 100644 --- a/packages/sysutils/bash/meta +++ b/packages/sysutils/bash/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="bash" -PKG_VERSION="4.1" +PKG_VERSION="4.2" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" diff --git a/packages/sysutils/bash/patches/bash-4.1-fixes-1.patch b/packages/sysutils/bash/patches/bash-4.1-fixes-1.patch deleted file mode 100644 index 15f98be9bd..0000000000 --- a/packages/sysutils/bash/patches/bash-4.1-fixes-1.patch +++ /dev/null @@ -1,99 +0,0 @@ -Submitted By: Matt Burgess -Date: 2010-04-14 -Initial Package Version: 4.1 -Upstream Status: Already in upstream patch repo -Origin: Upstream -Description: This patch contains upstream patch numbers 1 thru 5. - -diff -Naur bash-4.1.orig/bashline.c bash-4.1/bashline.c ---- bash-4.1.orig/bashline.c 2009-10-24 19:10:19.000000000 +0100 -+++ bash-4.1/bashline.c 2010-04-14 20:15:22.075440836 +0100 -@@ -1680,7 +1680,7 @@ - a single match (multiple matches that end up reducing the number of - characters in the common prefix are bad) will ever be returned on - regular completion. */ -- if (glob_pattern_p (hint)) -+ if (globpat) - { - if (state == 0) - { -diff -Naur bash-4.1.orig/builtins/printf.def bash-4.1/builtins/printf.def ---- bash-4.1.orig/builtins/printf.def 2009-11-20 20:31:23.000000000 +0000 -+++ bash-4.1/builtins/printf.def 2010-04-14 20:15:22.055434803 +0100 -@@ -172,7 +172,7 @@ - #endif - - #if !HAVE_VSNPRINTF --extern int vsnprintf __P((char *, size_t, const char *, ...)) __attribute__((__format__ (printf, 3, 4))); -+extern int vsnprintf __P((char *, size_t, const char *, va_list)) __attribute__((__format__ (printf, 3, 0))); - #endif - - static void printf_erange __P((char *)); -diff -Naur bash-4.1.orig/builtins/read.def bash-4.1/builtins/read.def ---- bash-4.1.orig/builtins/read.def 2009-10-08 16:35:46.000000000 +0100 -+++ bash-4.1/builtins/read.def 2010-04-14 20:15:22.095436083 +0100 -@@ -615,14 +615,15 @@ - if (unbuffered_read == 0) - zsyncfd (fd); - -- interrupt_immediately--; -- terminate_immediately--; - discard_unwind_frame ("read_builtin"); - - retval = eof ? EXECUTION_FAILURE : EXECUTION_SUCCESS; - - assign_vars: - -+ interrupt_immediately--; -+ terminate_immediately--; -+ - #if defined (ARRAY_VARS) - /* If -a was given, take the string read, break it into a list of words, - an assign them to `arrayname' in turn. */ -diff -Naur bash-4.1.orig/lib/readline/complete.c bash-4.1/lib/readline/complete.c ---- bash-4.1.orig/lib/readline/complete.c 2009-11-29 23:39:30.000000000 +0000 -+++ bash-4.1/lib/readline/complete.c 2010-04-14 20:15:22.064194346 +0100 -@@ -2138,7 +2138,7 @@ - All other entries except "." and ".." match. */ - if (filename_len == 0) - { -- if (_rl_match_hidden_files == 0 && HIDDEN_FILE (entry->d_name)) -+ if (_rl_match_hidden_files == 0 && HIDDEN_FILE (convfn)) - continue; - - if (convfn[0] != '.' || -@@ -2219,7 +2219,7 @@ - temp[dirlen++] = '/'; - } - -- strcpy (temp + dirlen, entry->d_name); -+ strcpy (temp + dirlen, convfn); - } - else - temp = savestring (convfn); -diff -Naur bash-4.1.orig/patchlevel.h bash-4.1/patchlevel.h ---- bash-4.1.orig/patchlevel.h 2009-10-01 21:39:22.000000000 +0100 -+++ bash-4.1/patchlevel.h 2010-04-14 20:15:22.099440845 +0100 -@@ -25,6 +25,6 @@ - regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh - looks for to find the patch level (for the sccs version string). */ - --#define PATCHLEVEL 0 -+#define PATCHLEVEL 5 - - #endif /* _PATCHLEVEL_H_ */ -diff -Naur bash-4.1.orig/variables.c bash-4.1/variables.c ---- bash-4.1.orig/variables.c 2009-11-03 19:13:58.000000000 +0000 -+++ bash-4.1/variables.c 2010-04-14 20:15:22.088697241 +0100 -@@ -3808,6 +3808,11 @@ - - if (tempvar_p (var) && (posixly_correct || (var->attributes & att_propagate))) - { -+ /* Make sure we have a hash table to store the variable in while it is -+ being propagated down to the global variables table. Create one if -+ we have to */ -+ if ((vc_isfuncenv (shell_variables) || vc_istempenv (shell_variables)) && shell_variables->table == 0) -+ shell_variables->table = hash_create (0); - /* XXX - should we set v->context here? */ - v = bind_variable_internal (var->name, value_cell (var), shell_variables->table, 0, 0); - if (shell_variables == global_variables) diff --git a/packages/sysutils/bash/patches/bash-4.2-001-fix_job_control-0.1.patch b/packages/sysutils/bash/patches/bash-4.2-001-fix_job_control-0.1.patch new file mode 100644 index 0000000000..98d79342a0 --- /dev/null +++ b/packages/sysutils/bash/patches/bash-4.2-001-fix_job_control-0.1.patch @@ -0,0 +1,15 @@ +diff -Naur bash-4.2/execute_cmd.c bash-4.2.patch/execute_cmd.c +--- bash-4.2/execute_cmd.c 2011-02-09 23:32:25.000000000 +0100 ++++ bash-4.2.patch/execute_cmd.c 2011-02-16 14:30:36.517222120 +0100 +@@ -2202,7 +2202,11 @@ + /* If the `lastpipe' option is set with shopt, and job control is not + enabled, execute the last element of non-async pipelines in the + current shell environment. */ ++#if defined (JOB_CONTROL) + if (lastpipe_opt && job_control == 0 && asynchronous == 0 && pipe_out == NO_PIPE && prev > 0) ++#else ++ if (lastpipe_opt && asynchronous == 0 && pipe_out == NO_PIPE && prev > 0) ++#endif /* JOB_CONTROL */ + { + lstdin = move_to_high_fd (0, 0, 255); + if (lstdin > 0)