diff options
author | 2014-03-20 19:45:36 +0000 | |
---|---|---|
committer | 2014-03-20 19:45:36 +0000 | |
commit | 0b7d58e545d7beefcad863e77947c845a081701e (patch) | |
tree | 1b7ef466996b3fefc696fc982c65e0b050dd41ff /app-shells | |
parent | Version bump (diff) | |
download | gentoo-2-0b7d58e545d7beefcad863e77947c845a081701e.tar.gz gentoo-2-0b7d58e545d7beefcad863e77947c845a081701e.tar.bz2 gentoo-2-0b7d58e545d7beefcad863e77947c845a081701e.zip |
Add more fixes from upstream.
(Portage version: 2.2.8-r1/cvs/Linux x86_64, signed Manifest commit with key D2E96200)
Diffstat (limited to 'app-shells')
-rw-r--r-- | app-shells/bash/ChangeLog | 9 | ||||
-rw-r--r-- | app-shells/bash/bash-4.3-r2.ebuild (renamed from app-shells/bash/bash-4.3-r1.ebuild) | 4 | ||||
-rw-r--r-- | app-shells/bash/files/bash-4.3-compound-array-empty-value.patch | 14 | ||||
-rw-r--r-- | app-shells/bash/files/bash-4.3-extglob-skipname.patch | 156 |
4 files changed, 181 insertions, 2 deletions
diff --git a/app-shells/bash/ChangeLog b/app-shells/bash/ChangeLog index faa3ee780c76..282247583d07 100644 --- a/app-shells/bash/ChangeLog +++ b/app-shells/bash/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for app-shells/bash # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/ChangeLog,v 1.356 2014/03/19 03:37:33 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/ChangeLog,v 1.357 2014/03/20 19:45:36 vapier Exp $ + +*bash-4.3-r2 (20 Mar 2014) + + 20 Mar 2014; Mike Frysinger <vapier@gentoo.org> +bash-4.3-r2.ebuild, + +files/bash-4.3-compound-array-empty-value.patch, + +files/bash-4.3-extglob-skipname.patch, -bash-4.3-r1.ebuild: + Add more fixes from upstream. 19 Mar 2014; Mike Frysinger <vapier@gentoo.org> bash-4.3-r1.ebuild: Drop job/readline patches as they appear to be fixed in this release already. diff --git a/app-shells/bash/bash-4.3-r1.ebuild b/app-shells/bash/bash-4.3-r2.ebuild index 657e88795016..688b310ec3bd 100644 --- a/app-shells/bash/bash-4.3-r1.ebuild +++ b/app-shells/bash/bash-4.3-r2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-4.3-r1.ebuild,v 1.3 2014/03/19 03:37:33 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-4.3-r2.ebuild,v 1.1 2014/03/20 19:45:36 vapier Exp $ EAPI="4" @@ -87,6 +87,8 @@ src_prepare() { epatch "${FILESDIR}"/${P}-jobs-exit.patch epatch "${FILESDIR}"/${P}-parse-ansi-expand.patch epatch "${FILESDIR}"/${P}-pcomplete-dequote.patch + epatch "${FILESDIR}"/${P}-extglob-skipname.patch + epatch "${FILESDIR}"/${P}-compound-array-empty-value.patch epatch_user } diff --git a/app-shells/bash/files/bash-4.3-compound-array-empty-value.patch b/app-shells/bash/files/bash-4.3-compound-array-empty-value.patch new file mode 100644 index 000000000000..46ffa15f3e8b --- /dev/null +++ b/app-shells/bash/files/bash-4.3-compound-array-empty-value.patch @@ -0,0 +1,14 @@ +*** ../bash-4.3/arrayfunc.c 2013-08-02 16:19:59.000000000 -0400 +--- arrayfunc.c 2014-03-18 11:08:15.000000000 -0400 +*************** +*** 598,601 **** +--- 598,606 ---- + { + val = expand_assignment_string_to_string (val, 0); ++ if (val == 0) ++ { ++ val = (char *)xmalloc (1); ++ val[0] = '\0'; /* like do_assignment_internal */ ++ } + free_val = 1; + } diff --git a/app-shells/bash/files/bash-4.3-extglob-skipname.patch b/app-shells/bash/files/bash-4.3-extglob-skipname.patch new file mode 100644 index 000000000000..9461d697da3e --- /dev/null +++ b/app-shells/bash/files/bash-4.3-extglob-skipname.patch @@ -0,0 +1,156 @@ +*** ../bash-4.3/lib/glob/gmisc.c 2013-10-28 14:45:25.000000000 -0400 +--- lib/glob/gmisc.c 2014-03-19 09:16:08.000000000 -0400 +*************** +*** 211,214 **** +--- 211,215 ---- + case '!': + case '@': ++ case '?': + return (pat[1] == LPAREN); + default: +*** ../bash-4.3/lib/glob/glob.c 2014-01-31 21:43:51.000000000 -0500 +--- lib/glob/glob.c 2014-03-20 09:01:26.000000000 -0400 +*************** +*** 180,202 **** + int flags; + { +! char *pp, *pe, *t; +! int n, r; + + pp = pat + 2; +! pe = pp + strlen (pp) - 1; /*(*/ +! if (*pe != ')') +! return 0; +! if ((t = strchr (pp, '|')) == 0) /* easy case first */ + { + *pe = '\0'; + r = skipname (pp, dname, flags); /*(*/ + *pe = ')'; + return r; + } + while (t = glob_patscan (pp, pe, '|')) + { + n = t[-1]; + t[-1] = '\0'; + r = skipname (pp, dname, flags); + t[-1] = n; + if (r == 0) /* if any pattern says not skip, we don't skip */ +--- 180,215 ---- + int flags; + { +! char *pp, *pe, *t, *se; +! int n, r, negate; + ++ negate = *pat == '!'; + pp = pat + 2; +! se = pp + strlen (pp) - 1; /* end of string */ +! pe = glob_patscan (pp, se, 0); /* end of extglob pattern (( */ +! /* we should check for invalid extglob pattern here */ +! /* if pe != se we have more of the pattern at the end of the extglob +! pattern. Check the easy case first ( */ +! if (pe == se && *pe == ')' && (t = strchr (pp, '|')) == 0) + { + *pe = '\0'; ++ #if defined (HANDLE_MULTIBYTE) ++ r = mbskipname (pp, dname, flags); ++ #else + r = skipname (pp, dname, flags); /*(*/ ++ #endif + *pe = ')'; + return r; + } ++ ++ /* check every subpattern */ + while (t = glob_patscan (pp, pe, '|')) + { + n = t[-1]; + t[-1] = '\0'; ++ #if defined (HANDLE_MULTIBYTE) ++ r = mbskipname (pp, dname, flags); ++ #else + r = skipname (pp, dname, flags); ++ #endif + t[-1] = n; + if (r == 0) /* if any pattern says not skip, we don't skip */ +*************** +*** 205,219 **** + } /*(*/ + +! if (pp == pe) /* glob_patscan might find end of pattern */ + return r; + +! *pe = '\0'; +! # if defined (HANDLE_MULTIBYTE) +! r = mbskipname (pp, dname, flags); /*(*/ +! # else +! r = skipname (pp, dname, flags); /*(*/ +! # endif +! *pe = ')'; +! return r; + } + #endif +--- 218,227 ---- + } /*(*/ + +! /* glob_patscan might find end of pattern */ +! if (pp == se) + return r; + +! /* but if it doesn't then we didn't match a leading dot */ +! return 0; + } + #endif +*************** +*** 278,289 **** + { + #if EXTENDED_GLOB +! wchar_t *pp, *pe, *t, n; +! int r; + + pp = pat + 2; +! pe = pp + wcslen (pp) - 1; /*(*/ +! if (*pe != L')') +! return 0; +! if ((t = wcschr (pp, L'|')) == 0) + { + *pe = L'\0'; +--- 286,298 ---- + { + #if EXTENDED_GLOB +! wchar_t *pp, *pe, *t, n, *se; +! int r, negate; + ++ negate = *pat == L'!'; + pp = pat + 2; +! se = pp + wcslen (pp) - 1; /*(*/ +! pe = glob_patscan_wc (pp, se, 0); +! +! if (pe == se && *pe == ')' && (t = wcschr (pp, L'|')) == 0) + { + *pe = L'\0'; +*************** +*** 292,295 **** +--- 301,306 ---- + return r; + } ++ ++ /* check every subpattern */ + while (t = glob_patscan_wc (pp, pe, '|')) + { +*************** +*** 306,313 **** + return r; + +! *pe = L'\0'; +! r = wchkname (pp, dname); /*(*/ +! *pe = L')'; +! return r; + #else + return (wchkname (pat, dname)); +--- 317,322 ---- + return r; + +! /* but if it doesn't then we didn't match a leading dot */ +! return 0; + #else + return (wchkname (pat, dname)); |