summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2009-02-24 05:01:02 +0000
committerMike Frysinger <vapier@gentoo.org>2009-02-24 05:01:02 +0000
commit4b3b36ccc0615dd8165bff6939e20de2bab9140a (patch)
treecb85a28dba625c65472cda2b6a490d833d559807 /app-shells
parentApply blocker as some binaries have moved from xfsdump to xfsprogs #259966 by... (diff)
downloadgentoo-2-4b3b36ccc0615dd8165bff6939e20de2bab9140a.tar.gz
gentoo-2-4b3b36ccc0615dd8165bff6939e20de2bab9140a.tar.bz2
gentoo-2-4b3b36ccc0615dd8165bff6939e20de2bab9140a.zip
Add fixes from upstream.
(Portage version: 2.2_rc23/cvs/Linux x86_64)
Diffstat (limited to 'app-shells')
-rw-r--r--app-shells/bash/ChangeLog8
-rw-r--r--app-shells/bash/bash-4.0.ebuild5
-rw-r--r--app-shells/bash/files/bash-4.0-exit-checkjobs.patch17
-rw-r--r--app-shells/bash/files/bash-4.0-negative-return.patch33
-rw-r--r--app-shells/bash/files/bash-4.0-save-current-token.patch32
5 files changed, 93 insertions, 2 deletions
diff --git a/app-shells/bash/ChangeLog b/app-shells/bash/ChangeLog
index 8d6cc8057795..826f202caaf1 100644
--- a/app-shells/bash/ChangeLog
+++ b/app-shells/bash/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for app-shells/bash
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/ChangeLog,v 1.198 2009/02/23 05:52:00 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/ChangeLog,v 1.199 2009/02/24 05:01:02 vapier Exp $
+
+ 24 Feb 2009; Mike Frysinger <vapier@gentoo.org>
+ +files/bash-4.0-exit-checkjobs.patch,
+ +files/bash-4.0-negative-return.patch,
+ +files/bash-4.0-save-current-token.patch, bash-4.0.ebuild:
+ Add fixes from upstream.
23 Feb 2009; Mike Frysinger <vapier@gentoo.org>
+files/bash-4.0-comsub-backslash-metacharacters.patch, bash-4.0.ebuild:
diff --git a/app-shells/bash/bash-4.0.ebuild b/app-shells/bash/bash-4.0.ebuild
index ac70404422da..e336f75fa4c4 100644
--- a/app-shells/bash/bash-4.0.ebuild
+++ b/app-shells/bash/bash-4.0.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-4.0.ebuild,v 1.3 2009/02/23 05:52:00 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-4.0.ebuild,v 1.4 2009/02/24 05:01:02 vapier Exp $
EAPI="1"
@@ -69,6 +69,9 @@ src_unpack() {
epatch "${FILESDIR}"/${PN}-4.0-ldflags-for-build.patch #211947
epatch "${FILESDIR}"/${PN}-3.2-process-subst.patch
epatch "${FILESDIR}"/${PN}-4.0-comsub-backslash-metacharacters.patch
+ epatch "${FILESDIR}"/${PN}-4.0-save-current-token.patch
+ epatch "${FILESDIR}"/${PN}-4.0-exit-checkjobs.patch
+ epatch "${FILESDIR}"/${PN}-4.0-negative-return.patch
# Log bash commands to syslog #91327
if use bashlogger ; then
ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
diff --git a/app-shells/bash/files/bash-4.0-exit-checkjobs.patch b/app-shells/bash/files/bash-4.0-exit-checkjobs.patch
new file mode 100644
index 000000000000..419a13e51cd3
--- /dev/null
+++ b/app-shells/bash/files/bash-4.0-exit-checkjobs.patch
@@ -0,0 +1,17 @@
+http://lists.gnu.org/archive/html/bug-bash/2009-02/msg00176.html
+
+*** ../bash-4.0/builtins/exit.def 2009-01-04 14:32:22.000000000 -0500
+--- builtins/exit.def 2009-02-23 22:56:58.000000000 -0500
+***************
+*** 114,118 ****
+ if (jobs[i] && STOPPED (i))
+ stopmsg = JSTOPPED;
+! else if (check_jobs_at_exit && stopmsg == 0 && RUNNING (i))
+ stopmsg = JRUNNING;
+
+--- 114,118 ----
+ if (jobs[i] && STOPPED (i))
+ stopmsg = JSTOPPED;
+! else if (check_jobs_at_exit && stopmsg == 0 && jobs[i] && RUNNING (i))
+ stopmsg = JRUNNING;
+
diff --git a/app-shells/bash/files/bash-4.0-negative-return.patch b/app-shells/bash/files/bash-4.0-negative-return.patch
new file mode 100644
index 000000000000..32affa18c179
--- /dev/null
+++ b/app-shells/bash/files/bash-4.0-negative-return.patch
@@ -0,0 +1,33 @@
+http://lists.gnu.org/archive/html/bug-bash/2009-02/msg00158.html
+
+make `return` accept negative values again
+
+hack by me (vapier@gentoo.org) ... i'm not familiar with bash source code, so
+i imagine this isn't the best way to do it ...
+
+--- bash/builtins/return.def
++++ bash/builtins/return.def
+@@ -60,9 +60,23 @@
+ return_builtin (list)
+ WORD_LIST *list;
+ {
++ int neg = 0;
++ if (list && list->word && list->word->word) {
++ char *word = list->word->word;
++ if (*word == '-') {
++ while (*word++)
++ if (!isdigit(*word))
++ break;
++ if (!*word)
++ neg = 1;
++ }
++ }
++
++ if (!neg) {
+ if (no_options (list))
+ return (EX_USAGE);
+ list = loptend; /* skip over possible `--' */
++ }
+
+ return_catch_value = get_exitstat (list);
+
diff --git a/app-shells/bash/files/bash-4.0-save-current-token.patch b/app-shells/bash/files/bash-4.0-save-current-token.patch
new file mode 100644
index 000000000000..506e56858ea0
--- /dev/null
+++ b/app-shells/bash/files/bash-4.0-save-current-token.patch
@@ -0,0 +1,32 @@
+http://lists.gnu.org/archive/html/bug-bash/2009-02/msg00177.html
+
+*** ../bash-4.0/parse.y 2009-01-08 08:29:12.000000000 -0500
+--- parse.y 2009-02-23 22:40:55.000000000 -0500
+***************
+*** 1616,1623 ****
+ int *ret;
+
+! ret = (int *)xmalloc (3 * sizeof (int));
+ ret[0] = last_read_token;
+ ret[1] = token_before_that;
+ ret[2] = two_tokens_ago;
+ return ret;
+ }
+--- 1616,1624 ----
+ int *ret;
+
+! ret = (int *)xmalloc (4 * sizeof (int));
+ ret[0] = last_read_token;
+ ret[1] = token_before_that;
+ ret[2] = two_tokens_ago;
++ ret[3] = current_token;
+ return ret;
+ }
+***************
+*** 1632,1635 ****
+--- 1633,1637 ----
+ token_before_that = ts[1];
+ two_tokens_ago = ts[2];
++ current_token = ts[3];
+ }
+