commit:     899e32aaae797bc4febb51b70bd2d370d6332585
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Fri Mar  8 20:55:42 2019 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Fri Mar  8 20:56:07 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=899e32aa

app-shells/bash: Bump to version 5.0_p2-r2. Removed old.

Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 ...bash-5.0_p2-r1.ebuild => bash-5.0_p2-r2.ebuild} |  2 +-
 .../bash/files/bash-5.0-globpat-backslashes.patch  | 38 ++++++++++++++++++++--
 2 files changed, 36 insertions(+), 4 deletions(-)

diff --git a/app-shells/bash/bash-5.0_p2-r1.ebuild 
b/app-shells/bash/bash-5.0_p2-r2.ebuild
similarity index 100%
rename from app-shells/bash/bash-5.0_p2-r1.ebuild
rename to app-shells/bash/bash-5.0_p2-r2.ebuild
index 9410c85e0ce..7383e634420 100644
--- a/app-shells/bash/bash-5.0_p2-r1.ebuild
+++ b/app-shells/bash/bash-5.0_p2-r2.ebuild
@@ -68,8 +68,8 @@ PATCHES=(
        "${FILESDIR}"/${PN}-5.0-history-zero-length.patch
        "${FILESDIR}"/${PN}-5.0-history-append.patch
        "${FILESDIR}"/${PN}-5.0-optimize-connection-fork.patch
-       "${FILESDIR}"/${PN}-5.0-globpat-backslashes.patch
        "${FILESDIR}"/${PN}-5.0-syslog-history-extern.patch
+       "${FILESDIR}"/${PN}-5.0-globpat-backslashes.patch
 )
 
 pkg_setup() {

diff --git a/app-shells/bash/files/bash-5.0-globpat-backslashes.patch 
b/app-shells/bash/files/bash-5.0-globpat-backslashes.patch
index b3f6d680ea4..21acaf7e7ff 100644
--- a/app-shells/bash/files/bash-5.0-globpat-backslashes.patch
+++ b/app-shells/bash/files/bash-5.0-globpat-backslashes.patch
@@ -53,8 +53,18 @@
 !   return bsquote ? 2 : 0;
   }
   
+*** ../bash-5.0-patched/lib/glob/glob.h        2013-10-28 14:46:12.000000000 
-0400
+--- lib/glob/glob.h    2019-03-07 11:06:47.000000000 -0500
+***************
+*** 31,34 ****
+--- 31,35 ----
+  #define GX_ADDCURDIR 0x200   /* internal -- add passed directory name */
+  #define GX_GLOBSTAR  0x400   /* turn on special handling of ** */
++ #define GX_RECURSE   0x800   /* internal -- glob_filename called recursively 
*/
+  
+  extern int glob_pattern_p __P((const char *));
 *** ../bash-5.0-patched/lib/glob/glob.c        2018-09-20 10:53:23.000000000 
-0400
---- lib/glob/glob.c    2019-01-31 19:14:13.000000000 -0500
+--- lib/glob/glob.c    2019-03-07 14:23:43.000000000 -0500
 ***************
 *** 1062,1066 ****
     unsigned int directory_len;
@@ -89,15 +99,37 @@
       {
         char **directories, *d, *p;
 ***************
+*** 1176,1180 ****
+       d[directory_len - 1] = '\0';
+  
+!       directories = glob_filename (d, dflags);
+  
+        if (free_dirname)
+--- 1195,1199 ----
+       d[directory_len - 1] = '\0';
+  
+!       directories = glob_filename (d, dflags|GX_RECURSE);
+  
+        if (free_dirname)
+***************
 *** 1333,1336 ****
---- 1352,1360 ----
+--- 1352,1369 ----
          return (NULL);
        }
-+       if (directory_len > 0 && hasglob == 2)         /* need to dequote */
++       /* If we have a directory name with quoted characters, and we are
++       being called recursively to glob the directory portion of a pathname,
++       we need to dequote the directory name before returning it so the
++       caller can read the directory */
++       if (directory_len > 0 && hasglob == 2 && (flags & GX_RECURSE) != 0)
 +      {
 +        dequote_pathname (directory_name);
 +        directory_len = strlen (directory_name);
 +      }
++ 
++       /* We could check whether or not the dequoted directory_name is a
++       directory and return it here, returning the original directory_name
++       if not, but we don't do that yet. I'm not sure it matters. */
++ 
         /* Handle GX_MARKDIRS here. */
         result[0] = (char *) malloc (directory_len + 1);
 *** ../bash-5.0-patched/pathexp.c      2018-04-29 17:44:48.000000000 -0400

Reply via email to