Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] bash: stop vendoring patch
@ 2020-07-25  8:35 sgn
  2020-07-25  8:40 ` [PR PATCH] [Updated] " sgn
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: sgn @ 2020-07-25  8:35 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 411 bytes --]

There is a new pull request by sgn against master on the void-packages repository

https://github.com/sgn/void-packages bash-no-vendor
https://github.com/void-linux/void-packages/pull/23826

bash: stop vendoring patch
- carry them along won't get us anywhere
- verify checksum for libreadline8

conflict with #23815 

A patch file from https://github.com/void-linux/void-packages/pull/23826.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-bash-no-vendor-23826.patch --]
[-- Type: text/x-diff, Size: 67972 bytes --]

From e5b2a565ac32917f9143fd8a58c2e18090f2cb90 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 10:17:01 +0700
Subject: [PATCH 1/4] gitattributes: don't show whitespace error on patches

---
 .gitattributes | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.gitattributes b/.gitattributes
index 7f24a8f81d0..8ddae6fce45 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,2 +1,4 @@
 template linguist-language=bash
 common/shlibs merge=union
+*.patch whitespace=-space-before-tab,-trailing-space
+*.diff whitespace=-space-before-tab,-trailing-space

From dbff4a793eeb960d214ced125b25edd935ea23f4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 15:28:53 +0700
Subject: [PATCH 2/4] bash: update to 5.0.018.

Close: #23815
---
 srcpkgs/bash/files/bash50-001             | 167 -------------
 srcpkgs/bash/files/bash50-002             | 113 ---------
 srcpkgs/bash/files/bash50-003             | 239 ------------------
 srcpkgs/bash/files/bash50-004             |  53 ----
 srcpkgs/bash/files/bash50-005             | 110 --------
 srcpkgs/bash/files/bash50-006             |  47 ----
 srcpkgs/bash/files/bash50-007             |  62 -----
 srcpkgs/bash/files/bash50-008             |  68 -----
 srcpkgs/bash/files/bash50-009             |  42 ----
 srcpkgs/bash/files/bash50-010             | 172 -------------
 srcpkgs/bash/files/bash50-011             |  59 -----
 srcpkgs/bash/files/bash50-012             |  64 -----
 srcpkgs/bash/files/bash50-013             |  73 ------
 srcpkgs/bash/files/bash50-014             |  52 ----
 srcpkgs/bash/files/bash50-015             |  78 ------
 srcpkgs/bash/files/bash50-016             |  58 -----
 srcpkgs/bash/files/bash50-017             | 289 ----------------------
 srcpkgs/bash/files/update-bash-patches.sh |   7 -
 srcpkgs/bash/template                     |  45 +++-
 19 files changed, 36 insertions(+), 1762 deletions(-)
 delete mode 100644 srcpkgs/bash/files/bash50-001
 delete mode 100644 srcpkgs/bash/files/bash50-002
 delete mode 100644 srcpkgs/bash/files/bash50-003
 delete mode 100644 srcpkgs/bash/files/bash50-004
 delete mode 100644 srcpkgs/bash/files/bash50-005
 delete mode 100644 srcpkgs/bash/files/bash50-006
 delete mode 100644 srcpkgs/bash/files/bash50-007
 delete mode 100644 srcpkgs/bash/files/bash50-008
 delete mode 100644 srcpkgs/bash/files/bash50-009
 delete mode 100644 srcpkgs/bash/files/bash50-010
 delete mode 100644 srcpkgs/bash/files/bash50-011
 delete mode 100644 srcpkgs/bash/files/bash50-012
 delete mode 100644 srcpkgs/bash/files/bash50-013
 delete mode 100644 srcpkgs/bash/files/bash50-014
 delete mode 100644 srcpkgs/bash/files/bash50-015
 delete mode 100644 srcpkgs/bash/files/bash50-016
 delete mode 100644 srcpkgs/bash/files/bash50-017
 delete mode 100755 srcpkgs/bash/files/update-bash-patches.sh

diff --git a/srcpkgs/bash/files/bash50-001 b/srcpkgs/bash/files/bash50-001
deleted file mode 100644
index 087bd82cf72..00000000000
--- a/srcpkgs/bash/files/bash50-001
+++ /dev/null
@@ -1,167 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-001
-
-Bug-Reported-by:	axel@freakout.de
-Bug-Reference-ID:	<201901082050.x08KoShS006731@bongo.freakout.de>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00079.html
-
-Bug-Description:
-
-Under certain circumstances, the glob expansion code did not remove
-backslashes escaping characters in directory names (or portions of a
-pattern preceding a slash).
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0/bashline.c	2018-11-27 13:20:16.000000000 -0500
---- bashline.c	2019-01-16 16:06:03.000000000 -0500
-***************
-*** 232,235 ****
---- 232,236 ----
-  static int bash_possible_command_completions __P((int, int));
-  
-+ static int completion_glob_pattern __P((char *));
-  static char *glob_complete_word __P((const char *, int));
-  static int bash_glob_completion_internal __P((int));
-***************
-*** 1742,1746 ****
-    /* This could be a globbing pattern, so try to expand it using pathname
-       expansion. */
-!   if (!matches && glob_pattern_p (text))
-      {
-        matches = rl_completion_matches (text, glob_complete_word);
---- 1743,1747 ----
-    /* This could be a globbing pattern, so try to expand it using pathname
-       expansion. */
-!   if (!matches && completion_glob_pattern ((char *)text))
-      {
-        matches = rl_completion_matches (text, glob_complete_word);
-***************
-*** 1851,1855 ****
-  	}
-  
-!       globpat = glob_pattern_p (hint_text);
-  
-        /* If this is an absolute program name, do not check it against
---- 1852,1856 ----
-  	}
-  
-!       globpat = completion_glob_pattern ((char *)hint_text);
-  
-        /* If this is an absolute program name, do not check it against
-***************
-*** 3714,3717 ****
---- 3715,3773 ----
-  }
-  
-+ static int
-+ completion_glob_pattern (string)
-+      char *string;
-+ {
-+   register int c;
-+   char *send;
-+   int open;
-+ 
-+   DECLARE_MBSTATE;
-+ 
-+   open = 0;
-+   send = string + strlen (string);
-+ 
-+   while (c = *string++)
-+     {
-+       switch (c)
-+ 	{
-+ 	case '?':
-+ 	case '*':
-+ 	  return (1);
-+ 
-+ 	case '[':
-+ 	  open++;
-+ 	  continue;
-+ 
-+ 	case ']':
-+ 	  if (open)
-+ 	    return (1);
-+ 	  continue;
-+ 
-+ 	case '+':
-+ 	case '@':
-+ 	case '!':
-+ 	  if (*string == '(')	/*)*/
-+ 	    return (1);
-+ 	  continue;
-+ 
-+ 	case '\\':
-+ 	  if (*string == 0)
-+ 	    return (0);	 	  
-+ 	}
-+ 
-+       /* Advance one fewer byte than an entire multibyte character to
-+ 	 account for the auto-increment in the loop above. */
-+ #ifdef HANDLE_MULTIBYTE
-+       string--;
-+       ADVANCE_CHAR_P (string, send - string);
-+       string++;
-+ #else
-+       ADVANCE_CHAR_P (string, send - string);
-+ #endif
-+     }
-+   return (0);
-+ }
-+ 
-  static char *globtext;
-  static char *globorig;
-***************
-*** 3878,3882 ****
-      }      
-  
-!   if (t && glob_pattern_p (t) == 0)
-      rl_explicit_arg = 1;	/* XXX - force glob_complete_word to append `*' */
-    FREE (t);
---- 3934,3938 ----
-      }      
-  
-!   if (t && completion_glob_pattern (t) == 0)
-      rl_explicit_arg = 1;	/* XXX - force glob_complete_word to append `*' */
-    FREE (t);
-*** ../bash-5.0/lib/glob/glob_loop.c	2018-12-31 13:35:15.000000000 -0500
---- lib/glob/glob_loop.c	2019-01-09 09:44:36.000000000 -0500
-***************
-*** 55,59 ****
-  
-        case L('\\'):
-- #if 0
-  	/* Don't let the pattern end in a backslash (GMATCH returns no match
-  	   if the pattern ends in a backslash anyway), but otherwise return 1,
---- 55,58 ----
-***************
-*** 61,69 ****
-  	   and it can be removed. */
-  	return (*p != L('\0'));
-- #else
-- 	/* The pattern may not end with a backslash. */
-- 	if (*p++ == L('\0'))
-- 	  return 0;
-- #endif
-        }
-  
---- 60,63 ----
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 0
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 1
-  
-  #endif /* _PATCHLEVEL_H_ */
-
diff --git a/srcpkgs/bash/files/bash50-002 b/srcpkgs/bash/files/bash50-002
deleted file mode 100644
index 3fc8272f84a..00000000000
--- a/srcpkgs/bash/files/bash50-002
+++ /dev/null
@@ -1,113 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-002
-
-Bug-Reported-by:	Ante Peric <synthmeat@gmail.com>
-Bug-Reference-ID:	<B7E3B567-2467-4F7B-B6B9-CA4E75A9C93F@gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00095.html
-
-Bug-Description:
-
-When an alias value ends with an unquoted literal tab (not part of a quoted
-string or comment), alias expansion cannot correctly detect the end of the
-alias value after expanding it.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0/parser.h	2018-12-28 19:11:18.000000000 -0500
---- parser.h	2019-01-11 15:13:03.000000000 -0500
-***************
-*** 48,51 ****
---- 48,52 ----
-  #define PST_REDIRLIST	0x080000	/* parsing a list of redirections preceding a simple command name */
-  #define PST_COMMENT	0x100000	/* parsing a shell comment; used by aliases */
-+ #define PST_ENDALIAS	0x200000	/* just finished expanding and consuming an alias */
-  
-  /* Definition of the delimiter stack.  Needed by parse.y and bashhist.c. */
-*** ../bash-5.0/parse.y	2019-01-02 13:57:34.000000000 -0500
---- parse.y	2019-01-14 08:23:31.000000000 -0500
-***************
-*** 2558,2567 ****
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-        shell_input_line_index > 0 &&
-!       shell_input_line[shell_input_line_index-1] != ' ' &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-        return ' ';	/* END_ALIAS */
-      }
---- 2558,2569 ----
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-+       (parser_state & PST_ENDALIAS) == 0 &&	/* only once */
-        shell_input_line_index > 0 &&
-!       shellblank (shell_input_line[shell_input_line_index-1]) == 0 &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-+       parser_state |= PST_ENDALIAS;
-        return ' ';	/* END_ALIAS */
-      }
-***************
-*** 2572,2575 ****
---- 2574,2578 ----
-    if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE)
-      {
-+       parser_state &= ~PST_ENDALIAS;
-        pop_string ();
-        uc = shell_input_line[shell_input_line_index];
-*** ../bash-5.0/y.tab.c	2019-01-02 13:57:43.000000000 -0500
---- y.tab.c	2019-01-14 08:39:23.000000000 -0500
-***************
-*** 4874,4883 ****
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-        shell_input_line_index > 0 &&
-!       shell_input_line[shell_input_line_index-1] != ' ' &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-        return ' ';	/* END_ALIAS */
-      }
---- 4874,4885 ----
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-+       (parser_state & PST_ENDALIAS) == 0 &&	/* only once */
-        shell_input_line_index > 0 &&
-!       shellblank (shell_input_line[shell_input_line_index-1]) == 0 &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-+       parser_state |= PST_ENDALIAS;
-        return ' ';	/* END_ALIAS */
-      }
-***************
-*** 4888,4891 ****
---- 4890,4894 ----
-    if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE)
-      {
-+       parser_state &= ~PST_ENDALIAS;
-        pop_string ();
-        uc = shell_input_line[shell_input_line_index];
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 1
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 2
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-003 b/srcpkgs/bash/files/bash50-003
deleted file mode 100644
index f7e5677e540..00000000000
--- a/srcpkgs/bash/files/bash50-003
+++ /dev/null
@@ -1,239 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-003
-
-Bug-Reported-by:	Andrew Church <achurch+bash@achurch.org>
-Bug-Reference-ID:	<5c534aa2.04371@msgid.achurch.org>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00276.html
-
-Bug-Description:
-
-There are several incompatibilities in how bash-5.0 processes pathname
-expansion (globbing) of filename arguments that have backslashes in the
-directory portion.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/glob/glob_loop.c	2019-01-16 16:13:21.000000000 -0500
---- lib/glob/glob_loop.c	2019-02-01 09:45:11.000000000 -0500
-***************
-*** 27,34 ****
-    register const GCHAR *p;
-    register GCHAR c;
-!   int bopen;
-  
-    p = pattern;
-!   bopen = 0;
-  
-    while ((c = *p++) != L('\0'))
---- 27,34 ----
-    register const GCHAR *p;
-    register GCHAR c;
-!   int bopen, bsquote;
-  
-    p = pattern;
-!   bopen = bsquote = 0;
-  
-    while ((c = *p++) != L('\0'))
-***************
-*** 56,66 ****
-        case L('\\'):
-  	/* Don't let the pattern end in a backslash (GMATCH returns no match
-! 	   if the pattern ends in a backslash anyway), but otherwise return 1,
-! 	   since the matching engine uses backslash as an escape character
-! 	   and it can be removed. */
-! 	return (*p != L('\0'));
-        }
-  
-!   return 0;
-  }
-  
---- 56,75 ----
-        case L('\\'):
-  	/* Don't let the pattern end in a backslash (GMATCH returns no match
-! 	   if the pattern ends in a backslash anyway), but otherwise note that 
-! 	   we have seen this, since the matching engine uses backslash as an
-! 	   escape character and it can be removed. We return 2 later if we
-! 	   have seen only backslash-escaped characters, so interested callers
-! 	   know they can shortcut and just dequote the pathname. */
-! 	if (*p != L('\0'))
-! 	  {
-! 	    p++;
-! 	    bsquote = 1;
-! 	    continue;
-! 	  }
-! 	else 	/* (*p == L('\0')) */
-! 	  return 0;
-        }
-  
-!   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-03-07 14:23:43.000000000 -0500
-***************
-*** 1062,1066 ****
-    unsigned int directory_len;
-    int free_dirname;			/* flag */
-!   int dflags;
-  
-    result = (char **) malloc (sizeof (char *));
---- 1078,1082 ----
-    unsigned int directory_len;
-    int free_dirname;			/* flag */
-!   int dflags, hasglob;
-  
-    result = (char **) malloc (sizeof (char *));
-***************
-*** 1111,1117 ****
-      }
-  
-    /* If directory_name contains globbing characters, then we
-!      have to expand the previous levels.  Just recurse. */
-!   if (directory_len > 0 && glob_pattern_p (directory_name))
-      {
-        char **directories, *d, *p;
---- 1127,1136 ----
-      }
-  
-+   hasglob = 0;
-    /* If directory_name contains globbing characters, then we
-!      have to expand the previous levels.  Just recurse.
-!      If glob_pattern_p returns != [0,1] we have a pattern that has backslash
-!      quotes but no unquoted glob pattern characters. We dequote it below. */
-!   if (directory_len > 0 && (hasglob = glob_pattern_p (directory_name)) == 1)
-      {
-        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,1369 ----
-  	  return (NULL);
-  	}
-+       /* 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
---- pathexp.c	2019-01-31 20:19:41.000000000 -0500
-***************
-*** 66,74 ****
-    register int c;
-    char *send;
-!   int open;
-  
-    DECLARE_MBSTATE;
-  
-!   open = 0;
-    send = string + strlen (string);
-  
---- 66,74 ----
-    register int c;
-    char *send;
-!   int open, bsquote;
-  
-    DECLARE_MBSTATE;
-  
-!   open = bsquote = 0;
-    send = string + strlen (string);
-  
-***************
-*** 101,105 ****
-  	   globbing. */
-  	case '\\':
-! 	  return (*string != 0);
-  	 	  
-  	case CTLESC:
---- 101,112 ----
-  	   globbing. */
-  	case '\\':
-! 	  if (*string != '\0' && *string != '/')
-! 	    {
-! 	      bsquote = 1;
-! 	      string++;
-! 	      continue;
-! 	    }
-! 	  else if (*string == 0)
-! 	    return (0);
-  	 	  
-  	case CTLESC:
-***************
-*** 118,122 ****
-  #endif
-      }
-!   return (0);
-  }
-  
---- 125,130 ----
-  #endif
-      }
-! 
-!   return (bsquote ? 2 : 0);
-  }
-  
-*** ../bash-5.0-patched/bashline.c	2019-01-16 16:13:21.000000000 -0500
---- bashline.c	2019-02-22 09:29:08.000000000 -0500
-***************
-*** 3753,3757 ****
-  
-  	case '\\':
-! 	  if (*string == 0)
-  	    return (0);	 	  
-  	}
---- 3766,3770 ----
-  
-  	case '\\':
-! 	  if (*string++ == 0)
-  	    return (0);	 	  
-  	}
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 2
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 3
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-004 b/srcpkgs/bash/files/bash50-004
deleted file mode 100644
index fe3c764bd6c..00000000000
--- a/srcpkgs/bash/files/bash50-004
+++ /dev/null
@@ -1,53 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-004
-
-Bug-Reported-by:	Daniel Kahn Gillmor <dkg@fifthhorseman.net>
-Bug-Reference-ID:	<87lg0g8aiw.fsf@fifthhorseman.net>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-04/msg00076.html
-
-Bug-Description:
-
-In bash-5.0, the `wait' builtin without arguments waits for all children of the
-shell. This includes children it `inherited' at shell invocation time. This
-patch modifies the behavior to not wait for these inherited children, some
-of which might be long-lived.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/jobs.c	2018-12-06 11:44:34.000000000 -0500
---- jobs.c	2019-04-12 15:15:10.000000000 -0400
-***************
-*** 2489,2496 ****
-    wait_procsubs ();
-    reap_procsubs ();
-! #if 1
-    /* We don't want to wait indefinitely if we have stopped children. */
--   /* XXX - should add a loop that goes through the list of process
--      substitutions and waits for each proc in turn before this code. */
-    if (any_stopped == 0)
-      {
---- 2490,2495 ----
-    wait_procsubs ();
-    reap_procsubs ();
-! #if 0
-    /* We don't want to wait indefinitely if we have stopped children. */
-    if (any_stopped == 0)
-      {
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 3
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 4
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-005 b/srcpkgs/bash/files/bash50-005
deleted file mode 100644
index 9b1cd75b0b6..00000000000
--- a/srcpkgs/bash/files/bash50-005
+++ /dev/null
@@ -1,110 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-005
-
-Bug-Reported-by:	Brad Spencer <bspencer@blackberry.com>
-Bug-Reference-ID:	<1b993ff2-ce4f-662a-6be4-393457362e47@blackberry.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00250.html
-
-Bug-Description:
-
-In certain cases, bash optimizes out a fork() call too early and prevents
-traps from running.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/command.h	2018-07-20 21:16:31.000000000 -0400
---- command.h	2019-02-20 11:09:36.000000000 -0500
-***************
-*** 187,190 ****
---- 188,192 ----
-  #define CMD_LASTPIPE	    0x2000
-  #define CMD_STDPATH	    0x4000	/* use standard path for command lookup */
-+ #define CMD_TRY_OPTIMIZING  0x8000	/* try to optimize this simple command */
-  
-  /* What a command looks like. */
-*** ../bash-5.0-patched/builtins/evalstring.c	2018-12-26 11:19:21.000000000 -0500
---- builtins/evalstring.c	2019-01-29 14:15:19.000000000 -0500
-***************
-*** 101,104 ****
---- 101,113 ----
-  }
-  
-+ int
-+ can_optimize_connection (command)
-+      COMMAND *command;
-+ {
-+   return (*bash_input.location.string == '\0' &&
-+ 	  (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-+ 	  command->value.Connection->second->type == cm_simple);
-+ }
-+ 
-  void
-  optimize_fork (command)
-***************
-*** 106,110 ****
-  {
-    if (command->type == cm_connection &&
-!       (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR) &&
-        should_suppress_fork (command->value.Connection->second))
-      {
---- 115,120 ----
-  {
-    if (command->type == cm_connection &&
-!       (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-!       (command->value.Connection->second->flags & CMD_TRY_OPTIMIZING) &&
-        should_suppress_fork (command->value.Connection->second))
-      {
-***************
-*** 413,418 ****
-  		  command->value.Simple->flags |= CMD_NO_FORK;
-  		}
-! 	      else if (command->type == cm_connection)
-! 		optimize_fork (command);
-  #endif /* ONESHOT */
-  
---- 423,438 ----
-  		  command->value.Simple->flags |= CMD_NO_FORK;
-  		}
-! 
-! 	      /* Can't optimize forks out here execept for simple commands.
-! 		 This knows that the parser sets up commands as left-side heavy
-! 		 (&& and || are left-associative) and after the single parse,
-! 		 if we are at the end of the command string, the last in a
-! 		 series of connection commands is
-! 		 command->value.Connection->second. */
-! 	      else if (command->type == cm_connection && can_optimize_connection (command))
-! 		{
-! 		  command->value.Connection->second->flags |= CMD_TRY_OPTIMIZING;
-! 		  command->value.Connection->second->value.Simple->flags |= CMD_TRY_OPTIMIZING;
-! 		}
-  #endif /* ONESHOT */
-  
-*** ../bash-5.0-patched/execute_cmd.c	2018-12-05 09:05:14.000000000 -0500
---- execute_cmd.c	2019-01-25 15:59:00.000000000 -0500
-***************
-*** 2768,2771 ****
---- 2768,2773 ----
-  	   (exec_result != EXECUTION_SUCCESS)))
-  	{
-+ 	  optimize_fork (command);
-+ 
-  	  second = command->value.Connection->second;
-  	  if (ignore_return && second)
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 4
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 5
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-006 b/srcpkgs/bash/files/bash50-006
deleted file mode 100644
index 2ad1cd20090..00000000000
--- a/srcpkgs/bash/files/bash50-006
+++ /dev/null
@@ -1,47 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-006
-
-Bug-Reported-by:	Tomas Mozes <hydrapolic@gmail.com>
-Bug-Reference-ID:	<CAG6MAzQumLU2vhnmr1UrYAUQAFW5Yo8hfM_sEibX9RJQWJkRrA@mail.gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-03/msg00037.html
-
-Bug-Description:
-
-Bash-5.0 did not build successfully if SYSLOG_HISTORY was defined without
-also defining SYSLOG_SHOPT.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/builtins/shopt.def	2018-10-05 14:49:02.000000000 -0400
---- builtins/shopt.def	2019-01-23 09:55:22.000000000 -0500
-***************
-*** 123,127 ****
-  #endif
-  
-! #if defined (SYSLOG_HISTORY) && defined (SYSLOG_SHOPT)
-  extern int syslog_history;
-  #endif
---- 123,127 ----
-  #endif
-  
-! #if defined (SYSLOG_HISTORY)
-  extern int syslog_history;
-  #endif
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 5
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 6
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-007 b/srcpkgs/bash/files/bash50-007
deleted file mode 100644
index b9eb4150a2b..00000000000
--- a/srcpkgs/bash/files/bash50-007
+++ /dev/null
@@ -1,62 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-007
-
-Bug-Reported-by:	Grisha Levit <grishalevit@gmail.com>
-Bug-Reference-ID:	<CAMu=BroHapG1AS3xB5SQaCX2XKu=-E2Ob9uW6LNuHvd=YohrDw@mail.gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-02/msg00067.html
-
-Bug-Description:
-
-Running `exec' when job control was disabled, even temporarily, but after it
-had been initialized, could leave the terminal in the wrong process group for
-the executed process.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/jobs.c	2018-12-06 11:44:34.000000000 -0500
---- jobs.c	2019-04-12 15:15:10.000000000 -0400
-***************
-*** 4838,4850 ****
-  {
-    if (job_control)
-!     {
-!       terminate_stopped_jobs ();
-  
-!       if (original_pgrp >= 0)
-! 	give_terminal_to (original_pgrp, 1);
-!     }
-  
-!   if (original_pgrp >= 0)
-!     setpgid (0, original_pgrp);
-  }
-  
---- 4838,4848 ----
-  {
-    if (job_control)
-!     terminate_stopped_jobs ();
-  
-!   if (original_pgrp >= 0 && terminal_pgrp != original_pgrp)
-!     give_terminal_to (original_pgrp, 1);
-  
-!   if (original_pgrp >= 0 && setpgid (0, original_pgrp) == 0)
-!     shell_pgrp = original_pgrp;
-  }
-  
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 6
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 7
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-008 b/srcpkgs/bash/files/bash50-008
deleted file mode 100644
index b09d6b33ac7..00000000000
--- a/srcpkgs/bash/files/bash50-008
+++ /dev/null
@@ -1,68 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-008
-
-Bug-Reported-by:	Michael Albinus <michael.albinus@gmx.de>
-Bug-Reference-ID:	<87bm36k3kz.fsf@gmx.de>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-02/msg00111.html
-
-Bug-Description:
-
-When HISTSIZE is set to 0, history expansion can leave the history length
-set to an incorrect value, leading to subsequent attempts to access invalid
-memory.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/bashhist.c	2018-07-05 22:41:14.000000000 -0400
---- bashhist.c	2019-02-20 16:20:04.000000000 -0500
-***************
-*** 561,573 ****
-    if (!history_expansion_inhibited && history_expansion && history_expansion_p (line))
-      {
-        /* If we are expanding the second or later line of a multi-line
-  	 command, decrease history_length so references to history expansions
-  	 in these lines refer to the previous history entry and not the
-  	 current command. */
-        if (history_length > 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-          history_length--;
-        expanded = history_expand (line, &history_value);
-        if (history_length >= 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-!         history_length++;
-  
-        if (expanded)
---- 561,576 ----
-    if (!history_expansion_inhibited && history_expansion && history_expansion_p (line))
-      {
-+       int old_len;
-+ 
-        /* If we are expanding the second or later line of a multi-line
-  	 command, decrease history_length so references to history expansions
-  	 in these lines refer to the previous history entry and not the
-  	 current command. */
-+       old_len = history_length;
-        if (history_length > 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-          history_length--;
-        expanded = history_expand (line, &history_value);
-        if (history_length >= 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-!         history_length = old_len;
-  
-        if (expanded)
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 7
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 8
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-009 b/srcpkgs/bash/files/bash50-009
deleted file mode 100644
index aef4ce7b5ad..00000000000
--- a/srcpkgs/bash/files/bash50-009
+++ /dev/null
@@ -1,42 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-009
-
-Bug-Reported-by:	chet.ramey@case.edu
-Bug-Reference-ID:
-Bug-Reference-URL:
-
-Bug-Description:
-
-The history file reading code doesn't close the file descriptor open to
-the history file when it encounters a zero-length file.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/readline/histfile.c	2018-06-11 09:14:52.000000000 -0400
---- lib/readline/histfile.c	2019-05-16 15:55:57.000000000 -0400
-***************
-*** 306,309 ****
---- 312,316 ----
-      {
-        free (input);
-+       close (file);
-        return 0;	/* don't waste time if we don't have to */
-      }
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 8
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 9
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-010 b/srcpkgs/bash/files/bash50-010
deleted file mode 100644
index bac7aa92515..00000000000
--- a/srcpkgs/bash/files/bash50-010
+++ /dev/null
@@ -1,172 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-010
-
-Bug-Reported-by:	Thorsten Glaser <tg@mirbsd.de>
-Bug-Reference-ID:	<156622962831.19438.16374961114836556294.reportbug@tglase.lan.tarent.de>
-Bug-Reference-URL:	https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=935115
-
-Bug-Description:
-
-Bash-5.0 changed the way assignment statements preceding special builtins
-and shell functions were handled in posix mode. They automatically created
-or modified global variables instead of modifying existing local variables
-as in bash-4.4.
-
-The bash-4.4 posix-mode semantics were buggy, and resulted in creating
-local variables where they were not intended and modifying global variables
-and local variables simultaneously.
-
-The bash-5.0 changes were intended to fix this issue, but did not preserve
-enough backwards compatibility. The posix standard also changed what it
-required in these cases, so bash-5.0 is not bound by the strict conformance
-requirements that existed in previous issues of the standard.
-
-This patch modifies the bash-5.0 posix mode behavior in an effort to restore
-some backwards compatibility and rationalize the behavior in the presence of
-local variables. It
-
-1. Changes the assignment semantics to be more similar to standalone assignment
-   statements: assignments preceding a function call or special builtin while
-   executing in a shell function will modify the value of a local variable
-   with the same name for the duration of the function's execution;
-
-2. Changes assignments preceding shell function calls or special builtins
-   from within a shell function to no longer create or modify global variables
-   in the presence of a local variable with the same name;
-
-3. Assignment statements preceding a shell function call or special builtin
-   at the global scope continue to modify the (global) calling environment,
-   but are unaffected by assignments preceding function calls or special
-   builtins within a function, as described in item 2. This is also similar
-   to the behavior of a standalone assignment statement.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/variables.c	2018-12-18 11:07:21.000000000 -0500
---- variables.c	2019-08-22 10:53:44.000000000 -0400
-***************
-*** 4461,4467 ****
-  
-  /* Take a variable from an assignment statement preceding a posix special
-!    builtin (including `return') and create a global variable from it. This
-!    is called from merge_temporary_env, which is only called when in posix
-!    mode. */
-  static void
-  push_posix_temp_var (data)
---- 4461,4467 ----
-  
-  /* Take a variable from an assignment statement preceding a posix special
-!    builtin (including `return') and create a variable from it as if a
-!    standalone assignment statement had been performed. This is called from
-!    merge_temporary_env, which is only called when in posix mode. */
-  static void
-  push_posix_temp_var (data)
-***************
-*** 4473,4486 ****
-    var = (SHELL_VAR *)data;
-  
-!   binding_table = global_variables->table;
-!   if (binding_table == 0)
-!     binding_table = global_variables->table = hash_create (VARIABLES_HASH_BUCKETS);
-! 
-!   v = bind_variable_internal (var->name, value_cell (var), binding_table, 0, ASS_FORCE|ASS_NOLONGJMP);
-  
-    /* global variables are no longer temporary and don't need propagating. */
-!   var->attributes &= ~(att_tempvar|att_propagate);
-    if (v)
-!     v->attributes |= var->attributes;
-  
-    if (find_special_var (var->name) >= 0)
---- 4473,4497 ----
-    var = (SHELL_VAR *)data;
-  
-!   /* Just like do_assignment_internal(). This makes assignments preceding
-!      special builtins act like standalone assignment statements when in
-!      posix mode, satisfying the posix requirement that this affect the
-!      "current execution environment." */
-!   v = bind_variable (var->name, value_cell (var), ASS_FORCE|ASS_NOLONGJMP);
-! 
-!   /* If this modifies an existing local variable, v->context will be non-zero.
-!      If it comes back with v->context == 0, we bound at the global context.
-!      Set binding_table appropriately. It doesn't matter whether it's correct
-!      if the variable is local, only that it's not global_variables->table */
-!   binding_table = v->context ? shell_variables->table : global_variables->table;
-  
-    /* global variables are no longer temporary and don't need propagating. */
-!   if (binding_table == global_variables->table)
-!     var->attributes &= ~(att_tempvar|att_propagate);
-! 
-    if (v)
-!     {
-!       v->attributes |= var->attributes;
-!       v->attributes &= ~att_tempvar;	/* not a temp var now */
-!     }
-  
-    if (find_special_var (var->name) >= 0)
-***************
-*** 4576,4587 ****
-  {
-    int i;
-  
-    tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1);
-    tempvar_list[tvlist_ind = 0] = 0;
-!     
-!   hash_flush (temporary_env, pushf);
-!   hash_dispose (temporary_env);
-    temporary_env = (HASH_TABLE *)NULL;
-  
-    tempvar_list[tvlist_ind] = 0;
-  
---- 4587,4601 ----
-  {
-    int i;
-+   HASH_TABLE *disposer;
-  
-    tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1);
-    tempvar_list[tvlist_ind = 0] = 0;
-! 
-!   disposer = temporary_env;
-    temporary_env = (HASH_TABLE *)NULL;
-  
-+   hash_flush (disposer, pushf);
-+   hash_dispose (disposer);
-+ 
-    tempvar_list[tvlist_ind] = 0;
-  
-*** ../bash-5.0-patched/tests/varenv.right	2018-12-17 15:39:48.000000000 -0500
---- tests/varenv.right	2019-08-22 16:05:25.000000000 -0400
-***************
-*** 147,153 ****
-  outside: declare -- var="one"
-  inside: declare -x var="value"
-! outside: declare -x var="value"
-! inside: declare -- var="local"
-! outside: declare -x var="global"
-  foo=<unset> environment foo=
-  foo=foo environment foo=foo
---- 147,153 ----
-  outside: declare -- var="one"
-  inside: declare -x var="value"
-! outside: declare -- var="outside"
-! inside: declare -x var="global"
-! outside: declare -- var="outside"
-  foo=<unset> environment foo=
-  foo=foo environment foo=foo
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 9
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 10
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-011 b/srcpkgs/bash/files/bash50-011
deleted file mode 100644
index a9ae690e004..00000000000
--- a/srcpkgs/bash/files/bash50-011
+++ /dev/null
@@ -1,59 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-011
-
-Bug-Reported-by:	Matt Whitlock
-Bug-Reference-ID:	
-Bug-Reference-URL:	https://savannah.gnu.org/support/?109671
-
-Bug-Description:
-
-The conditional command did not perform appropriate quoted null character
-removal on its arguments, causing syntax errors and attempts to stat
-invalid pathnames.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/subst.c	2018-12-22 17:43:37.000000000 -0500
---- subst.c	2019-04-14 13:25:41.000000000 -0400
-***************
-*** 3626,3630 ****
-     SPECIAL is 2, this is an rhs argument for the =~ operator, and should
-     be quoted appropriately for regcomp/regexec.  The caller is responsible
-!    for removing the backslashes if the unquoted word is needed later. */   
-  char *
-  cond_expand_word (w, special)
---- 3642,3648 ----
-     SPECIAL is 2, this is an rhs argument for the =~ operator, and should
-     be quoted appropriately for regcomp/regexec.  The caller is responsible
-!    for removing the backslashes if the unquoted word is needed later. In
-!    any case, since we don't perform word splitting, we need to do quoted
-!    null character removal. */
-  char *
-  cond_expand_word (w, special)
-***************
-*** 3647,3650 ****
---- 3665,3670 ----
-        if (special == 0)			/* LHS */
-  	{
-+ 	  if (l->word)
-+ 	    word_list_remove_quoted_nulls (l);
-  	  dequote_list (l);
-  	  r = string_list (l);
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 10
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 11
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-012 b/srcpkgs/bash/files/bash50-012
deleted file mode 100644
index 7470e766550..00000000000
--- a/srcpkgs/bash/files/bash50-012
+++ /dev/null
@@ -1,64 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-012
-
-Bug-Reported-by:	lessbug@qq.com
-Bug-Reference-ID:	<tencent_6AA531D9A5CC4121D86BD5CDA2E0DA98C605@qq.com>
-Bug-Reference-URL:
-
-Bug-Description:
-
-When using previous-history to go back beyond the beginning of the history list,
-it's possible to move to an incorrect partial line.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/readline/misc.c	2017-07-07 17:30:12.000000000 -0400
---- lib/readline/misc.c	2019-05-16 11:43:46.000000000 -0400
-***************
-*** 577,580 ****
---- 590,594 ----
-  {
-    HIST_ENTRY *old_temp, *temp;
-+   int had_saved_line;
-  
-    if (count < 0)
-***************
-*** 589,592 ****
---- 603,607 ----
-  
-    /* If we don't have a line saved, then save this one. */
-+   had_saved_line = _rl_saved_line_for_history != 0;
-    rl_maybe_save_line ();
-  
-***************
-*** 612,616 ****
-    if (temp == 0)
-      {
-!       rl_maybe_unsave_line ();
-        rl_ding ();
-      }
---- 627,632 ----
-    if (temp == 0)
-      {
-!       if (had_saved_line == 0)
-!         _rl_free_saved_history_line ();
-        rl_ding ();
-      }
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 11
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 12
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-013 b/srcpkgs/bash/files/bash50-013
deleted file mode 100644
index e44fdb5053b..00000000000
--- a/srcpkgs/bash/files/bash50-013
+++ /dev/null
@@ -1,73 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-013
-
-Bug-Reported-by:	HIROSE Masaaki <hirose31@gmail.com>
-Bug-Reference-ID:	<CAGSOfA-RqiTe=+GsXsDKyZrrMWH4bDbXgMVVegMa6OjqC5xbnQ@mail.gmail.com>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00038.html
-
-Bug-Description:
-
-Reading history entries with timestamps can result in history entries joined
-by linefeeds.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/readline/histfile.c	2018-06-11 09:14:52.000000000 -0400
---- lib/readline/histfile.c	2019-05-16 15:55:57.000000000 -0400
-***************
-*** 370,376 ****
-  
-    has_timestamps = HIST_TIMESTAMP_START (buffer);
-!   history_multiline_entries += has_timestamps && history_write_timestamps;  
-  
-    /* Skip lines until we are at FROM. */
-    for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
-      if (*line_end == '\n')
---- 370,378 ----
-  
-    has_timestamps = HIST_TIMESTAMP_START (buffer);
-!   history_multiline_entries += has_timestamps && history_write_timestamps;
-  
-    /* Skip lines until we are at FROM. */
-+   if (has_timestamps)
-+     last_ts = buffer;
-    for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
-      if (*line_end == '\n')
-***************
-*** 381,385 ****
---- 383,398 ----
-  	if (HIST_TIMESTAMP_START(p) == 0)
-  	  current_line++;
-+ 	else
-+ 	  last_ts = p;
-  	line_start = p;
-+ 	/* If we are at the last line (current_line == from) but we have
-+ 	   timestamps (has_timestamps), then line_start points to the
-+ 	   text of the last command, and we need to skip to its end. */
-+ 	if (current_line >= from && has_timestamps)
-+ 	  {
-+ 	    for (line_end = p; line_end < bufend && *line_end != '\n'; line_end++)
-+ 	      ;
-+ 	    line_start = (*line_end == '\n') ? line_end + 1 : line_end;
-+ 	  }
-        }
-  
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 12
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 13
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-014 b/srcpkgs/bash/files/bash50-014
deleted file mode 100644
index 6cb49aae725..00000000000
--- a/srcpkgs/bash/files/bash50-014
+++ /dev/null
@@ -1,52 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-014
-
-Bug-Reported-by:	Johannes Hielscher <jhielscher@posteo.de>
-Bug-Reference-ID:	<20190208205048.77c25a83@hordevm>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-02/msg00032.html
-
-Bug-Description:
-
-If the current line is empty, using the emacs C-xC-e binding to enter the
-editor will edit the previous command instead of the current (empty) one.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/bashline.c	2019-01-16 16:13:21.000000000 -0500
---- bashline.c	2019-02-11 11:18:57.000000000 -0500
-***************
-*** 962,970 ****
-  	 finished with the command, so we should not ignore the last command */
-        using_history ();
-!       if (rl_line_buffer[0])
-! 	{
-! 	  current_command_line_count++;	/* for rl_newline above */
-! 	  bash_add_history (rl_line_buffer);
-! 	}
-        current_command_line_count = 0;	/* for dummy history entry */
-        bash_add_history ("");
---- 965,970 ----
-  	 finished with the command, so we should not ignore the last command */
-        using_history ();
-!       current_command_line_count++;	/* for rl_newline above */
-!       bash_add_history (rl_line_buffer);
-        current_command_line_count = 0;	/* for dummy history entry */
-        bash_add_history ("");
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 13
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 14
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-015 b/srcpkgs/bash/files/bash50-015
deleted file mode 100644
index ff6e5e69d6e..00000000000
--- a/srcpkgs/bash/files/bash50-015
+++ /dev/null
@@ -1,78 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-015
-
-Bug-Reported-by:	Yu Kou <ckyoog@gmail.com>
-Bug-Reference-ID:	<CAAqoF9Ko3nAShJXGzucafs-ByUagzZ4nbQonwEkwC7s9UqfWKw@mail.gmail.com>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00032.html
-
-Bug-Description:
-
-If alias expansion is enabled when processing the command argument to the
-`-c' option, an alias is defined in that command, and the command ends with
-the invocation of that alias, the shell's command parser can prematurely
-terminate before the entire command is executed.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-20190426/builtins/evalstring.c	2019-01-29 14:15:19.000000000 -0500
---- builtins/evalstring.c	2019-05-15 14:19:36.000000000 -0400
-***************
-*** 92,95 ****
---- 92,96 ----
-  	  running_trap == 0 &&
-  	  *bash_input.location.string == '\0' &&
-+ 	  parser_expanding_alias () == 0 &&
-  	  command->type == cm_simple &&
-  	  signal_is_trapped (EXIT_TRAP) == 0 &&
-***************
-*** 106,109 ****
---- 107,111 ----
-  {
-    return (*bash_input.location.string == '\0' &&
-+ 	  parser_expanding_alias () == 0 &&
-  	  (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-  	  command->value.Connection->second->type == cm_simple);
-***************
-*** 291,295 ****
-    with_input_from_string (string, from_file);
-    clear_shell_input_line ();
-!   while (*(bash_input.location.string))
-      {
-        command = (COMMAND *)NULL;
---- 293,297 ----
-    with_input_from_string (string, from_file);
-    clear_shell_input_line ();
-!   while (*(bash_input.location.string) || parser_expanding_alias ())
-      {
-        command = (COMMAND *)NULL;
-***************
-*** 546,550 ****
-  
-    with_input_from_string (string, from_file);
-!   while (*(bash_input.location.string))
-      {
-        command = (COMMAND *)NULL;
---- 548,552 ----
-  
-    with_input_from_string (string, from_file);
-!   while (*(bash_input.location.string))		/* XXX - parser_expanding_alias () ? */
-      {
-        command = (COMMAND *)NULL;
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 14
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 15
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-016 b/srcpkgs/bash/files/bash50-016
deleted file mode 100644
index 87f232d7ad4..00000000000
--- a/srcpkgs/bash/files/bash50-016
+++ /dev/null
@@ -1,58 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-016
-
-Bug-Reported-by:	sunnycemetery@gmail.com
-Bug-Reference-ID:	<20190316041534.GB22884@midnight>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-03/msg00070.html
-
-Bug-Description:
-
-Bash waits too long to reap /dev/fd process substitutions used as redirections
-with loops and group commands, which can lead to file descriptor exhaustion.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/execute_cmd.c	2019-04-19 15:46:36.000000000 -0400
---- execute_cmd.c	2019-07-01 16:45:49.000000000 -0400
-***************
-*** 1104,1107 ****
---- 1085,1104 ----
-        discard_unwind_frame ("internal_fifos");
-      }
-+ # if defined (HAVE_DEV_FD)
-+   /* Reap process substitutions at the end of loops */
-+   switch (command->type)
-+     {
-+     case cm_while:
-+     case cm_until:
-+     case cm_for:
-+     case cm_group:
-+ #    if defined (ARITH_FOR_COMMAND)
-+     case cm_arith_for:
-+ #    endif
-+       reap_procsubs ();
-+     default:
-+       break;
-+     }
-+ #  endif /* HAVE_DEV_FD */
-  #endif
-  
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 15
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 16
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-017 b/srcpkgs/bash/files/bash50-017
deleted file mode 100644
index adfcb6a8606..00000000000
--- a/srcpkgs/bash/files/bash50-017
+++ /dev/null
@@ -1,289 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-017
-
-Bug-Reported-by:	Valentin Lab <valentin.lab@kalysto.org>
-Bug-Reference-ID:	<ab981b9c-60a5-46d0-b7e6-a6d88b80df50@kalysto.org>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2020-03/msg00062.html
-
-Bug-Description:
-
-There were cases where patch 16 reaped process substitution file descriptors
-(or FIFOs) and processes to early. This is a better fix for the problem that
-bash50-016 attempted to solve.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/subst.c	2019-08-29 11:16:49.000000000 -0400
---- subst.c	2020-04-02 16:24:19.000000000 -0400
-***************
-*** 5337,5341 ****
-  }
-  
-! char *
-  copy_fifo_list (sizep)
-       int *sizep;
---- 5337,5341 ----
-  }
-  
-! void *
-  copy_fifo_list (sizep)
-       int *sizep;
-***************
-*** 5343,5347 ****
-    if (sizep)
-      *sizep = 0;
-!   return (char *)NULL;
-  }
-  
---- 5343,5347 ----
-    if (sizep)
-      *sizep = 0;
-!   return (void *)NULL;
-  }
-  
-***************
-*** 5409,5414 ****
-  	if (fifo_list[i].file)
-  	  {
-! 	    fifo_list[j].file = fifo_list[i].file;
-! 	    fifo_list[j].proc = fifo_list[i].proc;
-  	    j++;
-  	  }
---- 5409,5419 ----
-  	if (fifo_list[i].file)
-  	  {
-! 	    if (i != j)
-! 	      {
-! 		fifo_list[j].file = fifo_list[i].file;
-! 		fifo_list[j].proc = fifo_list[i].proc;
-! 		fifo_list[i].file = (char *)NULL;
-! 		fifo_list[i].proc = 0;
-! 	      }
-  	    j++;
-  	  }
-***************
-*** 5426,5433 ****
-  void
-  close_new_fifos (list, lsize)
-!      char *list;
-       int lsize;
-  {
-    int i;
-  
-    if (list == 0)
---- 5431,5439 ----
-  void
-  close_new_fifos (list, lsize)
-!      void *list;
-       int lsize;
-  {
-    int i;
-+   char *plist;
-  
-    if (list == 0)
-***************
-*** 5437,5442 ****
-      }
-  
-!   for (i = 0; i < lsize; i++)
-!     if (list[i] == 0 && i < fifo_list_size && fifo_list[i].proc != -1)
-        unlink_fifo (i);
-  
---- 5443,5448 ----
-      }
-  
-!   for (plist = (char *)list, i = 0; i < lsize; i++)
-!     if (plist[i] == 0 && i < fifo_list_size && fifo_list[i].proc != -1)
-        unlink_fifo (i);
-  
-***************
-*** 5560,5568 ****
-  }
-  
-! char *
-  copy_fifo_list (sizep)
-       int *sizep;
-  {
-!   char *ret;
-  
-    if (nfds == 0 || totfds == 0)
---- 5566,5574 ----
-  }
-  
-! void *
-  copy_fifo_list (sizep)
-       int *sizep;
-  {
-!   void *ret;
-  
-    if (nfds == 0 || totfds == 0)
-***************
-*** 5570,5579 ****
-        if (sizep)
-  	*sizep = 0;
-!       return (char *)NULL;
-      }
-  
-    if (sizep)
-      *sizep = totfds;
-!   ret = (char *)xmalloc (totfds * sizeof (pid_t));
-    return (memcpy (ret, dev_fd_list, totfds * sizeof (pid_t)));
-  }
---- 5576,5585 ----
-        if (sizep)
-  	*sizep = 0;
-!       return (void *)NULL;
-      }
-  
-    if (sizep)
-      *sizep = totfds;
-!   ret = xmalloc (totfds * sizeof (pid_t));
-    return (memcpy (ret, dev_fd_list, totfds * sizeof (pid_t)));
-  }
-***************
-*** 5648,5655 ****
-  void
-  close_new_fifos (list, lsize)
-!      char *list;
-       int lsize;
-  {
-    int i;
-  
-    if (list == 0)
---- 5654,5662 ----
-  void
-  close_new_fifos (list, lsize)
-!      void *list;
-       int lsize;
-  {
-    int i;
-+   pid_t *plist;
-  
-    if (list == 0)
-***************
-*** 5659,5664 ****
-      }
-  
-!   for (i = 0; i < lsize; i++)
-!     if (list[i] == 0 && i < totfds && dev_fd_list[i])
-        unlink_fifo (i);
-  
---- 5666,5671 ----
-      }
-  
-!   for (plist = (pid_t *)list, i = 0; i < lsize; i++)
-!     if (plist[i] == 0 && i < totfds && dev_fd_list[i])
-        unlink_fifo (i);
-  
-*** ../bash-5.0-patched/subst.h	2018-10-21 18:46:09.000000000 -0400
---- subst.h	2020-04-02 16:29:28.000000000 -0400
-***************
-*** 274,280 ****
-  extern void unlink_fifo __P((int));
-  
-! extern char *copy_fifo_list __P((int *));
-! extern void unlink_new_fifos __P((char *, int));
-! extern void close_new_fifos __P((char *, int));
-  
-  extern void clear_fifo_list __P((void));
---- 274,279 ----
-  extern void unlink_fifo __P((int));
-  
-! extern void *copy_fifo_list __P((int *));
-! extern void close_new_fifos __P((void *, int));
-  
-  extern void clear_fifo_list __P((void));
-*** ../bash-5.0-patched/execute_cmd.c	2020-02-06 20:16:48.000000000 -0500
---- execute_cmd.c	2020-04-02 17:00:10.000000000 -0400
-***************
-*** 565,569 ****
-  #if defined (PROCESS_SUBSTITUTION)
-    volatile int ofifo, nfifo, osize, saved_fifo;
-!   volatile char *ofifo_list;
-  #endif
-  
---- 565,569 ----
-  #if defined (PROCESS_SUBSTITUTION)
-    volatile int ofifo, nfifo, osize, saved_fifo;
-!   volatile void *ofifo_list;
-  #endif
-  
-***************
-*** 751,760 ****
-  #  endif
-  
-!   if (variable_context != 0)	/* XXX - also if sourcelevel != 0? */
-      {
-        ofifo = num_fifos ();
-        ofifo_list = copy_fifo_list ((int *)&osize);
-        begin_unwind_frame ("internal_fifos");
-!       add_unwind_protect (xfree, ofifo_list);
-        saved_fifo = 1;
-      }
---- 751,762 ----
-  #  endif
-  
-!   /* XXX - also if sourcelevel != 0? */
-!   if (variable_context != 0)
-      {
-        ofifo = num_fifos ();
-        ofifo_list = copy_fifo_list ((int *)&osize);
-        begin_unwind_frame ("internal_fifos");
-!       if (ofifo_list)
-! 	add_unwind_protect (xfree, ofifo_list);
-        saved_fifo = 1;
-      }
-***************
-*** 1100,1123 ****
-        nfifo = num_fifos ();
-        if (nfifo > ofifo)
-! 	close_new_fifos ((char *)ofifo_list, osize);
-        free ((void *)ofifo_list);
-        discard_unwind_frame ("internal_fifos");
-      }
-- # if defined (HAVE_DEV_FD)
--   /* Reap process substitutions at the end of loops */
--   switch (command->type)
--     {
--     case cm_while:
--     case cm_until:
--     case cm_for:
--     case cm_group:
-- #    if defined (ARITH_FOR_COMMAND)
--     case cm_arith_for:
-- #    endif
--       reap_procsubs ();
--     default:
--       break;
--     }
-- #  endif /* HAVE_DEV_FD */
-  #endif
-  
---- 1102,1109 ----
-        nfifo = num_fifos ();
-        if (nfifo > ofifo)
-! 	close_new_fifos ((void *)ofifo_list, osize);
-        free ((void *)ofifo_list);
-        discard_unwind_frame ("internal_fifos");
-      }
-  #endif
-  
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 16
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 17
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/update-bash-patches.sh b/srcpkgs/bash/files/update-bash-patches.sh
deleted file mode 100755
index 63c5e20c233..00000000000
--- a/srcpkgs/bash/files/update-bash-patches.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-source ../template
-
-for i in $(seq -w 001 ${_bash_patchlevel}); do
-	curl https://ftp.gnu.org/gnu/bash/bash-$_bash_distver-patches/bash${_bash_distver//./}-$i \
-		> bash${_bash_distver//./}-${_bash_patchlevel}
-done
diff --git a/srcpkgs/bash/template b/srcpkgs/bash/template
index 91e2e4c1ca3..ac0c9d4409d 100644
--- a/srcpkgs/bash/template
+++ b/srcpkgs/bash/template
@@ -1,7 +1,9 @@
 # Template file for 'bash'
 pkgname=bash
-_bash_distver=5.0
-_bash_patchlevel=017
+_major=5
+_minor=0
+_bash_distver="${_major}.${_minor}"
+_bash_patchlevel=018
 version="${_bash_distver}.${_bash_patchlevel}"
 revision=1
 wrksrc="${pkgname}-${_bash_distver}"
@@ -15,9 +17,36 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.gnu.org/software/bash/bash.html"
 distfiles="${GNU_SITE}/${pkgname}/${pkgname}-${_bash_distver}.tar.gz"
-make_dirs="/etc/bash/bashrc.d 755 root root"
-checksum=b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
 
+_url="${GNU_SITE}/bash/bash-${_bash_distver}-patches"
+for _p in $(seq -w 001 ${_bash_patchlevel}); do
+	distfiles+=" ${_url}/bash${_major}${_minor}-${_p}"
+	skip_extraction+=" bash${_major}${_minor}-${_p}"
+done
+unset _url
+unset _p
+
+checksum="b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
+ f2fe9e1f0faddf14ab9bfa88d450a75e5d028fedafad23b88716bd657c737289
+ 87e87d3542e598799adb3e7e01c8165bc743e136a400ed0de015845f7ff68707
+ 4eebcdc37b13793a232c5f2f498a5fcbf7da0ecb3da2059391c096db620ec85b
+ 14447ad832add8ecfafdce5384badd933697b559c4688d6b9e3d36ff36c62f08
+ 5bf54dd9bd2c211d2bfb34a49e2c741f2ed5e338767e9ce9f4d41254bf9f8276
+ d68529a6ff201b6ff5915318ab12fc16b8a0ebb77fda3308303fcc1e13398420
+ 17b41e7ee3673d8887dd25992417a398677533ab8827938aa41fad70df19af9b
+ eec64588622a82a5029b2776e218a75a3640bef4953f09d6ee1f4199670ad7e3
+ ed3ca21767303fc3de93934aa524c2e920787c506b601cc40a4897d4b094d903
+ d6fbc325f0b5dc54ddbe8ee43020bced8bd589ddffea59d128db14b2e52a8a11
+ 2c4de332b91eaf797abbbd6c79709690b5cbd48b12e8dfe748096dbd7bf474ea
+ 2943ee19688018296f2a04dbfe30b7138b889700efa8ff1c0524af271e0ee233
+ f5d7178d8da30799e01b83a0802018d913d6aa972dd2ddad3b927f3f3eb7099a
+ 5d6eee6514ee6e22a87bba8d22be0a8621a0ae119246f1c5a9a35db1f72af589
+ a517df2dda93b26d5cbf00effefea93e3a4ccd6652f152f4109170544ebfa05e
+ ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d
+ 4cf3b9fafb8a66d411dd5fc9120032533a4012df1dc6ee024c7833373e2ddc31
+ 7c314e375a105a6642e8ed44f3808b9def89d15f7492fe2029a21ba9c0de81d3"
+
+make_dirs="/etc/bash/bashrc.d 755 root root"
 conflicts="chroot-bash>=0"
 register_shell="/usr/bin/bash /bin/bash"
 
@@ -27,13 +56,11 @@ alternatives="
 
 CFLAGS="-DSYS_BASHRC='\"/etc/bash/bashrc\"'"
 
-pre_configure() {
-	local ver=$(echo ${_bash_distver}|sed "s|\.||g")
-
+post_patch() {
 	cd ${wrksrc}
 	for p in $(seq -w 001 ${_bash_patchlevel}); do
-		patch -sNp0 -i ${FILESDIR}/bash${ver}-${p}
-		msg_normal " Applying patch bash${ver}-$p.\n"
+		msg_normal " Applying patch bash${_major}${_minor}-$p.\n"
+		patch -sNp0 -i ${XBPS_SRCDISTDIR}/bash-$version/bash${_major}${_minor}-${p}
 	done
 }
 

From 4f33f21afe37156d9440f77a49bd92256876fe24 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 10:28:57 +0700
Subject: [PATCH 3/4] chroot-bash: update to 5.0.018.

---
 srcpkgs/chroot-bash/template | 44 +++++++++++++++++++++++++++++-------
 1 file changed, 36 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/chroot-bash/template b/srcpkgs/chroot-bash/template
index 97b8a9be81f..bd2eaabdf52 100644
--- a/srcpkgs/chroot-bash/template
+++ b/srcpkgs/chroot-bash/template
@@ -1,7 +1,9 @@
 # Template file for 'chroot-bash'
 pkgname=chroot-bash
-_bash_distver=5.0
-_bash_patchlevel=016
+_major=5
+_minor=0
+_bash_distver="${_major}.${_minor}"
+_bash_patchlevel=018
 version="${_bash_distver}.${_bash_patchlevel}"
 revision=1
 wrksrc="bash-${_bash_distver}"
@@ -15,18 +17,44 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="http://www.gnu.org/software/bash/bash.html"
 distfiles="${GNU_SITE}/bash/bash-${_bash_distver}.tar.gz"
-checksum=b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
+
+_url="${GNU_SITE}/bash/bash-${_bash_distver}-patches"
+for _p in $(seq -w 001 ${_bash_patchlevel}); do
+	distfiles+=" ${_url}/bash${_major}${_minor}-${_p}"
+	skip_extraction+=" bash${_major}${_minor}-${_p}"
+done
+unset _url
+unset _p
+
+checksum="b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
+ f2fe9e1f0faddf14ab9bfa88d450a75e5d028fedafad23b88716bd657c737289
+ 87e87d3542e598799adb3e7e01c8165bc743e136a400ed0de015845f7ff68707
+ 4eebcdc37b13793a232c5f2f498a5fcbf7da0ecb3da2059391c096db620ec85b
+ 14447ad832add8ecfafdce5384badd933697b559c4688d6b9e3d36ff36c62f08
+ 5bf54dd9bd2c211d2bfb34a49e2c741f2ed5e338767e9ce9f4d41254bf9f8276
+ d68529a6ff201b6ff5915318ab12fc16b8a0ebb77fda3308303fcc1e13398420
+ 17b41e7ee3673d8887dd25992417a398677533ab8827938aa41fad70df19af9b
+ eec64588622a82a5029b2776e218a75a3640bef4953f09d6ee1f4199670ad7e3
+ ed3ca21767303fc3de93934aa524c2e920787c506b601cc40a4897d4b094d903
+ d6fbc325f0b5dc54ddbe8ee43020bced8bd589ddffea59d128db14b2e52a8a11
+ 2c4de332b91eaf797abbbd6c79709690b5cbd48b12e8dfe748096dbd7bf474ea
+ 2943ee19688018296f2a04dbfe30b7138b889700efa8ff1c0524af271e0ee233
+ f5d7178d8da30799e01b83a0802018d913d6aa972dd2ddad3b927f3f3eb7099a
+ 5d6eee6514ee6e22a87bba8d22be0a8621a0ae119246f1c5a9a35db1f72af589
+ a517df2dda93b26d5cbf00effefea93e3a4ccd6652f152f4109170544ebfa05e
+ ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d
+ 4cf3b9fafb8a66d411dd5fc9120032533a4012df1dc6ee024c7833373e2ddc31
+ 7c314e375a105a6642e8ed44f3808b9def89d15f7492fe2029a21ba9c0de81d3"
 
 bootstrap=yes
 provides="bash-${version}_${revision}"
-conflicts="bash>=0 dash>=0"
+conflicts="bash>=0 dash>=0 busybox>=0 loksh>=0 mksh>=0 oksh>=0 yash>=0"
 
-pre_configure() {
-	local ver=${_bash_distver//./} p
+post_patch() {
 	cd ${wrksrc}
 	for p in $(seq -w 001 ${_bash_patchlevel}); do
-		msg_normal " Applying patch bash${ver}-$p.\n"
-		patch -sNp0 -i ${XBPS_SRCPKGDIR}/bash/files/bash${ver}-${p}
+		msg_normal " Applying patch bash${_major}${_minor}-$p.\n"
+		patch -sNp0 -i ${XBPS_SRCDISTDIR}/bash-$version/bash${_major}${_minor}-${p}
 	done
 }
 

From d30b98957dfb52857ce2da5da5206c3af62ac0bf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 12:13:07 +0700
Subject: [PATCH 4/4] libreadline8: verify patch's checksum

---
 srcpkgs/libreadline8/template | 24 ++++++++++--------------
 1 file changed, 10 insertions(+), 14 deletions(-)

diff --git a/srcpkgs/libreadline8/template b/srcpkgs/libreadline8/template
index 6200195be9e..57c4a3ec348 100644
--- a/srcpkgs/libreadline8/template
+++ b/srcpkgs/libreadline8/template
@@ -14,22 +14,18 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://tiswww.cwru.edu/php/chet/readline/rltop.html"
 distfiles="${GNU_SITE}/readline/readline-${_dist_ver}.tar.gz"
-checksum=e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461
 
-pre_configure() {
-	local url="${GNU_SITE}/readline/readline-${_dist_ver}-patches"
+_url="${GNU_SITE}/readline/readline-${_dist_ver}-patches"
+for _p in $(seq -w 001 ${_patch_ver}); do
+	distfiles+=" ${_url}/readline${_dist_ver/./}-${_p}"
+done
+unset _url
+unset _p
 
-	cd ${XBPS_SRCDISTDIR}/${pkgname}-${version}
-	if [ "${_patch_ver}" -gt 000 ]; then
-		for p in $(seq -w 001 ${_patch_ver}); do
-			if [ -f readline${version/./}-${p} ]; then
-				continue
-			fi
-			local patch_url="${url}/readline${_dist_ver/./}-${p}"
-			msg_normal " Fetching ${patch_url} ...\n"
-			$XBPS_FETCH_CMD "${patch_url}"
-		done
-	fi
+checksum="e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461
+ d8e5e98933cf5756f862243c0601cb69d3667bb33f2c7b751fe4e40b2c3fd069"
+
+post_patch() {
 	cd ${wrksrc}
 	for p in $(seq -w 001 ${_patch_ver}); do
 		patch -s -Np0 -i ${XBPS_SRCDISTDIR}/${pkgname}-${version}/readline${_dist_ver/./}-${p}

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] bash: stop vendoring patch
  2020-07-25  8:35 [PR PATCH] bash: stop vendoring patch sgn
@ 2020-07-25  8:40 ` sgn
  2020-07-25 11:06 ` sgn
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: sgn @ 2020-07-25  8:40 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 416 bytes --]

There is an updated pull request by sgn against master on the void-packages repository

https://github.com/sgn/void-packages bash-no-vendor
https://github.com/void-linux/void-packages/pull/23826

bash: stop vendoring patch
- carry them along won't get us anywhere
- verify checksum for libreadline8

conflict with #23815 

A patch file from https://github.com/void-linux/void-packages/pull/23826.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-bash-no-vendor-23826.patch --]
[-- Type: text/x-diff, Size: 67972 bytes --]

From 95bc75771cf472facb422eceb7e7ff00153691d6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 10:17:01 +0700
Subject: [PATCH 1/4] gitattributes: don't show whitespace error on patches

---
 .gitattributes | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.gitattributes b/.gitattributes
index 7f24a8f81d0..8ddae6fce45 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,2 +1,4 @@
 template linguist-language=bash
 common/shlibs merge=union
+*.patch whitespace=-space-before-tab,-trailing-space
+*.diff whitespace=-space-before-tab,-trailing-space

From 1e3d7cbf1c3b46c1b1f32e814d7679b0b5d113ab Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 10:28:57 +0700
Subject: [PATCH 2/4] chroot-bash: update to 5.0.018.

---
 srcpkgs/chroot-bash/template | 44 +++++++++++++++++++++++++++++-------
 1 file changed, 36 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/chroot-bash/template b/srcpkgs/chroot-bash/template
index 97b8a9be81f..bd2eaabdf52 100644
--- a/srcpkgs/chroot-bash/template
+++ b/srcpkgs/chroot-bash/template
@@ -1,7 +1,9 @@
 # Template file for 'chroot-bash'
 pkgname=chroot-bash
-_bash_distver=5.0
-_bash_patchlevel=016
+_major=5
+_minor=0
+_bash_distver="${_major}.${_minor}"
+_bash_patchlevel=018
 version="${_bash_distver}.${_bash_patchlevel}"
 revision=1
 wrksrc="bash-${_bash_distver}"
@@ -15,18 +17,44 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="http://www.gnu.org/software/bash/bash.html"
 distfiles="${GNU_SITE}/bash/bash-${_bash_distver}.tar.gz"
-checksum=b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
+
+_url="${GNU_SITE}/bash/bash-${_bash_distver}-patches"
+for _p in $(seq -w 001 ${_bash_patchlevel}); do
+	distfiles+=" ${_url}/bash${_major}${_minor}-${_p}"
+	skip_extraction+=" bash${_major}${_minor}-${_p}"
+done
+unset _url
+unset _p
+
+checksum="b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
+ f2fe9e1f0faddf14ab9bfa88d450a75e5d028fedafad23b88716bd657c737289
+ 87e87d3542e598799adb3e7e01c8165bc743e136a400ed0de015845f7ff68707
+ 4eebcdc37b13793a232c5f2f498a5fcbf7da0ecb3da2059391c096db620ec85b
+ 14447ad832add8ecfafdce5384badd933697b559c4688d6b9e3d36ff36c62f08
+ 5bf54dd9bd2c211d2bfb34a49e2c741f2ed5e338767e9ce9f4d41254bf9f8276
+ d68529a6ff201b6ff5915318ab12fc16b8a0ebb77fda3308303fcc1e13398420
+ 17b41e7ee3673d8887dd25992417a398677533ab8827938aa41fad70df19af9b
+ eec64588622a82a5029b2776e218a75a3640bef4953f09d6ee1f4199670ad7e3
+ ed3ca21767303fc3de93934aa524c2e920787c506b601cc40a4897d4b094d903
+ d6fbc325f0b5dc54ddbe8ee43020bced8bd589ddffea59d128db14b2e52a8a11
+ 2c4de332b91eaf797abbbd6c79709690b5cbd48b12e8dfe748096dbd7bf474ea
+ 2943ee19688018296f2a04dbfe30b7138b889700efa8ff1c0524af271e0ee233
+ f5d7178d8da30799e01b83a0802018d913d6aa972dd2ddad3b927f3f3eb7099a
+ 5d6eee6514ee6e22a87bba8d22be0a8621a0ae119246f1c5a9a35db1f72af589
+ a517df2dda93b26d5cbf00effefea93e3a4ccd6652f152f4109170544ebfa05e
+ ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d
+ 4cf3b9fafb8a66d411dd5fc9120032533a4012df1dc6ee024c7833373e2ddc31
+ 7c314e375a105a6642e8ed44f3808b9def89d15f7492fe2029a21ba9c0de81d3"
 
 bootstrap=yes
 provides="bash-${version}_${revision}"
-conflicts="bash>=0 dash>=0"
+conflicts="bash>=0 dash>=0 busybox>=0 loksh>=0 mksh>=0 oksh>=0 yash>=0"
 
-pre_configure() {
-	local ver=${_bash_distver//./} p
+post_patch() {
 	cd ${wrksrc}
 	for p in $(seq -w 001 ${_bash_patchlevel}); do
-		msg_normal " Applying patch bash${ver}-$p.\n"
-		patch -sNp0 -i ${XBPS_SRCPKGDIR}/bash/files/bash${ver}-${p}
+		msg_normal " Applying patch bash${_major}${_minor}-$p.\n"
+		patch -sNp0 -i ${XBPS_SRCDISTDIR}/bash-$version/bash${_major}${_minor}-${p}
 	done
 }
 

From b624e86d0cf32bfe723c8fa037e6f93c963b797f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 15:28:53 +0700
Subject: [PATCH 3/4] bash: update to 5.0.018.

Close: #23815
---
 srcpkgs/bash/files/bash50-001             | 167 -------------
 srcpkgs/bash/files/bash50-002             | 113 ---------
 srcpkgs/bash/files/bash50-003             | 239 ------------------
 srcpkgs/bash/files/bash50-004             |  53 ----
 srcpkgs/bash/files/bash50-005             | 110 --------
 srcpkgs/bash/files/bash50-006             |  47 ----
 srcpkgs/bash/files/bash50-007             |  62 -----
 srcpkgs/bash/files/bash50-008             |  68 -----
 srcpkgs/bash/files/bash50-009             |  42 ----
 srcpkgs/bash/files/bash50-010             | 172 -------------
 srcpkgs/bash/files/bash50-011             |  59 -----
 srcpkgs/bash/files/bash50-012             |  64 -----
 srcpkgs/bash/files/bash50-013             |  73 ------
 srcpkgs/bash/files/bash50-014             |  52 ----
 srcpkgs/bash/files/bash50-015             |  78 ------
 srcpkgs/bash/files/bash50-016             |  58 -----
 srcpkgs/bash/files/bash50-017             | 289 ----------------------
 srcpkgs/bash/files/update-bash-patches.sh |   7 -
 srcpkgs/bash/template                     |  45 +++-
 19 files changed, 36 insertions(+), 1762 deletions(-)
 delete mode 100644 srcpkgs/bash/files/bash50-001
 delete mode 100644 srcpkgs/bash/files/bash50-002
 delete mode 100644 srcpkgs/bash/files/bash50-003
 delete mode 100644 srcpkgs/bash/files/bash50-004
 delete mode 100644 srcpkgs/bash/files/bash50-005
 delete mode 100644 srcpkgs/bash/files/bash50-006
 delete mode 100644 srcpkgs/bash/files/bash50-007
 delete mode 100644 srcpkgs/bash/files/bash50-008
 delete mode 100644 srcpkgs/bash/files/bash50-009
 delete mode 100644 srcpkgs/bash/files/bash50-010
 delete mode 100644 srcpkgs/bash/files/bash50-011
 delete mode 100644 srcpkgs/bash/files/bash50-012
 delete mode 100644 srcpkgs/bash/files/bash50-013
 delete mode 100644 srcpkgs/bash/files/bash50-014
 delete mode 100644 srcpkgs/bash/files/bash50-015
 delete mode 100644 srcpkgs/bash/files/bash50-016
 delete mode 100644 srcpkgs/bash/files/bash50-017
 delete mode 100755 srcpkgs/bash/files/update-bash-patches.sh

diff --git a/srcpkgs/bash/files/bash50-001 b/srcpkgs/bash/files/bash50-001
deleted file mode 100644
index 087bd82cf72..00000000000
--- a/srcpkgs/bash/files/bash50-001
+++ /dev/null
@@ -1,167 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-001
-
-Bug-Reported-by:	axel@freakout.de
-Bug-Reference-ID:	<201901082050.x08KoShS006731@bongo.freakout.de>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00079.html
-
-Bug-Description:
-
-Under certain circumstances, the glob expansion code did not remove
-backslashes escaping characters in directory names (or portions of a
-pattern preceding a slash).
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0/bashline.c	2018-11-27 13:20:16.000000000 -0500
---- bashline.c	2019-01-16 16:06:03.000000000 -0500
-***************
-*** 232,235 ****
---- 232,236 ----
-  static int bash_possible_command_completions __P((int, int));
-  
-+ static int completion_glob_pattern __P((char *));
-  static char *glob_complete_word __P((const char *, int));
-  static int bash_glob_completion_internal __P((int));
-***************
-*** 1742,1746 ****
-    /* This could be a globbing pattern, so try to expand it using pathname
-       expansion. */
-!   if (!matches && glob_pattern_p (text))
-      {
-        matches = rl_completion_matches (text, glob_complete_word);
---- 1743,1747 ----
-    /* This could be a globbing pattern, so try to expand it using pathname
-       expansion. */
-!   if (!matches && completion_glob_pattern ((char *)text))
-      {
-        matches = rl_completion_matches (text, glob_complete_word);
-***************
-*** 1851,1855 ****
-  	}
-  
-!       globpat = glob_pattern_p (hint_text);
-  
-        /* If this is an absolute program name, do not check it against
---- 1852,1856 ----
-  	}
-  
-!       globpat = completion_glob_pattern ((char *)hint_text);
-  
-        /* If this is an absolute program name, do not check it against
-***************
-*** 3714,3717 ****
---- 3715,3773 ----
-  }
-  
-+ static int
-+ completion_glob_pattern (string)
-+      char *string;
-+ {
-+   register int c;
-+   char *send;
-+   int open;
-+ 
-+   DECLARE_MBSTATE;
-+ 
-+   open = 0;
-+   send = string + strlen (string);
-+ 
-+   while (c = *string++)
-+     {
-+       switch (c)
-+ 	{
-+ 	case '?':
-+ 	case '*':
-+ 	  return (1);
-+ 
-+ 	case '[':
-+ 	  open++;
-+ 	  continue;
-+ 
-+ 	case ']':
-+ 	  if (open)
-+ 	    return (1);
-+ 	  continue;
-+ 
-+ 	case '+':
-+ 	case '@':
-+ 	case '!':
-+ 	  if (*string == '(')	/*)*/
-+ 	    return (1);
-+ 	  continue;
-+ 
-+ 	case '\\':
-+ 	  if (*string == 0)
-+ 	    return (0);	 	  
-+ 	}
-+ 
-+       /* Advance one fewer byte than an entire multibyte character to
-+ 	 account for the auto-increment in the loop above. */
-+ #ifdef HANDLE_MULTIBYTE
-+       string--;
-+       ADVANCE_CHAR_P (string, send - string);
-+       string++;
-+ #else
-+       ADVANCE_CHAR_P (string, send - string);
-+ #endif
-+     }
-+   return (0);
-+ }
-+ 
-  static char *globtext;
-  static char *globorig;
-***************
-*** 3878,3882 ****
-      }      
-  
-!   if (t && glob_pattern_p (t) == 0)
-      rl_explicit_arg = 1;	/* XXX - force glob_complete_word to append `*' */
-    FREE (t);
---- 3934,3938 ----
-      }      
-  
-!   if (t && completion_glob_pattern (t) == 0)
-      rl_explicit_arg = 1;	/* XXX - force glob_complete_word to append `*' */
-    FREE (t);
-*** ../bash-5.0/lib/glob/glob_loop.c	2018-12-31 13:35:15.000000000 -0500
---- lib/glob/glob_loop.c	2019-01-09 09:44:36.000000000 -0500
-***************
-*** 55,59 ****
-  
-        case L('\\'):
-- #if 0
-  	/* Don't let the pattern end in a backslash (GMATCH returns no match
-  	   if the pattern ends in a backslash anyway), but otherwise return 1,
---- 55,58 ----
-***************
-*** 61,69 ****
-  	   and it can be removed. */
-  	return (*p != L('\0'));
-- #else
-- 	/* The pattern may not end with a backslash. */
-- 	if (*p++ == L('\0'))
-- 	  return 0;
-- #endif
-        }
-  
---- 60,63 ----
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 0
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 1
-  
-  #endif /* _PATCHLEVEL_H_ */
-
diff --git a/srcpkgs/bash/files/bash50-002 b/srcpkgs/bash/files/bash50-002
deleted file mode 100644
index 3fc8272f84a..00000000000
--- a/srcpkgs/bash/files/bash50-002
+++ /dev/null
@@ -1,113 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-002
-
-Bug-Reported-by:	Ante Peric <synthmeat@gmail.com>
-Bug-Reference-ID:	<B7E3B567-2467-4F7B-B6B9-CA4E75A9C93F@gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00095.html
-
-Bug-Description:
-
-When an alias value ends with an unquoted literal tab (not part of a quoted
-string or comment), alias expansion cannot correctly detect the end of the
-alias value after expanding it.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0/parser.h	2018-12-28 19:11:18.000000000 -0500
---- parser.h	2019-01-11 15:13:03.000000000 -0500
-***************
-*** 48,51 ****
---- 48,52 ----
-  #define PST_REDIRLIST	0x080000	/* parsing a list of redirections preceding a simple command name */
-  #define PST_COMMENT	0x100000	/* parsing a shell comment; used by aliases */
-+ #define PST_ENDALIAS	0x200000	/* just finished expanding and consuming an alias */
-  
-  /* Definition of the delimiter stack.  Needed by parse.y and bashhist.c. */
-*** ../bash-5.0/parse.y	2019-01-02 13:57:34.000000000 -0500
---- parse.y	2019-01-14 08:23:31.000000000 -0500
-***************
-*** 2558,2567 ****
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-        shell_input_line_index > 0 &&
-!       shell_input_line[shell_input_line_index-1] != ' ' &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-        return ' ';	/* END_ALIAS */
-      }
---- 2558,2569 ----
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-+       (parser_state & PST_ENDALIAS) == 0 &&	/* only once */
-        shell_input_line_index > 0 &&
-!       shellblank (shell_input_line[shell_input_line_index-1]) == 0 &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-+       parser_state |= PST_ENDALIAS;
-        return ' ';	/* END_ALIAS */
-      }
-***************
-*** 2572,2575 ****
---- 2574,2578 ----
-    if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE)
-      {
-+       parser_state &= ~PST_ENDALIAS;
-        pop_string ();
-        uc = shell_input_line[shell_input_line_index];
-*** ../bash-5.0/y.tab.c	2019-01-02 13:57:43.000000000 -0500
---- y.tab.c	2019-01-14 08:39:23.000000000 -0500
-***************
-*** 4874,4883 ****
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-        shell_input_line_index > 0 &&
-!       shell_input_line[shell_input_line_index-1] != ' ' &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-        return ' ';	/* END_ALIAS */
-      }
---- 4874,4885 ----
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-+       (parser_state & PST_ENDALIAS) == 0 &&	/* only once */
-        shell_input_line_index > 0 &&
-!       shellblank (shell_input_line[shell_input_line_index-1]) == 0 &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-+       parser_state |= PST_ENDALIAS;
-        return ' ';	/* END_ALIAS */
-      }
-***************
-*** 4888,4891 ****
---- 4890,4894 ----
-    if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE)
-      {
-+       parser_state &= ~PST_ENDALIAS;
-        pop_string ();
-        uc = shell_input_line[shell_input_line_index];
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 1
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 2
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-003 b/srcpkgs/bash/files/bash50-003
deleted file mode 100644
index f7e5677e540..00000000000
--- a/srcpkgs/bash/files/bash50-003
+++ /dev/null
@@ -1,239 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-003
-
-Bug-Reported-by:	Andrew Church <achurch+bash@achurch.org>
-Bug-Reference-ID:	<5c534aa2.04371@msgid.achurch.org>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00276.html
-
-Bug-Description:
-
-There are several incompatibilities in how bash-5.0 processes pathname
-expansion (globbing) of filename arguments that have backslashes in the
-directory portion.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/glob/glob_loop.c	2019-01-16 16:13:21.000000000 -0500
---- lib/glob/glob_loop.c	2019-02-01 09:45:11.000000000 -0500
-***************
-*** 27,34 ****
-    register const GCHAR *p;
-    register GCHAR c;
-!   int bopen;
-  
-    p = pattern;
-!   bopen = 0;
-  
-    while ((c = *p++) != L('\0'))
---- 27,34 ----
-    register const GCHAR *p;
-    register GCHAR c;
-!   int bopen, bsquote;
-  
-    p = pattern;
-!   bopen = bsquote = 0;
-  
-    while ((c = *p++) != L('\0'))
-***************
-*** 56,66 ****
-        case L('\\'):
-  	/* Don't let the pattern end in a backslash (GMATCH returns no match
-! 	   if the pattern ends in a backslash anyway), but otherwise return 1,
-! 	   since the matching engine uses backslash as an escape character
-! 	   and it can be removed. */
-! 	return (*p != L('\0'));
-        }
-  
-!   return 0;
-  }
-  
---- 56,75 ----
-        case L('\\'):
-  	/* Don't let the pattern end in a backslash (GMATCH returns no match
-! 	   if the pattern ends in a backslash anyway), but otherwise note that 
-! 	   we have seen this, since the matching engine uses backslash as an
-! 	   escape character and it can be removed. We return 2 later if we
-! 	   have seen only backslash-escaped characters, so interested callers
-! 	   know they can shortcut and just dequote the pathname. */
-! 	if (*p != L('\0'))
-! 	  {
-! 	    p++;
-! 	    bsquote = 1;
-! 	    continue;
-! 	  }
-! 	else 	/* (*p == L('\0')) */
-! 	  return 0;
-        }
-  
-!   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-03-07 14:23:43.000000000 -0500
-***************
-*** 1062,1066 ****
-    unsigned int directory_len;
-    int free_dirname;			/* flag */
-!   int dflags;
-  
-    result = (char **) malloc (sizeof (char *));
---- 1078,1082 ----
-    unsigned int directory_len;
-    int free_dirname;			/* flag */
-!   int dflags, hasglob;
-  
-    result = (char **) malloc (sizeof (char *));
-***************
-*** 1111,1117 ****
-      }
-  
-    /* If directory_name contains globbing characters, then we
-!      have to expand the previous levels.  Just recurse. */
-!   if (directory_len > 0 && glob_pattern_p (directory_name))
-      {
-        char **directories, *d, *p;
---- 1127,1136 ----
-      }
-  
-+   hasglob = 0;
-    /* If directory_name contains globbing characters, then we
-!      have to expand the previous levels.  Just recurse.
-!      If glob_pattern_p returns != [0,1] we have a pattern that has backslash
-!      quotes but no unquoted glob pattern characters. We dequote it below. */
-!   if (directory_len > 0 && (hasglob = glob_pattern_p (directory_name)) == 1)
-      {
-        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,1369 ----
-  	  return (NULL);
-  	}
-+       /* 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
---- pathexp.c	2019-01-31 20:19:41.000000000 -0500
-***************
-*** 66,74 ****
-    register int c;
-    char *send;
-!   int open;
-  
-    DECLARE_MBSTATE;
-  
-!   open = 0;
-    send = string + strlen (string);
-  
---- 66,74 ----
-    register int c;
-    char *send;
-!   int open, bsquote;
-  
-    DECLARE_MBSTATE;
-  
-!   open = bsquote = 0;
-    send = string + strlen (string);
-  
-***************
-*** 101,105 ****
-  	   globbing. */
-  	case '\\':
-! 	  return (*string != 0);
-  	 	  
-  	case CTLESC:
---- 101,112 ----
-  	   globbing. */
-  	case '\\':
-! 	  if (*string != '\0' && *string != '/')
-! 	    {
-! 	      bsquote = 1;
-! 	      string++;
-! 	      continue;
-! 	    }
-! 	  else if (*string == 0)
-! 	    return (0);
-  	 	  
-  	case CTLESC:
-***************
-*** 118,122 ****
-  #endif
-      }
-!   return (0);
-  }
-  
---- 125,130 ----
-  #endif
-      }
-! 
-!   return (bsquote ? 2 : 0);
-  }
-  
-*** ../bash-5.0-patched/bashline.c	2019-01-16 16:13:21.000000000 -0500
---- bashline.c	2019-02-22 09:29:08.000000000 -0500
-***************
-*** 3753,3757 ****
-  
-  	case '\\':
-! 	  if (*string == 0)
-  	    return (0);	 	  
-  	}
---- 3766,3770 ----
-  
-  	case '\\':
-! 	  if (*string++ == 0)
-  	    return (0);	 	  
-  	}
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 2
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 3
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-004 b/srcpkgs/bash/files/bash50-004
deleted file mode 100644
index fe3c764bd6c..00000000000
--- a/srcpkgs/bash/files/bash50-004
+++ /dev/null
@@ -1,53 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-004
-
-Bug-Reported-by:	Daniel Kahn Gillmor <dkg@fifthhorseman.net>
-Bug-Reference-ID:	<87lg0g8aiw.fsf@fifthhorseman.net>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-04/msg00076.html
-
-Bug-Description:
-
-In bash-5.0, the `wait' builtin without arguments waits for all children of the
-shell. This includes children it `inherited' at shell invocation time. This
-patch modifies the behavior to not wait for these inherited children, some
-of which might be long-lived.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/jobs.c	2018-12-06 11:44:34.000000000 -0500
---- jobs.c	2019-04-12 15:15:10.000000000 -0400
-***************
-*** 2489,2496 ****
-    wait_procsubs ();
-    reap_procsubs ();
-! #if 1
-    /* We don't want to wait indefinitely if we have stopped children. */
--   /* XXX - should add a loop that goes through the list of process
--      substitutions and waits for each proc in turn before this code. */
-    if (any_stopped == 0)
-      {
---- 2490,2495 ----
-    wait_procsubs ();
-    reap_procsubs ();
-! #if 0
-    /* We don't want to wait indefinitely if we have stopped children. */
-    if (any_stopped == 0)
-      {
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 3
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 4
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-005 b/srcpkgs/bash/files/bash50-005
deleted file mode 100644
index 9b1cd75b0b6..00000000000
--- a/srcpkgs/bash/files/bash50-005
+++ /dev/null
@@ -1,110 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-005
-
-Bug-Reported-by:	Brad Spencer <bspencer@blackberry.com>
-Bug-Reference-ID:	<1b993ff2-ce4f-662a-6be4-393457362e47@blackberry.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00250.html
-
-Bug-Description:
-
-In certain cases, bash optimizes out a fork() call too early and prevents
-traps from running.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/command.h	2018-07-20 21:16:31.000000000 -0400
---- command.h	2019-02-20 11:09:36.000000000 -0500
-***************
-*** 187,190 ****
---- 188,192 ----
-  #define CMD_LASTPIPE	    0x2000
-  #define CMD_STDPATH	    0x4000	/* use standard path for command lookup */
-+ #define CMD_TRY_OPTIMIZING  0x8000	/* try to optimize this simple command */
-  
-  /* What a command looks like. */
-*** ../bash-5.0-patched/builtins/evalstring.c	2018-12-26 11:19:21.000000000 -0500
---- builtins/evalstring.c	2019-01-29 14:15:19.000000000 -0500
-***************
-*** 101,104 ****
---- 101,113 ----
-  }
-  
-+ int
-+ can_optimize_connection (command)
-+      COMMAND *command;
-+ {
-+   return (*bash_input.location.string == '\0' &&
-+ 	  (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-+ 	  command->value.Connection->second->type == cm_simple);
-+ }
-+ 
-  void
-  optimize_fork (command)
-***************
-*** 106,110 ****
-  {
-    if (command->type == cm_connection &&
-!       (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR) &&
-        should_suppress_fork (command->value.Connection->second))
-      {
---- 115,120 ----
-  {
-    if (command->type == cm_connection &&
-!       (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-!       (command->value.Connection->second->flags & CMD_TRY_OPTIMIZING) &&
-        should_suppress_fork (command->value.Connection->second))
-      {
-***************
-*** 413,418 ****
-  		  command->value.Simple->flags |= CMD_NO_FORK;
-  		}
-! 	      else if (command->type == cm_connection)
-! 		optimize_fork (command);
-  #endif /* ONESHOT */
-  
---- 423,438 ----
-  		  command->value.Simple->flags |= CMD_NO_FORK;
-  		}
-! 
-! 	      /* Can't optimize forks out here execept for simple commands.
-! 		 This knows that the parser sets up commands as left-side heavy
-! 		 (&& and || are left-associative) and after the single parse,
-! 		 if we are at the end of the command string, the last in a
-! 		 series of connection commands is
-! 		 command->value.Connection->second. */
-! 	      else if (command->type == cm_connection && can_optimize_connection (command))
-! 		{
-! 		  command->value.Connection->second->flags |= CMD_TRY_OPTIMIZING;
-! 		  command->value.Connection->second->value.Simple->flags |= CMD_TRY_OPTIMIZING;
-! 		}
-  #endif /* ONESHOT */
-  
-*** ../bash-5.0-patched/execute_cmd.c	2018-12-05 09:05:14.000000000 -0500
---- execute_cmd.c	2019-01-25 15:59:00.000000000 -0500
-***************
-*** 2768,2771 ****
---- 2768,2773 ----
-  	   (exec_result != EXECUTION_SUCCESS)))
-  	{
-+ 	  optimize_fork (command);
-+ 
-  	  second = command->value.Connection->second;
-  	  if (ignore_return && second)
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 4
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 5
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-006 b/srcpkgs/bash/files/bash50-006
deleted file mode 100644
index 2ad1cd20090..00000000000
--- a/srcpkgs/bash/files/bash50-006
+++ /dev/null
@@ -1,47 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-006
-
-Bug-Reported-by:	Tomas Mozes <hydrapolic@gmail.com>
-Bug-Reference-ID:	<CAG6MAzQumLU2vhnmr1UrYAUQAFW5Yo8hfM_sEibX9RJQWJkRrA@mail.gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-03/msg00037.html
-
-Bug-Description:
-
-Bash-5.0 did not build successfully if SYSLOG_HISTORY was defined without
-also defining SYSLOG_SHOPT.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/builtins/shopt.def	2018-10-05 14:49:02.000000000 -0400
---- builtins/shopt.def	2019-01-23 09:55:22.000000000 -0500
-***************
-*** 123,127 ****
-  #endif
-  
-! #if defined (SYSLOG_HISTORY) && defined (SYSLOG_SHOPT)
-  extern int syslog_history;
-  #endif
---- 123,127 ----
-  #endif
-  
-! #if defined (SYSLOG_HISTORY)
-  extern int syslog_history;
-  #endif
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 5
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 6
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-007 b/srcpkgs/bash/files/bash50-007
deleted file mode 100644
index b9eb4150a2b..00000000000
--- a/srcpkgs/bash/files/bash50-007
+++ /dev/null
@@ -1,62 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-007
-
-Bug-Reported-by:	Grisha Levit <grishalevit@gmail.com>
-Bug-Reference-ID:	<CAMu=BroHapG1AS3xB5SQaCX2XKu=-E2Ob9uW6LNuHvd=YohrDw@mail.gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-02/msg00067.html
-
-Bug-Description:
-
-Running `exec' when job control was disabled, even temporarily, but after it
-had been initialized, could leave the terminal in the wrong process group for
-the executed process.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/jobs.c	2018-12-06 11:44:34.000000000 -0500
---- jobs.c	2019-04-12 15:15:10.000000000 -0400
-***************
-*** 4838,4850 ****
-  {
-    if (job_control)
-!     {
-!       terminate_stopped_jobs ();
-  
-!       if (original_pgrp >= 0)
-! 	give_terminal_to (original_pgrp, 1);
-!     }
-  
-!   if (original_pgrp >= 0)
-!     setpgid (0, original_pgrp);
-  }
-  
---- 4838,4848 ----
-  {
-    if (job_control)
-!     terminate_stopped_jobs ();
-  
-!   if (original_pgrp >= 0 && terminal_pgrp != original_pgrp)
-!     give_terminal_to (original_pgrp, 1);
-  
-!   if (original_pgrp >= 0 && setpgid (0, original_pgrp) == 0)
-!     shell_pgrp = original_pgrp;
-  }
-  
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 6
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 7
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-008 b/srcpkgs/bash/files/bash50-008
deleted file mode 100644
index b09d6b33ac7..00000000000
--- a/srcpkgs/bash/files/bash50-008
+++ /dev/null
@@ -1,68 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-008
-
-Bug-Reported-by:	Michael Albinus <michael.albinus@gmx.de>
-Bug-Reference-ID:	<87bm36k3kz.fsf@gmx.de>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-02/msg00111.html
-
-Bug-Description:
-
-When HISTSIZE is set to 0, history expansion can leave the history length
-set to an incorrect value, leading to subsequent attempts to access invalid
-memory.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/bashhist.c	2018-07-05 22:41:14.000000000 -0400
---- bashhist.c	2019-02-20 16:20:04.000000000 -0500
-***************
-*** 561,573 ****
-    if (!history_expansion_inhibited && history_expansion && history_expansion_p (line))
-      {
-        /* If we are expanding the second or later line of a multi-line
-  	 command, decrease history_length so references to history expansions
-  	 in these lines refer to the previous history entry and not the
-  	 current command. */
-        if (history_length > 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-          history_length--;
-        expanded = history_expand (line, &history_value);
-        if (history_length >= 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-!         history_length++;
-  
-        if (expanded)
---- 561,576 ----
-    if (!history_expansion_inhibited && history_expansion && history_expansion_p (line))
-      {
-+       int old_len;
-+ 
-        /* If we are expanding the second or later line of a multi-line
-  	 command, decrease history_length so references to history expansions
-  	 in these lines refer to the previous history entry and not the
-  	 current command. */
-+       old_len = history_length;
-        if (history_length > 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-          history_length--;
-        expanded = history_expand (line, &history_value);
-        if (history_length >= 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-!         history_length = old_len;
-  
-        if (expanded)
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 7
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 8
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-009 b/srcpkgs/bash/files/bash50-009
deleted file mode 100644
index aef4ce7b5ad..00000000000
--- a/srcpkgs/bash/files/bash50-009
+++ /dev/null
@@ -1,42 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-009
-
-Bug-Reported-by:	chet.ramey@case.edu
-Bug-Reference-ID:
-Bug-Reference-URL:
-
-Bug-Description:
-
-The history file reading code doesn't close the file descriptor open to
-the history file when it encounters a zero-length file.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/readline/histfile.c	2018-06-11 09:14:52.000000000 -0400
---- lib/readline/histfile.c	2019-05-16 15:55:57.000000000 -0400
-***************
-*** 306,309 ****
---- 312,316 ----
-      {
-        free (input);
-+       close (file);
-        return 0;	/* don't waste time if we don't have to */
-      }
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 8
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 9
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-010 b/srcpkgs/bash/files/bash50-010
deleted file mode 100644
index bac7aa92515..00000000000
--- a/srcpkgs/bash/files/bash50-010
+++ /dev/null
@@ -1,172 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-010
-
-Bug-Reported-by:	Thorsten Glaser <tg@mirbsd.de>
-Bug-Reference-ID:	<156622962831.19438.16374961114836556294.reportbug@tglase.lan.tarent.de>
-Bug-Reference-URL:	https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=935115
-
-Bug-Description:
-
-Bash-5.0 changed the way assignment statements preceding special builtins
-and shell functions were handled in posix mode. They automatically created
-or modified global variables instead of modifying existing local variables
-as in bash-4.4.
-
-The bash-4.4 posix-mode semantics were buggy, and resulted in creating
-local variables where they were not intended and modifying global variables
-and local variables simultaneously.
-
-The bash-5.0 changes were intended to fix this issue, but did not preserve
-enough backwards compatibility. The posix standard also changed what it
-required in these cases, so bash-5.0 is not bound by the strict conformance
-requirements that existed in previous issues of the standard.
-
-This patch modifies the bash-5.0 posix mode behavior in an effort to restore
-some backwards compatibility and rationalize the behavior in the presence of
-local variables. It
-
-1. Changes the assignment semantics to be more similar to standalone assignment
-   statements: assignments preceding a function call or special builtin while
-   executing in a shell function will modify the value of a local variable
-   with the same name for the duration of the function's execution;
-
-2. Changes assignments preceding shell function calls or special builtins
-   from within a shell function to no longer create or modify global variables
-   in the presence of a local variable with the same name;
-
-3. Assignment statements preceding a shell function call or special builtin
-   at the global scope continue to modify the (global) calling environment,
-   but are unaffected by assignments preceding function calls or special
-   builtins within a function, as described in item 2. This is also similar
-   to the behavior of a standalone assignment statement.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/variables.c	2018-12-18 11:07:21.000000000 -0500
---- variables.c	2019-08-22 10:53:44.000000000 -0400
-***************
-*** 4461,4467 ****
-  
-  /* Take a variable from an assignment statement preceding a posix special
-!    builtin (including `return') and create a global variable from it. This
-!    is called from merge_temporary_env, which is only called when in posix
-!    mode. */
-  static void
-  push_posix_temp_var (data)
---- 4461,4467 ----
-  
-  /* Take a variable from an assignment statement preceding a posix special
-!    builtin (including `return') and create a variable from it as if a
-!    standalone assignment statement had been performed. This is called from
-!    merge_temporary_env, which is only called when in posix mode. */
-  static void
-  push_posix_temp_var (data)
-***************
-*** 4473,4486 ****
-    var = (SHELL_VAR *)data;
-  
-!   binding_table = global_variables->table;
-!   if (binding_table == 0)
-!     binding_table = global_variables->table = hash_create (VARIABLES_HASH_BUCKETS);
-! 
-!   v = bind_variable_internal (var->name, value_cell (var), binding_table, 0, ASS_FORCE|ASS_NOLONGJMP);
-  
-    /* global variables are no longer temporary and don't need propagating. */
-!   var->attributes &= ~(att_tempvar|att_propagate);
-    if (v)
-!     v->attributes |= var->attributes;
-  
-    if (find_special_var (var->name) >= 0)
---- 4473,4497 ----
-    var = (SHELL_VAR *)data;
-  
-!   /* Just like do_assignment_internal(). This makes assignments preceding
-!      special builtins act like standalone assignment statements when in
-!      posix mode, satisfying the posix requirement that this affect the
-!      "current execution environment." */
-!   v = bind_variable (var->name, value_cell (var), ASS_FORCE|ASS_NOLONGJMP);
-! 
-!   /* If this modifies an existing local variable, v->context will be non-zero.
-!      If it comes back with v->context == 0, we bound at the global context.
-!      Set binding_table appropriately. It doesn't matter whether it's correct
-!      if the variable is local, only that it's not global_variables->table */
-!   binding_table = v->context ? shell_variables->table : global_variables->table;
-  
-    /* global variables are no longer temporary and don't need propagating. */
-!   if (binding_table == global_variables->table)
-!     var->attributes &= ~(att_tempvar|att_propagate);
-! 
-    if (v)
-!     {
-!       v->attributes |= var->attributes;
-!       v->attributes &= ~att_tempvar;	/* not a temp var now */
-!     }
-  
-    if (find_special_var (var->name) >= 0)
-***************
-*** 4576,4587 ****
-  {
-    int i;
-  
-    tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1);
-    tempvar_list[tvlist_ind = 0] = 0;
-!     
-!   hash_flush (temporary_env, pushf);
-!   hash_dispose (temporary_env);
-    temporary_env = (HASH_TABLE *)NULL;
-  
-    tempvar_list[tvlist_ind] = 0;
-  
---- 4587,4601 ----
-  {
-    int i;
-+   HASH_TABLE *disposer;
-  
-    tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1);
-    tempvar_list[tvlist_ind = 0] = 0;
-! 
-!   disposer = temporary_env;
-    temporary_env = (HASH_TABLE *)NULL;
-  
-+   hash_flush (disposer, pushf);
-+   hash_dispose (disposer);
-+ 
-    tempvar_list[tvlist_ind] = 0;
-  
-*** ../bash-5.0-patched/tests/varenv.right	2018-12-17 15:39:48.000000000 -0500
---- tests/varenv.right	2019-08-22 16:05:25.000000000 -0400
-***************
-*** 147,153 ****
-  outside: declare -- var="one"
-  inside: declare -x var="value"
-! outside: declare -x var="value"
-! inside: declare -- var="local"
-! outside: declare -x var="global"
-  foo=<unset> environment foo=
-  foo=foo environment foo=foo
---- 147,153 ----
-  outside: declare -- var="one"
-  inside: declare -x var="value"
-! outside: declare -- var="outside"
-! inside: declare -x var="global"
-! outside: declare -- var="outside"
-  foo=<unset> environment foo=
-  foo=foo environment foo=foo
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 9
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 10
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-011 b/srcpkgs/bash/files/bash50-011
deleted file mode 100644
index a9ae690e004..00000000000
--- a/srcpkgs/bash/files/bash50-011
+++ /dev/null
@@ -1,59 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-011
-
-Bug-Reported-by:	Matt Whitlock
-Bug-Reference-ID:	
-Bug-Reference-URL:	https://savannah.gnu.org/support/?109671
-
-Bug-Description:
-
-The conditional command did not perform appropriate quoted null character
-removal on its arguments, causing syntax errors and attempts to stat
-invalid pathnames.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/subst.c	2018-12-22 17:43:37.000000000 -0500
---- subst.c	2019-04-14 13:25:41.000000000 -0400
-***************
-*** 3626,3630 ****
-     SPECIAL is 2, this is an rhs argument for the =~ operator, and should
-     be quoted appropriately for regcomp/regexec.  The caller is responsible
-!    for removing the backslashes if the unquoted word is needed later. */   
-  char *
-  cond_expand_word (w, special)
---- 3642,3648 ----
-     SPECIAL is 2, this is an rhs argument for the =~ operator, and should
-     be quoted appropriately for regcomp/regexec.  The caller is responsible
-!    for removing the backslashes if the unquoted word is needed later. In
-!    any case, since we don't perform word splitting, we need to do quoted
-!    null character removal. */
-  char *
-  cond_expand_word (w, special)
-***************
-*** 3647,3650 ****
---- 3665,3670 ----
-        if (special == 0)			/* LHS */
-  	{
-+ 	  if (l->word)
-+ 	    word_list_remove_quoted_nulls (l);
-  	  dequote_list (l);
-  	  r = string_list (l);
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 10
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 11
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-012 b/srcpkgs/bash/files/bash50-012
deleted file mode 100644
index 7470e766550..00000000000
--- a/srcpkgs/bash/files/bash50-012
+++ /dev/null
@@ -1,64 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-012
-
-Bug-Reported-by:	lessbug@qq.com
-Bug-Reference-ID:	<tencent_6AA531D9A5CC4121D86BD5CDA2E0DA98C605@qq.com>
-Bug-Reference-URL:
-
-Bug-Description:
-
-When using previous-history to go back beyond the beginning of the history list,
-it's possible to move to an incorrect partial line.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/readline/misc.c	2017-07-07 17:30:12.000000000 -0400
---- lib/readline/misc.c	2019-05-16 11:43:46.000000000 -0400
-***************
-*** 577,580 ****
---- 590,594 ----
-  {
-    HIST_ENTRY *old_temp, *temp;
-+   int had_saved_line;
-  
-    if (count < 0)
-***************
-*** 589,592 ****
---- 603,607 ----
-  
-    /* If we don't have a line saved, then save this one. */
-+   had_saved_line = _rl_saved_line_for_history != 0;
-    rl_maybe_save_line ();
-  
-***************
-*** 612,616 ****
-    if (temp == 0)
-      {
-!       rl_maybe_unsave_line ();
-        rl_ding ();
-      }
---- 627,632 ----
-    if (temp == 0)
-      {
-!       if (had_saved_line == 0)
-!         _rl_free_saved_history_line ();
-        rl_ding ();
-      }
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 11
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 12
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-013 b/srcpkgs/bash/files/bash50-013
deleted file mode 100644
index e44fdb5053b..00000000000
--- a/srcpkgs/bash/files/bash50-013
+++ /dev/null
@@ -1,73 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-013
-
-Bug-Reported-by:	HIROSE Masaaki <hirose31@gmail.com>
-Bug-Reference-ID:	<CAGSOfA-RqiTe=+GsXsDKyZrrMWH4bDbXgMVVegMa6OjqC5xbnQ@mail.gmail.com>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00038.html
-
-Bug-Description:
-
-Reading history entries with timestamps can result in history entries joined
-by linefeeds.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/readline/histfile.c	2018-06-11 09:14:52.000000000 -0400
---- lib/readline/histfile.c	2019-05-16 15:55:57.000000000 -0400
-***************
-*** 370,376 ****
-  
-    has_timestamps = HIST_TIMESTAMP_START (buffer);
-!   history_multiline_entries += has_timestamps && history_write_timestamps;  
-  
-    /* Skip lines until we are at FROM. */
-    for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
-      if (*line_end == '\n')
---- 370,378 ----
-  
-    has_timestamps = HIST_TIMESTAMP_START (buffer);
-!   history_multiline_entries += has_timestamps && history_write_timestamps;
-  
-    /* Skip lines until we are at FROM. */
-+   if (has_timestamps)
-+     last_ts = buffer;
-    for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
-      if (*line_end == '\n')
-***************
-*** 381,385 ****
---- 383,398 ----
-  	if (HIST_TIMESTAMP_START(p) == 0)
-  	  current_line++;
-+ 	else
-+ 	  last_ts = p;
-  	line_start = p;
-+ 	/* If we are at the last line (current_line == from) but we have
-+ 	   timestamps (has_timestamps), then line_start points to the
-+ 	   text of the last command, and we need to skip to its end. */
-+ 	if (current_line >= from && has_timestamps)
-+ 	  {
-+ 	    for (line_end = p; line_end < bufend && *line_end != '\n'; line_end++)
-+ 	      ;
-+ 	    line_start = (*line_end == '\n') ? line_end + 1 : line_end;
-+ 	  }
-        }
-  
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 12
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 13
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-014 b/srcpkgs/bash/files/bash50-014
deleted file mode 100644
index 6cb49aae725..00000000000
--- a/srcpkgs/bash/files/bash50-014
+++ /dev/null
@@ -1,52 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-014
-
-Bug-Reported-by:	Johannes Hielscher <jhielscher@posteo.de>
-Bug-Reference-ID:	<20190208205048.77c25a83@hordevm>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-02/msg00032.html
-
-Bug-Description:
-
-If the current line is empty, using the emacs C-xC-e binding to enter the
-editor will edit the previous command instead of the current (empty) one.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/bashline.c	2019-01-16 16:13:21.000000000 -0500
---- bashline.c	2019-02-11 11:18:57.000000000 -0500
-***************
-*** 962,970 ****
-  	 finished with the command, so we should not ignore the last command */
-        using_history ();
-!       if (rl_line_buffer[0])
-! 	{
-! 	  current_command_line_count++;	/* for rl_newline above */
-! 	  bash_add_history (rl_line_buffer);
-! 	}
-        current_command_line_count = 0;	/* for dummy history entry */
-        bash_add_history ("");
---- 965,970 ----
-  	 finished with the command, so we should not ignore the last command */
-        using_history ();
-!       current_command_line_count++;	/* for rl_newline above */
-!       bash_add_history (rl_line_buffer);
-        current_command_line_count = 0;	/* for dummy history entry */
-        bash_add_history ("");
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 13
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 14
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-015 b/srcpkgs/bash/files/bash50-015
deleted file mode 100644
index ff6e5e69d6e..00000000000
--- a/srcpkgs/bash/files/bash50-015
+++ /dev/null
@@ -1,78 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-015
-
-Bug-Reported-by:	Yu Kou <ckyoog@gmail.com>
-Bug-Reference-ID:	<CAAqoF9Ko3nAShJXGzucafs-ByUagzZ4nbQonwEkwC7s9UqfWKw@mail.gmail.com>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00032.html
-
-Bug-Description:
-
-If alias expansion is enabled when processing the command argument to the
-`-c' option, an alias is defined in that command, and the command ends with
-the invocation of that alias, the shell's command parser can prematurely
-terminate before the entire command is executed.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-20190426/builtins/evalstring.c	2019-01-29 14:15:19.000000000 -0500
---- builtins/evalstring.c	2019-05-15 14:19:36.000000000 -0400
-***************
-*** 92,95 ****
---- 92,96 ----
-  	  running_trap == 0 &&
-  	  *bash_input.location.string == '\0' &&
-+ 	  parser_expanding_alias () == 0 &&
-  	  command->type == cm_simple &&
-  	  signal_is_trapped (EXIT_TRAP) == 0 &&
-***************
-*** 106,109 ****
---- 107,111 ----
-  {
-    return (*bash_input.location.string == '\0' &&
-+ 	  parser_expanding_alias () == 0 &&
-  	  (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-  	  command->value.Connection->second->type == cm_simple);
-***************
-*** 291,295 ****
-    with_input_from_string (string, from_file);
-    clear_shell_input_line ();
-!   while (*(bash_input.location.string))
-      {
-        command = (COMMAND *)NULL;
---- 293,297 ----
-    with_input_from_string (string, from_file);
-    clear_shell_input_line ();
-!   while (*(bash_input.location.string) || parser_expanding_alias ())
-      {
-        command = (COMMAND *)NULL;
-***************
-*** 546,550 ****
-  
-    with_input_from_string (string, from_file);
-!   while (*(bash_input.location.string))
-      {
-        command = (COMMAND *)NULL;
---- 548,552 ----
-  
-    with_input_from_string (string, from_file);
-!   while (*(bash_input.location.string))		/* XXX - parser_expanding_alias () ? */
-      {
-        command = (COMMAND *)NULL;
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 14
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 15
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-016 b/srcpkgs/bash/files/bash50-016
deleted file mode 100644
index 87f232d7ad4..00000000000
--- a/srcpkgs/bash/files/bash50-016
+++ /dev/null
@@ -1,58 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-016
-
-Bug-Reported-by:	sunnycemetery@gmail.com
-Bug-Reference-ID:	<20190316041534.GB22884@midnight>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-03/msg00070.html
-
-Bug-Description:
-
-Bash waits too long to reap /dev/fd process substitutions used as redirections
-with loops and group commands, which can lead to file descriptor exhaustion.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/execute_cmd.c	2019-04-19 15:46:36.000000000 -0400
---- execute_cmd.c	2019-07-01 16:45:49.000000000 -0400
-***************
-*** 1104,1107 ****
---- 1085,1104 ----
-        discard_unwind_frame ("internal_fifos");
-      }
-+ # if defined (HAVE_DEV_FD)
-+   /* Reap process substitutions at the end of loops */
-+   switch (command->type)
-+     {
-+     case cm_while:
-+     case cm_until:
-+     case cm_for:
-+     case cm_group:
-+ #    if defined (ARITH_FOR_COMMAND)
-+     case cm_arith_for:
-+ #    endif
-+       reap_procsubs ();
-+     default:
-+       break;
-+     }
-+ #  endif /* HAVE_DEV_FD */
-  #endif
-  
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 15
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 16
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-017 b/srcpkgs/bash/files/bash50-017
deleted file mode 100644
index adfcb6a8606..00000000000
--- a/srcpkgs/bash/files/bash50-017
+++ /dev/null
@@ -1,289 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-017
-
-Bug-Reported-by:	Valentin Lab <valentin.lab@kalysto.org>
-Bug-Reference-ID:	<ab981b9c-60a5-46d0-b7e6-a6d88b80df50@kalysto.org>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2020-03/msg00062.html
-
-Bug-Description:
-
-There were cases where patch 16 reaped process substitution file descriptors
-(or FIFOs) and processes to early. This is a better fix for the problem that
-bash50-016 attempted to solve.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/subst.c	2019-08-29 11:16:49.000000000 -0400
---- subst.c	2020-04-02 16:24:19.000000000 -0400
-***************
-*** 5337,5341 ****
-  }
-  
-! char *
-  copy_fifo_list (sizep)
-       int *sizep;
---- 5337,5341 ----
-  }
-  
-! void *
-  copy_fifo_list (sizep)
-       int *sizep;
-***************
-*** 5343,5347 ****
-    if (sizep)
-      *sizep = 0;
-!   return (char *)NULL;
-  }
-  
---- 5343,5347 ----
-    if (sizep)
-      *sizep = 0;
-!   return (void *)NULL;
-  }
-  
-***************
-*** 5409,5414 ****
-  	if (fifo_list[i].file)
-  	  {
-! 	    fifo_list[j].file = fifo_list[i].file;
-! 	    fifo_list[j].proc = fifo_list[i].proc;
-  	    j++;
-  	  }
---- 5409,5419 ----
-  	if (fifo_list[i].file)
-  	  {
-! 	    if (i != j)
-! 	      {
-! 		fifo_list[j].file = fifo_list[i].file;
-! 		fifo_list[j].proc = fifo_list[i].proc;
-! 		fifo_list[i].file = (char *)NULL;
-! 		fifo_list[i].proc = 0;
-! 	      }
-  	    j++;
-  	  }
-***************
-*** 5426,5433 ****
-  void
-  close_new_fifos (list, lsize)
-!      char *list;
-       int lsize;
-  {
-    int i;
-  
-    if (list == 0)
---- 5431,5439 ----
-  void
-  close_new_fifos (list, lsize)
-!      void *list;
-       int lsize;
-  {
-    int i;
-+   char *plist;
-  
-    if (list == 0)
-***************
-*** 5437,5442 ****
-      }
-  
-!   for (i = 0; i < lsize; i++)
-!     if (list[i] == 0 && i < fifo_list_size && fifo_list[i].proc != -1)
-        unlink_fifo (i);
-  
---- 5443,5448 ----
-      }
-  
-!   for (plist = (char *)list, i = 0; i < lsize; i++)
-!     if (plist[i] == 0 && i < fifo_list_size && fifo_list[i].proc != -1)
-        unlink_fifo (i);
-  
-***************
-*** 5560,5568 ****
-  }
-  
-! char *
-  copy_fifo_list (sizep)
-       int *sizep;
-  {
-!   char *ret;
-  
-    if (nfds == 0 || totfds == 0)
---- 5566,5574 ----
-  }
-  
-! void *
-  copy_fifo_list (sizep)
-       int *sizep;
-  {
-!   void *ret;
-  
-    if (nfds == 0 || totfds == 0)
-***************
-*** 5570,5579 ****
-        if (sizep)
-  	*sizep = 0;
-!       return (char *)NULL;
-      }
-  
-    if (sizep)
-      *sizep = totfds;
-!   ret = (char *)xmalloc (totfds * sizeof (pid_t));
-    return (memcpy (ret, dev_fd_list, totfds * sizeof (pid_t)));
-  }
---- 5576,5585 ----
-        if (sizep)
-  	*sizep = 0;
-!       return (void *)NULL;
-      }
-  
-    if (sizep)
-      *sizep = totfds;
-!   ret = xmalloc (totfds * sizeof (pid_t));
-    return (memcpy (ret, dev_fd_list, totfds * sizeof (pid_t)));
-  }
-***************
-*** 5648,5655 ****
-  void
-  close_new_fifos (list, lsize)
-!      char *list;
-       int lsize;
-  {
-    int i;
-  
-    if (list == 0)
---- 5654,5662 ----
-  void
-  close_new_fifos (list, lsize)
-!      void *list;
-       int lsize;
-  {
-    int i;
-+   pid_t *plist;
-  
-    if (list == 0)
-***************
-*** 5659,5664 ****
-      }
-  
-!   for (i = 0; i < lsize; i++)
-!     if (list[i] == 0 && i < totfds && dev_fd_list[i])
-        unlink_fifo (i);
-  
---- 5666,5671 ----
-      }
-  
-!   for (plist = (pid_t *)list, i = 0; i < lsize; i++)
-!     if (plist[i] == 0 && i < totfds && dev_fd_list[i])
-        unlink_fifo (i);
-  
-*** ../bash-5.0-patched/subst.h	2018-10-21 18:46:09.000000000 -0400
---- subst.h	2020-04-02 16:29:28.000000000 -0400
-***************
-*** 274,280 ****
-  extern void unlink_fifo __P((int));
-  
-! extern char *copy_fifo_list __P((int *));
-! extern void unlink_new_fifos __P((char *, int));
-! extern void close_new_fifos __P((char *, int));
-  
-  extern void clear_fifo_list __P((void));
---- 274,279 ----
-  extern void unlink_fifo __P((int));
-  
-! extern void *copy_fifo_list __P((int *));
-! extern void close_new_fifos __P((void *, int));
-  
-  extern void clear_fifo_list __P((void));
-*** ../bash-5.0-patched/execute_cmd.c	2020-02-06 20:16:48.000000000 -0500
---- execute_cmd.c	2020-04-02 17:00:10.000000000 -0400
-***************
-*** 565,569 ****
-  #if defined (PROCESS_SUBSTITUTION)
-    volatile int ofifo, nfifo, osize, saved_fifo;
-!   volatile char *ofifo_list;
-  #endif
-  
---- 565,569 ----
-  #if defined (PROCESS_SUBSTITUTION)
-    volatile int ofifo, nfifo, osize, saved_fifo;
-!   volatile void *ofifo_list;
-  #endif
-  
-***************
-*** 751,760 ****
-  #  endif
-  
-!   if (variable_context != 0)	/* XXX - also if sourcelevel != 0? */
-      {
-        ofifo = num_fifos ();
-        ofifo_list = copy_fifo_list ((int *)&osize);
-        begin_unwind_frame ("internal_fifos");
-!       add_unwind_protect (xfree, ofifo_list);
-        saved_fifo = 1;
-      }
---- 751,762 ----
-  #  endif
-  
-!   /* XXX - also if sourcelevel != 0? */
-!   if (variable_context != 0)
-      {
-        ofifo = num_fifos ();
-        ofifo_list = copy_fifo_list ((int *)&osize);
-        begin_unwind_frame ("internal_fifos");
-!       if (ofifo_list)
-! 	add_unwind_protect (xfree, ofifo_list);
-        saved_fifo = 1;
-      }
-***************
-*** 1100,1123 ****
-        nfifo = num_fifos ();
-        if (nfifo > ofifo)
-! 	close_new_fifos ((char *)ofifo_list, osize);
-        free ((void *)ofifo_list);
-        discard_unwind_frame ("internal_fifos");
-      }
-- # if defined (HAVE_DEV_FD)
--   /* Reap process substitutions at the end of loops */
--   switch (command->type)
--     {
--     case cm_while:
--     case cm_until:
--     case cm_for:
--     case cm_group:
-- #    if defined (ARITH_FOR_COMMAND)
--     case cm_arith_for:
-- #    endif
--       reap_procsubs ();
--     default:
--       break;
--     }
-- #  endif /* HAVE_DEV_FD */
-  #endif
-  
---- 1102,1109 ----
-        nfifo = num_fifos ();
-        if (nfifo > ofifo)
-! 	close_new_fifos ((void *)ofifo_list, osize);
-        free ((void *)ofifo_list);
-        discard_unwind_frame ("internal_fifos");
-      }
-  #endif
-  
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 16
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 17
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/update-bash-patches.sh b/srcpkgs/bash/files/update-bash-patches.sh
deleted file mode 100755
index 63c5e20c233..00000000000
--- a/srcpkgs/bash/files/update-bash-patches.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-source ../template
-
-for i in $(seq -w 001 ${_bash_patchlevel}); do
-	curl https://ftp.gnu.org/gnu/bash/bash-$_bash_distver-patches/bash${_bash_distver//./}-$i \
-		> bash${_bash_distver//./}-${_bash_patchlevel}
-done
diff --git a/srcpkgs/bash/template b/srcpkgs/bash/template
index 91e2e4c1ca3..ac0c9d4409d 100644
--- a/srcpkgs/bash/template
+++ b/srcpkgs/bash/template
@@ -1,7 +1,9 @@
 # Template file for 'bash'
 pkgname=bash
-_bash_distver=5.0
-_bash_patchlevel=017
+_major=5
+_minor=0
+_bash_distver="${_major}.${_minor}"
+_bash_patchlevel=018
 version="${_bash_distver}.${_bash_patchlevel}"
 revision=1
 wrksrc="${pkgname}-${_bash_distver}"
@@ -15,9 +17,36 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.gnu.org/software/bash/bash.html"
 distfiles="${GNU_SITE}/${pkgname}/${pkgname}-${_bash_distver}.tar.gz"
-make_dirs="/etc/bash/bashrc.d 755 root root"
-checksum=b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
 
+_url="${GNU_SITE}/bash/bash-${_bash_distver}-patches"
+for _p in $(seq -w 001 ${_bash_patchlevel}); do
+	distfiles+=" ${_url}/bash${_major}${_minor}-${_p}"
+	skip_extraction+=" bash${_major}${_minor}-${_p}"
+done
+unset _url
+unset _p
+
+checksum="b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
+ f2fe9e1f0faddf14ab9bfa88d450a75e5d028fedafad23b88716bd657c737289
+ 87e87d3542e598799adb3e7e01c8165bc743e136a400ed0de015845f7ff68707
+ 4eebcdc37b13793a232c5f2f498a5fcbf7da0ecb3da2059391c096db620ec85b
+ 14447ad832add8ecfafdce5384badd933697b559c4688d6b9e3d36ff36c62f08
+ 5bf54dd9bd2c211d2bfb34a49e2c741f2ed5e338767e9ce9f4d41254bf9f8276
+ d68529a6ff201b6ff5915318ab12fc16b8a0ebb77fda3308303fcc1e13398420
+ 17b41e7ee3673d8887dd25992417a398677533ab8827938aa41fad70df19af9b
+ eec64588622a82a5029b2776e218a75a3640bef4953f09d6ee1f4199670ad7e3
+ ed3ca21767303fc3de93934aa524c2e920787c506b601cc40a4897d4b094d903
+ d6fbc325f0b5dc54ddbe8ee43020bced8bd589ddffea59d128db14b2e52a8a11
+ 2c4de332b91eaf797abbbd6c79709690b5cbd48b12e8dfe748096dbd7bf474ea
+ 2943ee19688018296f2a04dbfe30b7138b889700efa8ff1c0524af271e0ee233
+ f5d7178d8da30799e01b83a0802018d913d6aa972dd2ddad3b927f3f3eb7099a
+ 5d6eee6514ee6e22a87bba8d22be0a8621a0ae119246f1c5a9a35db1f72af589
+ a517df2dda93b26d5cbf00effefea93e3a4ccd6652f152f4109170544ebfa05e
+ ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d
+ 4cf3b9fafb8a66d411dd5fc9120032533a4012df1dc6ee024c7833373e2ddc31
+ 7c314e375a105a6642e8ed44f3808b9def89d15f7492fe2029a21ba9c0de81d3"
+
+make_dirs="/etc/bash/bashrc.d 755 root root"
 conflicts="chroot-bash>=0"
 register_shell="/usr/bin/bash /bin/bash"
 
@@ -27,13 +56,11 @@ alternatives="
 
 CFLAGS="-DSYS_BASHRC='\"/etc/bash/bashrc\"'"
 
-pre_configure() {
-	local ver=$(echo ${_bash_distver}|sed "s|\.||g")
-
+post_patch() {
 	cd ${wrksrc}
 	for p in $(seq -w 001 ${_bash_patchlevel}); do
-		patch -sNp0 -i ${FILESDIR}/bash${ver}-${p}
-		msg_normal " Applying patch bash${ver}-$p.\n"
+		msg_normal " Applying patch bash${_major}${_minor}-$p.\n"
+		patch -sNp0 -i ${XBPS_SRCDISTDIR}/bash-$version/bash${_major}${_minor}-${p}
 	done
 }
 

From 8be5eda6b237393576ee20e892588bc105af6480 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 12:13:07 +0700
Subject: [PATCH 4/4] libreadline8: verify patch's checksum

---
 srcpkgs/libreadline8/template | 24 ++++++++++--------------
 1 file changed, 10 insertions(+), 14 deletions(-)

diff --git a/srcpkgs/libreadline8/template b/srcpkgs/libreadline8/template
index 6200195be9e..57c4a3ec348 100644
--- a/srcpkgs/libreadline8/template
+++ b/srcpkgs/libreadline8/template
@@ -14,22 +14,18 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://tiswww.cwru.edu/php/chet/readline/rltop.html"
 distfiles="${GNU_SITE}/readline/readline-${_dist_ver}.tar.gz"
-checksum=e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461
 
-pre_configure() {
-	local url="${GNU_SITE}/readline/readline-${_dist_ver}-patches"
+_url="${GNU_SITE}/readline/readline-${_dist_ver}-patches"
+for _p in $(seq -w 001 ${_patch_ver}); do
+	distfiles+=" ${_url}/readline${_dist_ver/./}-${_p}"
+done
+unset _url
+unset _p
 
-	cd ${XBPS_SRCDISTDIR}/${pkgname}-${version}
-	if [ "${_patch_ver}" -gt 000 ]; then
-		for p in $(seq -w 001 ${_patch_ver}); do
-			if [ -f readline${version/./}-${p} ]; then
-				continue
-			fi
-			local patch_url="${url}/readline${_dist_ver/./}-${p}"
-			msg_normal " Fetching ${patch_url} ...\n"
-			$XBPS_FETCH_CMD "${patch_url}"
-		done
-	fi
+checksum="e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461
+ d8e5e98933cf5756f862243c0601cb69d3667bb33f2c7b751fe4e40b2c3fd069"
+
+post_patch() {
 	cd ${wrksrc}
 	for p in $(seq -w 001 ${_patch_ver}); do
 		patch -s -Np0 -i ${XBPS_SRCDISTDIR}/${pkgname}-${version}/readline${_dist_ver/./}-${p}

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] bash: stop vendoring patch
  2020-07-25  8:35 [PR PATCH] bash: stop vendoring patch sgn
  2020-07-25  8:40 ` [PR PATCH] [Updated] " sgn
@ 2020-07-25 11:06 ` sgn
  2020-07-26  5:06 ` sgn
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: sgn @ 2020-07-25 11:06 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 416 bytes --]

There is an updated pull request by sgn against master on the void-packages repository

https://github.com/sgn/void-packages bash-no-vendor
https://github.com/void-linux/void-packages/pull/23826

bash: stop vendoring patch
- carry them along won't get us anywhere
- verify checksum for libreadline8

conflict with #23815 

A patch file from https://github.com/void-linux/void-packages/pull/23826.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-bash-no-vendor-23826.patch --]
[-- Type: text/x-diff, Size: 68025 bytes --]

From d2a4155fff1f2663c74845aae5b24c5011f84557 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 10:17:01 +0700
Subject: [PATCH 1/4] gitattributes: don't show whitespace error on patches

---
 .gitattributes | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.gitattributes b/.gitattributes
index 7f24a8f81d0..8ddae6fce45 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,2 +1,4 @@
 template linguist-language=bash
 common/shlibs merge=union
+*.patch whitespace=-space-before-tab,-trailing-space
+*.diff whitespace=-space-before-tab,-trailing-space

From b0fc680cf0dc4c3f4b0e77b6bfb6bf2df65c3ad4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 10:28:57 +0700
Subject: [PATCH 2/4] chroot-bash: update to 5.0.018.

---
 srcpkgs/chroot-bash/template | 44 +++++++++++++++++++++++++++++-------
 1 file changed, 36 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/chroot-bash/template b/srcpkgs/chroot-bash/template
index 97b8a9be81f..bd2eaabdf52 100644
--- a/srcpkgs/chroot-bash/template
+++ b/srcpkgs/chroot-bash/template
@@ -1,7 +1,9 @@
 # Template file for 'chroot-bash'
 pkgname=chroot-bash
-_bash_distver=5.0
-_bash_patchlevel=016
+_major=5
+_minor=0
+_bash_distver="${_major}.${_minor}"
+_bash_patchlevel=018
 version="${_bash_distver}.${_bash_patchlevel}"
 revision=1
 wrksrc="bash-${_bash_distver}"
@@ -15,18 +17,44 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="http://www.gnu.org/software/bash/bash.html"
 distfiles="${GNU_SITE}/bash/bash-${_bash_distver}.tar.gz"
-checksum=b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
+
+_url="${GNU_SITE}/bash/bash-${_bash_distver}-patches"
+for _p in $(seq -w 001 ${_bash_patchlevel}); do
+	distfiles+=" ${_url}/bash${_major}${_minor}-${_p}"
+	skip_extraction+=" bash${_major}${_minor}-${_p}"
+done
+unset _url
+unset _p
+
+checksum="b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
+ f2fe9e1f0faddf14ab9bfa88d450a75e5d028fedafad23b88716bd657c737289
+ 87e87d3542e598799adb3e7e01c8165bc743e136a400ed0de015845f7ff68707
+ 4eebcdc37b13793a232c5f2f498a5fcbf7da0ecb3da2059391c096db620ec85b
+ 14447ad832add8ecfafdce5384badd933697b559c4688d6b9e3d36ff36c62f08
+ 5bf54dd9bd2c211d2bfb34a49e2c741f2ed5e338767e9ce9f4d41254bf9f8276
+ d68529a6ff201b6ff5915318ab12fc16b8a0ebb77fda3308303fcc1e13398420
+ 17b41e7ee3673d8887dd25992417a398677533ab8827938aa41fad70df19af9b
+ eec64588622a82a5029b2776e218a75a3640bef4953f09d6ee1f4199670ad7e3
+ ed3ca21767303fc3de93934aa524c2e920787c506b601cc40a4897d4b094d903
+ d6fbc325f0b5dc54ddbe8ee43020bced8bd589ddffea59d128db14b2e52a8a11
+ 2c4de332b91eaf797abbbd6c79709690b5cbd48b12e8dfe748096dbd7bf474ea
+ 2943ee19688018296f2a04dbfe30b7138b889700efa8ff1c0524af271e0ee233
+ f5d7178d8da30799e01b83a0802018d913d6aa972dd2ddad3b927f3f3eb7099a
+ 5d6eee6514ee6e22a87bba8d22be0a8621a0ae119246f1c5a9a35db1f72af589
+ a517df2dda93b26d5cbf00effefea93e3a4ccd6652f152f4109170544ebfa05e
+ ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d
+ 4cf3b9fafb8a66d411dd5fc9120032533a4012df1dc6ee024c7833373e2ddc31
+ 7c314e375a105a6642e8ed44f3808b9def89d15f7492fe2029a21ba9c0de81d3"
 
 bootstrap=yes
 provides="bash-${version}_${revision}"
-conflicts="bash>=0 dash>=0"
+conflicts="bash>=0 dash>=0 busybox>=0 loksh>=0 mksh>=0 oksh>=0 yash>=0"
 
-pre_configure() {
-	local ver=${_bash_distver//./} p
+post_patch() {
 	cd ${wrksrc}
 	for p in $(seq -w 001 ${_bash_patchlevel}); do
-		msg_normal " Applying patch bash${ver}-$p.\n"
-		patch -sNp0 -i ${XBPS_SRCPKGDIR}/bash/files/bash${ver}-${p}
+		msg_normal " Applying patch bash${_major}${_minor}-$p.\n"
+		patch -sNp0 -i ${XBPS_SRCDISTDIR}/bash-$version/bash${_major}${_minor}-${p}
 	done
 }
 

From f0fd2cb9387661e3b924d6a2f0f8098d0a47016e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 15:28:53 +0700
Subject: [PATCH 3/4] bash: update to 5.0.018.

Close: #23815
---
 srcpkgs/bash/files/bash50-001             | 167 -------------
 srcpkgs/bash/files/bash50-002             | 113 ---------
 srcpkgs/bash/files/bash50-003             | 239 ------------------
 srcpkgs/bash/files/bash50-004             |  53 ----
 srcpkgs/bash/files/bash50-005             | 110 --------
 srcpkgs/bash/files/bash50-006             |  47 ----
 srcpkgs/bash/files/bash50-007             |  62 -----
 srcpkgs/bash/files/bash50-008             |  68 -----
 srcpkgs/bash/files/bash50-009             |  42 ----
 srcpkgs/bash/files/bash50-010             | 172 -------------
 srcpkgs/bash/files/bash50-011             |  59 -----
 srcpkgs/bash/files/bash50-012             |  64 -----
 srcpkgs/bash/files/bash50-013             |  73 ------
 srcpkgs/bash/files/bash50-014             |  52 ----
 srcpkgs/bash/files/bash50-015             |  78 ------
 srcpkgs/bash/files/bash50-016             |  58 -----
 srcpkgs/bash/files/bash50-017             | 289 ----------------------
 srcpkgs/bash/files/update-bash-patches.sh |   7 -
 srcpkgs/bash/template                     |  45 +++-
 19 files changed, 36 insertions(+), 1762 deletions(-)
 delete mode 100644 srcpkgs/bash/files/bash50-001
 delete mode 100644 srcpkgs/bash/files/bash50-002
 delete mode 100644 srcpkgs/bash/files/bash50-003
 delete mode 100644 srcpkgs/bash/files/bash50-004
 delete mode 100644 srcpkgs/bash/files/bash50-005
 delete mode 100644 srcpkgs/bash/files/bash50-006
 delete mode 100644 srcpkgs/bash/files/bash50-007
 delete mode 100644 srcpkgs/bash/files/bash50-008
 delete mode 100644 srcpkgs/bash/files/bash50-009
 delete mode 100644 srcpkgs/bash/files/bash50-010
 delete mode 100644 srcpkgs/bash/files/bash50-011
 delete mode 100644 srcpkgs/bash/files/bash50-012
 delete mode 100644 srcpkgs/bash/files/bash50-013
 delete mode 100644 srcpkgs/bash/files/bash50-014
 delete mode 100644 srcpkgs/bash/files/bash50-015
 delete mode 100644 srcpkgs/bash/files/bash50-016
 delete mode 100644 srcpkgs/bash/files/bash50-017
 delete mode 100755 srcpkgs/bash/files/update-bash-patches.sh

diff --git a/srcpkgs/bash/files/bash50-001 b/srcpkgs/bash/files/bash50-001
deleted file mode 100644
index 087bd82cf72..00000000000
--- a/srcpkgs/bash/files/bash50-001
+++ /dev/null
@@ -1,167 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-001
-
-Bug-Reported-by:	axel@freakout.de
-Bug-Reference-ID:	<201901082050.x08KoShS006731@bongo.freakout.de>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00079.html
-
-Bug-Description:
-
-Under certain circumstances, the glob expansion code did not remove
-backslashes escaping characters in directory names (or portions of a
-pattern preceding a slash).
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0/bashline.c	2018-11-27 13:20:16.000000000 -0500
---- bashline.c	2019-01-16 16:06:03.000000000 -0500
-***************
-*** 232,235 ****
---- 232,236 ----
-  static int bash_possible_command_completions __P((int, int));
-  
-+ static int completion_glob_pattern __P((char *));
-  static char *glob_complete_word __P((const char *, int));
-  static int bash_glob_completion_internal __P((int));
-***************
-*** 1742,1746 ****
-    /* This could be a globbing pattern, so try to expand it using pathname
-       expansion. */
-!   if (!matches && glob_pattern_p (text))
-      {
-        matches = rl_completion_matches (text, glob_complete_word);
---- 1743,1747 ----
-    /* This could be a globbing pattern, so try to expand it using pathname
-       expansion. */
-!   if (!matches && completion_glob_pattern ((char *)text))
-      {
-        matches = rl_completion_matches (text, glob_complete_word);
-***************
-*** 1851,1855 ****
-  	}
-  
-!       globpat = glob_pattern_p (hint_text);
-  
-        /* If this is an absolute program name, do not check it against
---- 1852,1856 ----
-  	}
-  
-!       globpat = completion_glob_pattern ((char *)hint_text);
-  
-        /* If this is an absolute program name, do not check it against
-***************
-*** 3714,3717 ****
---- 3715,3773 ----
-  }
-  
-+ static int
-+ completion_glob_pattern (string)
-+      char *string;
-+ {
-+   register int c;
-+   char *send;
-+   int open;
-+ 
-+   DECLARE_MBSTATE;
-+ 
-+   open = 0;
-+   send = string + strlen (string);
-+ 
-+   while (c = *string++)
-+     {
-+       switch (c)
-+ 	{
-+ 	case '?':
-+ 	case '*':
-+ 	  return (1);
-+ 
-+ 	case '[':
-+ 	  open++;
-+ 	  continue;
-+ 
-+ 	case ']':
-+ 	  if (open)
-+ 	    return (1);
-+ 	  continue;
-+ 
-+ 	case '+':
-+ 	case '@':
-+ 	case '!':
-+ 	  if (*string == '(')	/*)*/
-+ 	    return (1);
-+ 	  continue;
-+ 
-+ 	case '\\':
-+ 	  if (*string == 0)
-+ 	    return (0);	 	  
-+ 	}
-+ 
-+       /* Advance one fewer byte than an entire multibyte character to
-+ 	 account for the auto-increment in the loop above. */
-+ #ifdef HANDLE_MULTIBYTE
-+       string--;
-+       ADVANCE_CHAR_P (string, send - string);
-+       string++;
-+ #else
-+       ADVANCE_CHAR_P (string, send - string);
-+ #endif
-+     }
-+   return (0);
-+ }
-+ 
-  static char *globtext;
-  static char *globorig;
-***************
-*** 3878,3882 ****
-      }      
-  
-!   if (t && glob_pattern_p (t) == 0)
-      rl_explicit_arg = 1;	/* XXX - force glob_complete_word to append `*' */
-    FREE (t);
---- 3934,3938 ----
-      }      
-  
-!   if (t && completion_glob_pattern (t) == 0)
-      rl_explicit_arg = 1;	/* XXX - force glob_complete_word to append `*' */
-    FREE (t);
-*** ../bash-5.0/lib/glob/glob_loop.c	2018-12-31 13:35:15.000000000 -0500
---- lib/glob/glob_loop.c	2019-01-09 09:44:36.000000000 -0500
-***************
-*** 55,59 ****
-  
-        case L('\\'):
-- #if 0
-  	/* Don't let the pattern end in a backslash (GMATCH returns no match
-  	   if the pattern ends in a backslash anyway), but otherwise return 1,
---- 55,58 ----
-***************
-*** 61,69 ****
-  	   and it can be removed. */
-  	return (*p != L('\0'));
-- #else
-- 	/* The pattern may not end with a backslash. */
-- 	if (*p++ == L('\0'))
-- 	  return 0;
-- #endif
-        }
-  
---- 60,63 ----
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 0
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 1
-  
-  #endif /* _PATCHLEVEL_H_ */
-
diff --git a/srcpkgs/bash/files/bash50-002 b/srcpkgs/bash/files/bash50-002
deleted file mode 100644
index 3fc8272f84a..00000000000
--- a/srcpkgs/bash/files/bash50-002
+++ /dev/null
@@ -1,113 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-002
-
-Bug-Reported-by:	Ante Peric <synthmeat@gmail.com>
-Bug-Reference-ID:	<B7E3B567-2467-4F7B-B6B9-CA4E75A9C93F@gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00095.html
-
-Bug-Description:
-
-When an alias value ends with an unquoted literal tab (not part of a quoted
-string or comment), alias expansion cannot correctly detect the end of the
-alias value after expanding it.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0/parser.h	2018-12-28 19:11:18.000000000 -0500
---- parser.h	2019-01-11 15:13:03.000000000 -0500
-***************
-*** 48,51 ****
---- 48,52 ----
-  #define PST_REDIRLIST	0x080000	/* parsing a list of redirections preceding a simple command name */
-  #define PST_COMMENT	0x100000	/* parsing a shell comment; used by aliases */
-+ #define PST_ENDALIAS	0x200000	/* just finished expanding and consuming an alias */
-  
-  /* Definition of the delimiter stack.  Needed by parse.y and bashhist.c. */
-*** ../bash-5.0/parse.y	2019-01-02 13:57:34.000000000 -0500
---- parse.y	2019-01-14 08:23:31.000000000 -0500
-***************
-*** 2558,2567 ****
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-        shell_input_line_index > 0 &&
-!       shell_input_line[shell_input_line_index-1] != ' ' &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-        return ' ';	/* END_ALIAS */
-      }
---- 2558,2569 ----
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-+       (parser_state & PST_ENDALIAS) == 0 &&	/* only once */
-        shell_input_line_index > 0 &&
-!       shellblank (shell_input_line[shell_input_line_index-1]) == 0 &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-+       parser_state |= PST_ENDALIAS;
-        return ' ';	/* END_ALIAS */
-      }
-***************
-*** 2572,2575 ****
---- 2574,2578 ----
-    if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE)
-      {
-+       parser_state &= ~PST_ENDALIAS;
-        pop_string ();
-        uc = shell_input_line[shell_input_line_index];
-*** ../bash-5.0/y.tab.c	2019-01-02 13:57:43.000000000 -0500
---- y.tab.c	2019-01-14 08:39:23.000000000 -0500
-***************
-*** 4874,4883 ****
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-        shell_input_line_index > 0 &&
-!       shell_input_line[shell_input_line_index-1] != ' ' &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-        return ' ';	/* END_ALIAS */
-      }
---- 4874,4885 ----
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-+       (parser_state & PST_ENDALIAS) == 0 &&	/* only once */
-        shell_input_line_index > 0 &&
-!       shellblank (shell_input_line[shell_input_line_index-1]) == 0 &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-+       parser_state |= PST_ENDALIAS;
-        return ' ';	/* END_ALIAS */
-      }
-***************
-*** 4888,4891 ****
---- 4890,4894 ----
-    if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE)
-      {
-+       parser_state &= ~PST_ENDALIAS;
-        pop_string ();
-        uc = shell_input_line[shell_input_line_index];
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 1
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 2
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-003 b/srcpkgs/bash/files/bash50-003
deleted file mode 100644
index f7e5677e540..00000000000
--- a/srcpkgs/bash/files/bash50-003
+++ /dev/null
@@ -1,239 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-003
-
-Bug-Reported-by:	Andrew Church <achurch+bash@achurch.org>
-Bug-Reference-ID:	<5c534aa2.04371@msgid.achurch.org>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00276.html
-
-Bug-Description:
-
-There are several incompatibilities in how bash-5.0 processes pathname
-expansion (globbing) of filename arguments that have backslashes in the
-directory portion.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/glob/glob_loop.c	2019-01-16 16:13:21.000000000 -0500
---- lib/glob/glob_loop.c	2019-02-01 09:45:11.000000000 -0500
-***************
-*** 27,34 ****
-    register const GCHAR *p;
-    register GCHAR c;
-!   int bopen;
-  
-    p = pattern;
-!   bopen = 0;
-  
-    while ((c = *p++) != L('\0'))
---- 27,34 ----
-    register const GCHAR *p;
-    register GCHAR c;
-!   int bopen, bsquote;
-  
-    p = pattern;
-!   bopen = bsquote = 0;
-  
-    while ((c = *p++) != L('\0'))
-***************
-*** 56,66 ****
-        case L('\\'):
-  	/* Don't let the pattern end in a backslash (GMATCH returns no match
-! 	   if the pattern ends in a backslash anyway), but otherwise return 1,
-! 	   since the matching engine uses backslash as an escape character
-! 	   and it can be removed. */
-! 	return (*p != L('\0'));
-        }
-  
-!   return 0;
-  }
-  
---- 56,75 ----
-        case L('\\'):
-  	/* Don't let the pattern end in a backslash (GMATCH returns no match
-! 	   if the pattern ends in a backslash anyway), but otherwise note that 
-! 	   we have seen this, since the matching engine uses backslash as an
-! 	   escape character and it can be removed. We return 2 later if we
-! 	   have seen only backslash-escaped characters, so interested callers
-! 	   know they can shortcut and just dequote the pathname. */
-! 	if (*p != L('\0'))
-! 	  {
-! 	    p++;
-! 	    bsquote = 1;
-! 	    continue;
-! 	  }
-! 	else 	/* (*p == L('\0')) */
-! 	  return 0;
-        }
-  
-!   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-03-07 14:23:43.000000000 -0500
-***************
-*** 1062,1066 ****
-    unsigned int directory_len;
-    int free_dirname;			/* flag */
-!   int dflags;
-  
-    result = (char **) malloc (sizeof (char *));
---- 1078,1082 ----
-    unsigned int directory_len;
-    int free_dirname;			/* flag */
-!   int dflags, hasglob;
-  
-    result = (char **) malloc (sizeof (char *));
-***************
-*** 1111,1117 ****
-      }
-  
-    /* If directory_name contains globbing characters, then we
-!      have to expand the previous levels.  Just recurse. */
-!   if (directory_len > 0 && glob_pattern_p (directory_name))
-      {
-        char **directories, *d, *p;
---- 1127,1136 ----
-      }
-  
-+   hasglob = 0;
-    /* If directory_name contains globbing characters, then we
-!      have to expand the previous levels.  Just recurse.
-!      If glob_pattern_p returns != [0,1] we have a pattern that has backslash
-!      quotes but no unquoted glob pattern characters. We dequote it below. */
-!   if (directory_len > 0 && (hasglob = glob_pattern_p (directory_name)) == 1)
-      {
-        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,1369 ----
-  	  return (NULL);
-  	}
-+       /* 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
---- pathexp.c	2019-01-31 20:19:41.000000000 -0500
-***************
-*** 66,74 ****
-    register int c;
-    char *send;
-!   int open;
-  
-    DECLARE_MBSTATE;
-  
-!   open = 0;
-    send = string + strlen (string);
-  
---- 66,74 ----
-    register int c;
-    char *send;
-!   int open, bsquote;
-  
-    DECLARE_MBSTATE;
-  
-!   open = bsquote = 0;
-    send = string + strlen (string);
-  
-***************
-*** 101,105 ****
-  	   globbing. */
-  	case '\\':
-! 	  return (*string != 0);
-  	 	  
-  	case CTLESC:
---- 101,112 ----
-  	   globbing. */
-  	case '\\':
-! 	  if (*string != '\0' && *string != '/')
-! 	    {
-! 	      bsquote = 1;
-! 	      string++;
-! 	      continue;
-! 	    }
-! 	  else if (*string == 0)
-! 	    return (0);
-  	 	  
-  	case CTLESC:
-***************
-*** 118,122 ****
-  #endif
-      }
-!   return (0);
-  }
-  
---- 125,130 ----
-  #endif
-      }
-! 
-!   return (bsquote ? 2 : 0);
-  }
-  
-*** ../bash-5.0-patched/bashline.c	2019-01-16 16:13:21.000000000 -0500
---- bashline.c	2019-02-22 09:29:08.000000000 -0500
-***************
-*** 3753,3757 ****
-  
-  	case '\\':
-! 	  if (*string == 0)
-  	    return (0);	 	  
-  	}
---- 3766,3770 ----
-  
-  	case '\\':
-! 	  if (*string++ == 0)
-  	    return (0);	 	  
-  	}
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 2
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 3
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-004 b/srcpkgs/bash/files/bash50-004
deleted file mode 100644
index fe3c764bd6c..00000000000
--- a/srcpkgs/bash/files/bash50-004
+++ /dev/null
@@ -1,53 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-004
-
-Bug-Reported-by:	Daniel Kahn Gillmor <dkg@fifthhorseman.net>
-Bug-Reference-ID:	<87lg0g8aiw.fsf@fifthhorseman.net>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-04/msg00076.html
-
-Bug-Description:
-
-In bash-5.0, the `wait' builtin without arguments waits for all children of the
-shell. This includes children it `inherited' at shell invocation time. This
-patch modifies the behavior to not wait for these inherited children, some
-of which might be long-lived.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/jobs.c	2018-12-06 11:44:34.000000000 -0500
---- jobs.c	2019-04-12 15:15:10.000000000 -0400
-***************
-*** 2489,2496 ****
-    wait_procsubs ();
-    reap_procsubs ();
-! #if 1
-    /* We don't want to wait indefinitely if we have stopped children. */
--   /* XXX - should add a loop that goes through the list of process
--      substitutions and waits for each proc in turn before this code. */
-    if (any_stopped == 0)
-      {
---- 2490,2495 ----
-    wait_procsubs ();
-    reap_procsubs ();
-! #if 0
-    /* We don't want to wait indefinitely if we have stopped children. */
-    if (any_stopped == 0)
-      {
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 3
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 4
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-005 b/srcpkgs/bash/files/bash50-005
deleted file mode 100644
index 9b1cd75b0b6..00000000000
--- a/srcpkgs/bash/files/bash50-005
+++ /dev/null
@@ -1,110 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-005
-
-Bug-Reported-by:	Brad Spencer <bspencer@blackberry.com>
-Bug-Reference-ID:	<1b993ff2-ce4f-662a-6be4-393457362e47@blackberry.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00250.html
-
-Bug-Description:
-
-In certain cases, bash optimizes out a fork() call too early and prevents
-traps from running.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/command.h	2018-07-20 21:16:31.000000000 -0400
---- command.h	2019-02-20 11:09:36.000000000 -0500
-***************
-*** 187,190 ****
---- 188,192 ----
-  #define CMD_LASTPIPE	    0x2000
-  #define CMD_STDPATH	    0x4000	/* use standard path for command lookup */
-+ #define CMD_TRY_OPTIMIZING  0x8000	/* try to optimize this simple command */
-  
-  /* What a command looks like. */
-*** ../bash-5.0-patched/builtins/evalstring.c	2018-12-26 11:19:21.000000000 -0500
---- builtins/evalstring.c	2019-01-29 14:15:19.000000000 -0500
-***************
-*** 101,104 ****
---- 101,113 ----
-  }
-  
-+ int
-+ can_optimize_connection (command)
-+      COMMAND *command;
-+ {
-+   return (*bash_input.location.string == '\0' &&
-+ 	  (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-+ 	  command->value.Connection->second->type == cm_simple);
-+ }
-+ 
-  void
-  optimize_fork (command)
-***************
-*** 106,110 ****
-  {
-    if (command->type == cm_connection &&
-!       (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR) &&
-        should_suppress_fork (command->value.Connection->second))
-      {
---- 115,120 ----
-  {
-    if (command->type == cm_connection &&
-!       (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-!       (command->value.Connection->second->flags & CMD_TRY_OPTIMIZING) &&
-        should_suppress_fork (command->value.Connection->second))
-      {
-***************
-*** 413,418 ****
-  		  command->value.Simple->flags |= CMD_NO_FORK;
-  		}
-! 	      else if (command->type == cm_connection)
-! 		optimize_fork (command);
-  #endif /* ONESHOT */
-  
---- 423,438 ----
-  		  command->value.Simple->flags |= CMD_NO_FORK;
-  		}
-! 
-! 	      /* Can't optimize forks out here execept for simple commands.
-! 		 This knows that the parser sets up commands as left-side heavy
-! 		 (&& and || are left-associative) and after the single parse,
-! 		 if we are at the end of the command string, the last in a
-! 		 series of connection commands is
-! 		 command->value.Connection->second. */
-! 	      else if (command->type == cm_connection && can_optimize_connection (command))
-! 		{
-! 		  command->value.Connection->second->flags |= CMD_TRY_OPTIMIZING;
-! 		  command->value.Connection->second->value.Simple->flags |= CMD_TRY_OPTIMIZING;
-! 		}
-  #endif /* ONESHOT */
-  
-*** ../bash-5.0-patched/execute_cmd.c	2018-12-05 09:05:14.000000000 -0500
---- execute_cmd.c	2019-01-25 15:59:00.000000000 -0500
-***************
-*** 2768,2771 ****
---- 2768,2773 ----
-  	   (exec_result != EXECUTION_SUCCESS)))
-  	{
-+ 	  optimize_fork (command);
-+ 
-  	  second = command->value.Connection->second;
-  	  if (ignore_return && second)
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 4
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 5
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-006 b/srcpkgs/bash/files/bash50-006
deleted file mode 100644
index 2ad1cd20090..00000000000
--- a/srcpkgs/bash/files/bash50-006
+++ /dev/null
@@ -1,47 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-006
-
-Bug-Reported-by:	Tomas Mozes <hydrapolic@gmail.com>
-Bug-Reference-ID:	<CAG6MAzQumLU2vhnmr1UrYAUQAFW5Yo8hfM_sEibX9RJQWJkRrA@mail.gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-03/msg00037.html
-
-Bug-Description:
-
-Bash-5.0 did not build successfully if SYSLOG_HISTORY was defined without
-also defining SYSLOG_SHOPT.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/builtins/shopt.def	2018-10-05 14:49:02.000000000 -0400
---- builtins/shopt.def	2019-01-23 09:55:22.000000000 -0500
-***************
-*** 123,127 ****
-  #endif
-  
-! #if defined (SYSLOG_HISTORY) && defined (SYSLOG_SHOPT)
-  extern int syslog_history;
-  #endif
---- 123,127 ----
-  #endif
-  
-! #if defined (SYSLOG_HISTORY)
-  extern int syslog_history;
-  #endif
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 5
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 6
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-007 b/srcpkgs/bash/files/bash50-007
deleted file mode 100644
index b9eb4150a2b..00000000000
--- a/srcpkgs/bash/files/bash50-007
+++ /dev/null
@@ -1,62 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-007
-
-Bug-Reported-by:	Grisha Levit <grishalevit@gmail.com>
-Bug-Reference-ID:	<CAMu=BroHapG1AS3xB5SQaCX2XKu=-E2Ob9uW6LNuHvd=YohrDw@mail.gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-02/msg00067.html
-
-Bug-Description:
-
-Running `exec' when job control was disabled, even temporarily, but after it
-had been initialized, could leave the terminal in the wrong process group for
-the executed process.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/jobs.c	2018-12-06 11:44:34.000000000 -0500
---- jobs.c	2019-04-12 15:15:10.000000000 -0400
-***************
-*** 4838,4850 ****
-  {
-    if (job_control)
-!     {
-!       terminate_stopped_jobs ();
-  
-!       if (original_pgrp >= 0)
-! 	give_terminal_to (original_pgrp, 1);
-!     }
-  
-!   if (original_pgrp >= 0)
-!     setpgid (0, original_pgrp);
-  }
-  
---- 4838,4848 ----
-  {
-    if (job_control)
-!     terminate_stopped_jobs ();
-  
-!   if (original_pgrp >= 0 && terminal_pgrp != original_pgrp)
-!     give_terminal_to (original_pgrp, 1);
-  
-!   if (original_pgrp >= 0 && setpgid (0, original_pgrp) == 0)
-!     shell_pgrp = original_pgrp;
-  }
-  
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 6
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 7
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-008 b/srcpkgs/bash/files/bash50-008
deleted file mode 100644
index b09d6b33ac7..00000000000
--- a/srcpkgs/bash/files/bash50-008
+++ /dev/null
@@ -1,68 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-008
-
-Bug-Reported-by:	Michael Albinus <michael.albinus@gmx.de>
-Bug-Reference-ID:	<87bm36k3kz.fsf@gmx.de>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-02/msg00111.html
-
-Bug-Description:
-
-When HISTSIZE is set to 0, history expansion can leave the history length
-set to an incorrect value, leading to subsequent attempts to access invalid
-memory.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/bashhist.c	2018-07-05 22:41:14.000000000 -0400
---- bashhist.c	2019-02-20 16:20:04.000000000 -0500
-***************
-*** 561,573 ****
-    if (!history_expansion_inhibited && history_expansion && history_expansion_p (line))
-      {
-        /* If we are expanding the second or later line of a multi-line
-  	 command, decrease history_length so references to history expansions
-  	 in these lines refer to the previous history entry and not the
-  	 current command. */
-        if (history_length > 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-          history_length--;
-        expanded = history_expand (line, &history_value);
-        if (history_length >= 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-!         history_length++;
-  
-        if (expanded)
---- 561,576 ----
-    if (!history_expansion_inhibited && history_expansion && history_expansion_p (line))
-      {
-+       int old_len;
-+ 
-        /* If we are expanding the second or later line of a multi-line
-  	 command, decrease history_length so references to history expansions
-  	 in these lines refer to the previous history entry and not the
-  	 current command. */
-+       old_len = history_length;
-        if (history_length > 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-          history_length--;
-        expanded = history_expand (line, &history_value);
-        if (history_length >= 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-!         history_length = old_len;
-  
-        if (expanded)
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 7
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 8
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-009 b/srcpkgs/bash/files/bash50-009
deleted file mode 100644
index aef4ce7b5ad..00000000000
--- a/srcpkgs/bash/files/bash50-009
+++ /dev/null
@@ -1,42 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-009
-
-Bug-Reported-by:	chet.ramey@case.edu
-Bug-Reference-ID:
-Bug-Reference-URL:
-
-Bug-Description:
-
-The history file reading code doesn't close the file descriptor open to
-the history file when it encounters a zero-length file.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/readline/histfile.c	2018-06-11 09:14:52.000000000 -0400
---- lib/readline/histfile.c	2019-05-16 15:55:57.000000000 -0400
-***************
-*** 306,309 ****
---- 312,316 ----
-      {
-        free (input);
-+       close (file);
-        return 0;	/* don't waste time if we don't have to */
-      }
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 8
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 9
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-010 b/srcpkgs/bash/files/bash50-010
deleted file mode 100644
index bac7aa92515..00000000000
--- a/srcpkgs/bash/files/bash50-010
+++ /dev/null
@@ -1,172 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-010
-
-Bug-Reported-by:	Thorsten Glaser <tg@mirbsd.de>
-Bug-Reference-ID:	<156622962831.19438.16374961114836556294.reportbug@tglase.lan.tarent.de>
-Bug-Reference-URL:	https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=935115
-
-Bug-Description:
-
-Bash-5.0 changed the way assignment statements preceding special builtins
-and shell functions were handled in posix mode. They automatically created
-or modified global variables instead of modifying existing local variables
-as in bash-4.4.
-
-The bash-4.4 posix-mode semantics were buggy, and resulted in creating
-local variables where they were not intended and modifying global variables
-and local variables simultaneously.
-
-The bash-5.0 changes were intended to fix this issue, but did not preserve
-enough backwards compatibility. The posix standard also changed what it
-required in these cases, so bash-5.0 is not bound by the strict conformance
-requirements that existed in previous issues of the standard.
-
-This patch modifies the bash-5.0 posix mode behavior in an effort to restore
-some backwards compatibility and rationalize the behavior in the presence of
-local variables. It
-
-1. Changes the assignment semantics to be more similar to standalone assignment
-   statements: assignments preceding a function call or special builtin while
-   executing in a shell function will modify the value of a local variable
-   with the same name for the duration of the function's execution;
-
-2. Changes assignments preceding shell function calls or special builtins
-   from within a shell function to no longer create or modify global variables
-   in the presence of a local variable with the same name;
-
-3. Assignment statements preceding a shell function call or special builtin
-   at the global scope continue to modify the (global) calling environment,
-   but are unaffected by assignments preceding function calls or special
-   builtins within a function, as described in item 2. This is also similar
-   to the behavior of a standalone assignment statement.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/variables.c	2018-12-18 11:07:21.000000000 -0500
---- variables.c	2019-08-22 10:53:44.000000000 -0400
-***************
-*** 4461,4467 ****
-  
-  /* Take a variable from an assignment statement preceding a posix special
-!    builtin (including `return') and create a global variable from it. This
-!    is called from merge_temporary_env, which is only called when in posix
-!    mode. */
-  static void
-  push_posix_temp_var (data)
---- 4461,4467 ----
-  
-  /* Take a variable from an assignment statement preceding a posix special
-!    builtin (including `return') and create a variable from it as if a
-!    standalone assignment statement had been performed. This is called from
-!    merge_temporary_env, which is only called when in posix mode. */
-  static void
-  push_posix_temp_var (data)
-***************
-*** 4473,4486 ****
-    var = (SHELL_VAR *)data;
-  
-!   binding_table = global_variables->table;
-!   if (binding_table == 0)
-!     binding_table = global_variables->table = hash_create (VARIABLES_HASH_BUCKETS);
-! 
-!   v = bind_variable_internal (var->name, value_cell (var), binding_table, 0, ASS_FORCE|ASS_NOLONGJMP);
-  
-    /* global variables are no longer temporary and don't need propagating. */
-!   var->attributes &= ~(att_tempvar|att_propagate);
-    if (v)
-!     v->attributes |= var->attributes;
-  
-    if (find_special_var (var->name) >= 0)
---- 4473,4497 ----
-    var = (SHELL_VAR *)data;
-  
-!   /* Just like do_assignment_internal(). This makes assignments preceding
-!      special builtins act like standalone assignment statements when in
-!      posix mode, satisfying the posix requirement that this affect the
-!      "current execution environment." */
-!   v = bind_variable (var->name, value_cell (var), ASS_FORCE|ASS_NOLONGJMP);
-! 
-!   /* If this modifies an existing local variable, v->context will be non-zero.
-!      If it comes back with v->context == 0, we bound at the global context.
-!      Set binding_table appropriately. It doesn't matter whether it's correct
-!      if the variable is local, only that it's not global_variables->table */
-!   binding_table = v->context ? shell_variables->table : global_variables->table;
-  
-    /* global variables are no longer temporary and don't need propagating. */
-!   if (binding_table == global_variables->table)
-!     var->attributes &= ~(att_tempvar|att_propagate);
-! 
-    if (v)
-!     {
-!       v->attributes |= var->attributes;
-!       v->attributes &= ~att_tempvar;	/* not a temp var now */
-!     }
-  
-    if (find_special_var (var->name) >= 0)
-***************
-*** 4576,4587 ****
-  {
-    int i;
-  
-    tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1);
-    tempvar_list[tvlist_ind = 0] = 0;
-!     
-!   hash_flush (temporary_env, pushf);
-!   hash_dispose (temporary_env);
-    temporary_env = (HASH_TABLE *)NULL;
-  
-    tempvar_list[tvlist_ind] = 0;
-  
---- 4587,4601 ----
-  {
-    int i;
-+   HASH_TABLE *disposer;
-  
-    tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1);
-    tempvar_list[tvlist_ind = 0] = 0;
-! 
-!   disposer = temporary_env;
-    temporary_env = (HASH_TABLE *)NULL;
-  
-+   hash_flush (disposer, pushf);
-+   hash_dispose (disposer);
-+ 
-    tempvar_list[tvlist_ind] = 0;
-  
-*** ../bash-5.0-patched/tests/varenv.right	2018-12-17 15:39:48.000000000 -0500
---- tests/varenv.right	2019-08-22 16:05:25.000000000 -0400
-***************
-*** 147,153 ****
-  outside: declare -- var="one"
-  inside: declare -x var="value"
-! outside: declare -x var="value"
-! inside: declare -- var="local"
-! outside: declare -x var="global"
-  foo=<unset> environment foo=
-  foo=foo environment foo=foo
---- 147,153 ----
-  outside: declare -- var="one"
-  inside: declare -x var="value"
-! outside: declare -- var="outside"
-! inside: declare -x var="global"
-! outside: declare -- var="outside"
-  foo=<unset> environment foo=
-  foo=foo environment foo=foo
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 9
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 10
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-011 b/srcpkgs/bash/files/bash50-011
deleted file mode 100644
index a9ae690e004..00000000000
--- a/srcpkgs/bash/files/bash50-011
+++ /dev/null
@@ -1,59 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-011
-
-Bug-Reported-by:	Matt Whitlock
-Bug-Reference-ID:	
-Bug-Reference-URL:	https://savannah.gnu.org/support/?109671
-
-Bug-Description:
-
-The conditional command did not perform appropriate quoted null character
-removal on its arguments, causing syntax errors and attempts to stat
-invalid pathnames.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/subst.c	2018-12-22 17:43:37.000000000 -0500
---- subst.c	2019-04-14 13:25:41.000000000 -0400
-***************
-*** 3626,3630 ****
-     SPECIAL is 2, this is an rhs argument for the =~ operator, and should
-     be quoted appropriately for regcomp/regexec.  The caller is responsible
-!    for removing the backslashes if the unquoted word is needed later. */   
-  char *
-  cond_expand_word (w, special)
---- 3642,3648 ----
-     SPECIAL is 2, this is an rhs argument for the =~ operator, and should
-     be quoted appropriately for regcomp/regexec.  The caller is responsible
-!    for removing the backslashes if the unquoted word is needed later. In
-!    any case, since we don't perform word splitting, we need to do quoted
-!    null character removal. */
-  char *
-  cond_expand_word (w, special)
-***************
-*** 3647,3650 ****
---- 3665,3670 ----
-        if (special == 0)			/* LHS */
-  	{
-+ 	  if (l->word)
-+ 	    word_list_remove_quoted_nulls (l);
-  	  dequote_list (l);
-  	  r = string_list (l);
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 10
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 11
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-012 b/srcpkgs/bash/files/bash50-012
deleted file mode 100644
index 7470e766550..00000000000
--- a/srcpkgs/bash/files/bash50-012
+++ /dev/null
@@ -1,64 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-012
-
-Bug-Reported-by:	lessbug@qq.com
-Bug-Reference-ID:	<tencent_6AA531D9A5CC4121D86BD5CDA2E0DA98C605@qq.com>
-Bug-Reference-URL:
-
-Bug-Description:
-
-When using previous-history to go back beyond the beginning of the history list,
-it's possible to move to an incorrect partial line.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/readline/misc.c	2017-07-07 17:30:12.000000000 -0400
---- lib/readline/misc.c	2019-05-16 11:43:46.000000000 -0400
-***************
-*** 577,580 ****
---- 590,594 ----
-  {
-    HIST_ENTRY *old_temp, *temp;
-+   int had_saved_line;
-  
-    if (count < 0)
-***************
-*** 589,592 ****
---- 603,607 ----
-  
-    /* If we don't have a line saved, then save this one. */
-+   had_saved_line = _rl_saved_line_for_history != 0;
-    rl_maybe_save_line ();
-  
-***************
-*** 612,616 ****
-    if (temp == 0)
-      {
-!       rl_maybe_unsave_line ();
-        rl_ding ();
-      }
---- 627,632 ----
-    if (temp == 0)
-      {
-!       if (had_saved_line == 0)
-!         _rl_free_saved_history_line ();
-        rl_ding ();
-      }
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 11
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 12
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-013 b/srcpkgs/bash/files/bash50-013
deleted file mode 100644
index e44fdb5053b..00000000000
--- a/srcpkgs/bash/files/bash50-013
+++ /dev/null
@@ -1,73 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-013
-
-Bug-Reported-by:	HIROSE Masaaki <hirose31@gmail.com>
-Bug-Reference-ID:	<CAGSOfA-RqiTe=+GsXsDKyZrrMWH4bDbXgMVVegMa6OjqC5xbnQ@mail.gmail.com>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00038.html
-
-Bug-Description:
-
-Reading history entries with timestamps can result in history entries joined
-by linefeeds.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/readline/histfile.c	2018-06-11 09:14:52.000000000 -0400
---- lib/readline/histfile.c	2019-05-16 15:55:57.000000000 -0400
-***************
-*** 370,376 ****
-  
-    has_timestamps = HIST_TIMESTAMP_START (buffer);
-!   history_multiline_entries += has_timestamps && history_write_timestamps;  
-  
-    /* Skip lines until we are at FROM. */
-    for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
-      if (*line_end == '\n')
---- 370,378 ----
-  
-    has_timestamps = HIST_TIMESTAMP_START (buffer);
-!   history_multiline_entries += has_timestamps && history_write_timestamps;
-  
-    /* Skip lines until we are at FROM. */
-+   if (has_timestamps)
-+     last_ts = buffer;
-    for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
-      if (*line_end == '\n')
-***************
-*** 381,385 ****
---- 383,398 ----
-  	if (HIST_TIMESTAMP_START(p) == 0)
-  	  current_line++;
-+ 	else
-+ 	  last_ts = p;
-  	line_start = p;
-+ 	/* If we are at the last line (current_line == from) but we have
-+ 	   timestamps (has_timestamps), then line_start points to the
-+ 	   text of the last command, and we need to skip to its end. */
-+ 	if (current_line >= from && has_timestamps)
-+ 	  {
-+ 	    for (line_end = p; line_end < bufend && *line_end != '\n'; line_end++)
-+ 	      ;
-+ 	    line_start = (*line_end == '\n') ? line_end + 1 : line_end;
-+ 	  }
-        }
-  
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 12
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 13
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-014 b/srcpkgs/bash/files/bash50-014
deleted file mode 100644
index 6cb49aae725..00000000000
--- a/srcpkgs/bash/files/bash50-014
+++ /dev/null
@@ -1,52 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-014
-
-Bug-Reported-by:	Johannes Hielscher <jhielscher@posteo.de>
-Bug-Reference-ID:	<20190208205048.77c25a83@hordevm>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-02/msg00032.html
-
-Bug-Description:
-
-If the current line is empty, using the emacs C-xC-e binding to enter the
-editor will edit the previous command instead of the current (empty) one.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/bashline.c	2019-01-16 16:13:21.000000000 -0500
---- bashline.c	2019-02-11 11:18:57.000000000 -0500
-***************
-*** 962,970 ****
-  	 finished with the command, so we should not ignore the last command */
-        using_history ();
-!       if (rl_line_buffer[0])
-! 	{
-! 	  current_command_line_count++;	/* for rl_newline above */
-! 	  bash_add_history (rl_line_buffer);
-! 	}
-        current_command_line_count = 0;	/* for dummy history entry */
-        bash_add_history ("");
---- 965,970 ----
-  	 finished with the command, so we should not ignore the last command */
-        using_history ();
-!       current_command_line_count++;	/* for rl_newline above */
-!       bash_add_history (rl_line_buffer);
-        current_command_line_count = 0;	/* for dummy history entry */
-        bash_add_history ("");
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 13
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 14
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-015 b/srcpkgs/bash/files/bash50-015
deleted file mode 100644
index ff6e5e69d6e..00000000000
--- a/srcpkgs/bash/files/bash50-015
+++ /dev/null
@@ -1,78 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-015
-
-Bug-Reported-by:	Yu Kou <ckyoog@gmail.com>
-Bug-Reference-ID:	<CAAqoF9Ko3nAShJXGzucafs-ByUagzZ4nbQonwEkwC7s9UqfWKw@mail.gmail.com>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00032.html
-
-Bug-Description:
-
-If alias expansion is enabled when processing the command argument to the
-`-c' option, an alias is defined in that command, and the command ends with
-the invocation of that alias, the shell's command parser can prematurely
-terminate before the entire command is executed.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-20190426/builtins/evalstring.c	2019-01-29 14:15:19.000000000 -0500
---- builtins/evalstring.c	2019-05-15 14:19:36.000000000 -0400
-***************
-*** 92,95 ****
---- 92,96 ----
-  	  running_trap == 0 &&
-  	  *bash_input.location.string == '\0' &&
-+ 	  parser_expanding_alias () == 0 &&
-  	  command->type == cm_simple &&
-  	  signal_is_trapped (EXIT_TRAP) == 0 &&
-***************
-*** 106,109 ****
---- 107,111 ----
-  {
-    return (*bash_input.location.string == '\0' &&
-+ 	  parser_expanding_alias () == 0 &&
-  	  (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-  	  command->value.Connection->second->type == cm_simple);
-***************
-*** 291,295 ****
-    with_input_from_string (string, from_file);
-    clear_shell_input_line ();
-!   while (*(bash_input.location.string))
-      {
-        command = (COMMAND *)NULL;
---- 293,297 ----
-    with_input_from_string (string, from_file);
-    clear_shell_input_line ();
-!   while (*(bash_input.location.string) || parser_expanding_alias ())
-      {
-        command = (COMMAND *)NULL;
-***************
-*** 546,550 ****
-  
-    with_input_from_string (string, from_file);
-!   while (*(bash_input.location.string))
-      {
-        command = (COMMAND *)NULL;
---- 548,552 ----
-  
-    with_input_from_string (string, from_file);
-!   while (*(bash_input.location.string))		/* XXX - parser_expanding_alias () ? */
-      {
-        command = (COMMAND *)NULL;
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 14
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 15
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-016 b/srcpkgs/bash/files/bash50-016
deleted file mode 100644
index 87f232d7ad4..00000000000
--- a/srcpkgs/bash/files/bash50-016
+++ /dev/null
@@ -1,58 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-016
-
-Bug-Reported-by:	sunnycemetery@gmail.com
-Bug-Reference-ID:	<20190316041534.GB22884@midnight>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-03/msg00070.html
-
-Bug-Description:
-
-Bash waits too long to reap /dev/fd process substitutions used as redirections
-with loops and group commands, which can lead to file descriptor exhaustion.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/execute_cmd.c	2019-04-19 15:46:36.000000000 -0400
---- execute_cmd.c	2019-07-01 16:45:49.000000000 -0400
-***************
-*** 1104,1107 ****
---- 1085,1104 ----
-        discard_unwind_frame ("internal_fifos");
-      }
-+ # if defined (HAVE_DEV_FD)
-+   /* Reap process substitutions at the end of loops */
-+   switch (command->type)
-+     {
-+     case cm_while:
-+     case cm_until:
-+     case cm_for:
-+     case cm_group:
-+ #    if defined (ARITH_FOR_COMMAND)
-+     case cm_arith_for:
-+ #    endif
-+       reap_procsubs ();
-+     default:
-+       break;
-+     }
-+ #  endif /* HAVE_DEV_FD */
-  #endif
-  
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 15
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 16
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-017 b/srcpkgs/bash/files/bash50-017
deleted file mode 100644
index adfcb6a8606..00000000000
--- a/srcpkgs/bash/files/bash50-017
+++ /dev/null
@@ -1,289 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-017
-
-Bug-Reported-by:	Valentin Lab <valentin.lab@kalysto.org>
-Bug-Reference-ID:	<ab981b9c-60a5-46d0-b7e6-a6d88b80df50@kalysto.org>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2020-03/msg00062.html
-
-Bug-Description:
-
-There were cases where patch 16 reaped process substitution file descriptors
-(or FIFOs) and processes to early. This is a better fix for the problem that
-bash50-016 attempted to solve.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/subst.c	2019-08-29 11:16:49.000000000 -0400
---- subst.c	2020-04-02 16:24:19.000000000 -0400
-***************
-*** 5337,5341 ****
-  }
-  
-! char *
-  copy_fifo_list (sizep)
-       int *sizep;
---- 5337,5341 ----
-  }
-  
-! void *
-  copy_fifo_list (sizep)
-       int *sizep;
-***************
-*** 5343,5347 ****
-    if (sizep)
-      *sizep = 0;
-!   return (char *)NULL;
-  }
-  
---- 5343,5347 ----
-    if (sizep)
-      *sizep = 0;
-!   return (void *)NULL;
-  }
-  
-***************
-*** 5409,5414 ****
-  	if (fifo_list[i].file)
-  	  {
-! 	    fifo_list[j].file = fifo_list[i].file;
-! 	    fifo_list[j].proc = fifo_list[i].proc;
-  	    j++;
-  	  }
---- 5409,5419 ----
-  	if (fifo_list[i].file)
-  	  {
-! 	    if (i != j)
-! 	      {
-! 		fifo_list[j].file = fifo_list[i].file;
-! 		fifo_list[j].proc = fifo_list[i].proc;
-! 		fifo_list[i].file = (char *)NULL;
-! 		fifo_list[i].proc = 0;
-! 	      }
-  	    j++;
-  	  }
-***************
-*** 5426,5433 ****
-  void
-  close_new_fifos (list, lsize)
-!      char *list;
-       int lsize;
-  {
-    int i;
-  
-    if (list == 0)
---- 5431,5439 ----
-  void
-  close_new_fifos (list, lsize)
-!      void *list;
-       int lsize;
-  {
-    int i;
-+   char *plist;
-  
-    if (list == 0)
-***************
-*** 5437,5442 ****
-      }
-  
-!   for (i = 0; i < lsize; i++)
-!     if (list[i] == 0 && i < fifo_list_size && fifo_list[i].proc != -1)
-        unlink_fifo (i);
-  
---- 5443,5448 ----
-      }
-  
-!   for (plist = (char *)list, i = 0; i < lsize; i++)
-!     if (plist[i] == 0 && i < fifo_list_size && fifo_list[i].proc != -1)
-        unlink_fifo (i);
-  
-***************
-*** 5560,5568 ****
-  }
-  
-! char *
-  copy_fifo_list (sizep)
-       int *sizep;
-  {
-!   char *ret;
-  
-    if (nfds == 0 || totfds == 0)
---- 5566,5574 ----
-  }
-  
-! void *
-  copy_fifo_list (sizep)
-       int *sizep;
-  {
-!   void *ret;
-  
-    if (nfds == 0 || totfds == 0)
-***************
-*** 5570,5579 ****
-        if (sizep)
-  	*sizep = 0;
-!       return (char *)NULL;
-      }
-  
-    if (sizep)
-      *sizep = totfds;
-!   ret = (char *)xmalloc (totfds * sizeof (pid_t));
-    return (memcpy (ret, dev_fd_list, totfds * sizeof (pid_t)));
-  }
---- 5576,5585 ----
-        if (sizep)
-  	*sizep = 0;
-!       return (void *)NULL;
-      }
-  
-    if (sizep)
-      *sizep = totfds;
-!   ret = xmalloc (totfds * sizeof (pid_t));
-    return (memcpy (ret, dev_fd_list, totfds * sizeof (pid_t)));
-  }
-***************
-*** 5648,5655 ****
-  void
-  close_new_fifos (list, lsize)
-!      char *list;
-       int lsize;
-  {
-    int i;
-  
-    if (list == 0)
---- 5654,5662 ----
-  void
-  close_new_fifos (list, lsize)
-!      void *list;
-       int lsize;
-  {
-    int i;
-+   pid_t *plist;
-  
-    if (list == 0)
-***************
-*** 5659,5664 ****
-      }
-  
-!   for (i = 0; i < lsize; i++)
-!     if (list[i] == 0 && i < totfds && dev_fd_list[i])
-        unlink_fifo (i);
-  
---- 5666,5671 ----
-      }
-  
-!   for (plist = (pid_t *)list, i = 0; i < lsize; i++)
-!     if (plist[i] == 0 && i < totfds && dev_fd_list[i])
-        unlink_fifo (i);
-  
-*** ../bash-5.0-patched/subst.h	2018-10-21 18:46:09.000000000 -0400
---- subst.h	2020-04-02 16:29:28.000000000 -0400
-***************
-*** 274,280 ****
-  extern void unlink_fifo __P((int));
-  
-! extern char *copy_fifo_list __P((int *));
-! extern void unlink_new_fifos __P((char *, int));
-! extern void close_new_fifos __P((char *, int));
-  
-  extern void clear_fifo_list __P((void));
---- 274,279 ----
-  extern void unlink_fifo __P((int));
-  
-! extern void *copy_fifo_list __P((int *));
-! extern void close_new_fifos __P((void *, int));
-  
-  extern void clear_fifo_list __P((void));
-*** ../bash-5.0-patched/execute_cmd.c	2020-02-06 20:16:48.000000000 -0500
---- execute_cmd.c	2020-04-02 17:00:10.000000000 -0400
-***************
-*** 565,569 ****
-  #if defined (PROCESS_SUBSTITUTION)
-    volatile int ofifo, nfifo, osize, saved_fifo;
-!   volatile char *ofifo_list;
-  #endif
-  
---- 565,569 ----
-  #if defined (PROCESS_SUBSTITUTION)
-    volatile int ofifo, nfifo, osize, saved_fifo;
-!   volatile void *ofifo_list;
-  #endif
-  
-***************
-*** 751,760 ****
-  #  endif
-  
-!   if (variable_context != 0)	/* XXX - also if sourcelevel != 0? */
-      {
-        ofifo = num_fifos ();
-        ofifo_list = copy_fifo_list ((int *)&osize);
-        begin_unwind_frame ("internal_fifos");
-!       add_unwind_protect (xfree, ofifo_list);
-        saved_fifo = 1;
-      }
---- 751,762 ----
-  #  endif
-  
-!   /* XXX - also if sourcelevel != 0? */
-!   if (variable_context != 0)
-      {
-        ofifo = num_fifos ();
-        ofifo_list = copy_fifo_list ((int *)&osize);
-        begin_unwind_frame ("internal_fifos");
-!       if (ofifo_list)
-! 	add_unwind_protect (xfree, ofifo_list);
-        saved_fifo = 1;
-      }
-***************
-*** 1100,1123 ****
-        nfifo = num_fifos ();
-        if (nfifo > ofifo)
-! 	close_new_fifos ((char *)ofifo_list, osize);
-        free ((void *)ofifo_list);
-        discard_unwind_frame ("internal_fifos");
-      }
-- # if defined (HAVE_DEV_FD)
--   /* Reap process substitutions at the end of loops */
--   switch (command->type)
--     {
--     case cm_while:
--     case cm_until:
--     case cm_for:
--     case cm_group:
-- #    if defined (ARITH_FOR_COMMAND)
--     case cm_arith_for:
-- #    endif
--       reap_procsubs ();
--     default:
--       break;
--     }
-- #  endif /* HAVE_DEV_FD */
-  #endif
-  
---- 1102,1109 ----
-        nfifo = num_fifos ();
-        if (nfifo > ofifo)
-! 	close_new_fifos ((void *)ofifo_list, osize);
-        free ((void *)ofifo_list);
-        discard_unwind_frame ("internal_fifos");
-      }
-  #endif
-  
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 16
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 17
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/update-bash-patches.sh b/srcpkgs/bash/files/update-bash-patches.sh
deleted file mode 100755
index 63c5e20c233..00000000000
--- a/srcpkgs/bash/files/update-bash-patches.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-source ../template
-
-for i in $(seq -w 001 ${_bash_patchlevel}); do
-	curl https://ftp.gnu.org/gnu/bash/bash-$_bash_distver-patches/bash${_bash_distver//./}-$i \
-		> bash${_bash_distver//./}-${_bash_patchlevel}
-done
diff --git a/srcpkgs/bash/template b/srcpkgs/bash/template
index 91e2e4c1ca3..ac0c9d4409d 100644
--- a/srcpkgs/bash/template
+++ b/srcpkgs/bash/template
@@ -1,7 +1,9 @@
 # Template file for 'bash'
 pkgname=bash
-_bash_distver=5.0
-_bash_patchlevel=017
+_major=5
+_minor=0
+_bash_distver="${_major}.${_minor}"
+_bash_patchlevel=018
 version="${_bash_distver}.${_bash_patchlevel}"
 revision=1
 wrksrc="${pkgname}-${_bash_distver}"
@@ -15,9 +17,36 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.gnu.org/software/bash/bash.html"
 distfiles="${GNU_SITE}/${pkgname}/${pkgname}-${_bash_distver}.tar.gz"
-make_dirs="/etc/bash/bashrc.d 755 root root"
-checksum=b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
 
+_url="${GNU_SITE}/bash/bash-${_bash_distver}-patches"
+for _p in $(seq -w 001 ${_bash_patchlevel}); do
+	distfiles+=" ${_url}/bash${_major}${_minor}-${_p}"
+	skip_extraction+=" bash${_major}${_minor}-${_p}"
+done
+unset _url
+unset _p
+
+checksum="b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
+ f2fe9e1f0faddf14ab9bfa88d450a75e5d028fedafad23b88716bd657c737289
+ 87e87d3542e598799adb3e7e01c8165bc743e136a400ed0de015845f7ff68707
+ 4eebcdc37b13793a232c5f2f498a5fcbf7da0ecb3da2059391c096db620ec85b
+ 14447ad832add8ecfafdce5384badd933697b559c4688d6b9e3d36ff36c62f08
+ 5bf54dd9bd2c211d2bfb34a49e2c741f2ed5e338767e9ce9f4d41254bf9f8276
+ d68529a6ff201b6ff5915318ab12fc16b8a0ebb77fda3308303fcc1e13398420
+ 17b41e7ee3673d8887dd25992417a398677533ab8827938aa41fad70df19af9b
+ eec64588622a82a5029b2776e218a75a3640bef4953f09d6ee1f4199670ad7e3
+ ed3ca21767303fc3de93934aa524c2e920787c506b601cc40a4897d4b094d903
+ d6fbc325f0b5dc54ddbe8ee43020bced8bd589ddffea59d128db14b2e52a8a11
+ 2c4de332b91eaf797abbbd6c79709690b5cbd48b12e8dfe748096dbd7bf474ea
+ 2943ee19688018296f2a04dbfe30b7138b889700efa8ff1c0524af271e0ee233
+ f5d7178d8da30799e01b83a0802018d913d6aa972dd2ddad3b927f3f3eb7099a
+ 5d6eee6514ee6e22a87bba8d22be0a8621a0ae119246f1c5a9a35db1f72af589
+ a517df2dda93b26d5cbf00effefea93e3a4ccd6652f152f4109170544ebfa05e
+ ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d
+ 4cf3b9fafb8a66d411dd5fc9120032533a4012df1dc6ee024c7833373e2ddc31
+ 7c314e375a105a6642e8ed44f3808b9def89d15f7492fe2029a21ba9c0de81d3"
+
+make_dirs="/etc/bash/bashrc.d 755 root root"
 conflicts="chroot-bash>=0"
 register_shell="/usr/bin/bash /bin/bash"
 
@@ -27,13 +56,11 @@ alternatives="
 
 CFLAGS="-DSYS_BASHRC='\"/etc/bash/bashrc\"'"
 
-pre_configure() {
-	local ver=$(echo ${_bash_distver}|sed "s|\.||g")
-
+post_patch() {
 	cd ${wrksrc}
 	for p in $(seq -w 001 ${_bash_patchlevel}); do
-		patch -sNp0 -i ${FILESDIR}/bash${ver}-${p}
-		msg_normal " Applying patch bash${ver}-$p.\n"
+		msg_normal " Applying patch bash${_major}${_minor}-$p.\n"
+		patch -sNp0 -i ${XBPS_SRCDISTDIR}/bash-$version/bash${_major}${_minor}-${p}
 	done
 }
 

From 150402fbca945f88008fd90d44d4fdbda9e4e067 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 12:13:07 +0700
Subject: [PATCH 4/4] libreadline8: verify patch's checksum

---
 srcpkgs/libreadline8/template | 25 +++++++++++--------------
 1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/srcpkgs/libreadline8/template b/srcpkgs/libreadline8/template
index 6200195be9e..c351f0db6e2 100644
--- a/srcpkgs/libreadline8/template
+++ b/srcpkgs/libreadline8/template
@@ -14,22 +14,19 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://tiswww.cwru.edu/php/chet/readline/rltop.html"
 distfiles="${GNU_SITE}/readline/readline-${_dist_ver}.tar.gz"
-checksum=e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461
 
-pre_configure() {
-	local url="${GNU_SITE}/readline/readline-${_dist_ver}-patches"
+_url="${GNU_SITE}/readline/readline-${_dist_ver}-patches"
+for _p in $(seq -w 001 ${_patch_ver}); do
+	distfiles+=" ${_url}/readline${_dist_ver/./}-${_p}"
+	skip_extraction+=" readline${_dist_ver/./}-${_p}"
+done
+unset _url
+unset _p
 
-	cd ${XBPS_SRCDISTDIR}/${pkgname}-${version}
-	if [ "${_patch_ver}" -gt 000 ]; then
-		for p in $(seq -w 001 ${_patch_ver}); do
-			if [ -f readline${version/./}-${p} ]; then
-				continue
-			fi
-			local patch_url="${url}/readline${_dist_ver/./}-${p}"
-			msg_normal " Fetching ${patch_url} ...\n"
-			$XBPS_FETCH_CMD "${patch_url}"
-		done
-	fi
+checksum="e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461
+ d8e5e98933cf5756f862243c0601cb69d3667bb33f2c7b751fe4e40b2c3fd069"
+
+post_patch() {
 	cd ${wrksrc}
 	for p in $(seq -w 001 ${_patch_ver}); do
 		patch -s -Np0 -i ${XBPS_SRCDISTDIR}/${pkgname}-${version}/readline${_dist_ver/./}-${p}

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] bash: stop vendoring patch
  2020-07-25  8:35 [PR PATCH] bash: stop vendoring patch sgn
  2020-07-25  8:40 ` [PR PATCH] [Updated] " sgn
  2020-07-25 11:06 ` sgn
@ 2020-07-26  5:06 ` sgn
  2020-07-27 18:23 ` Chocimier
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: sgn @ 2020-07-26  5:06 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 416 bytes --]

There is an updated pull request by sgn against master on the void-packages repository

https://github.com/sgn/void-packages bash-no-vendor
https://github.com/void-linux/void-packages/pull/23826

bash: stop vendoring patch
- carry them along won't get us anywhere
- verify checksum for libreadline8

conflict with #23815 

A patch file from https://github.com/void-linux/void-packages/pull/23826.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-bash-no-vendor-23826.patch --]
[-- Type: text/x-diff, Size: 68032 bytes --]

From 687e5db18f7b8a41eaf20dec0762fff2da2e9444 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 10:17:01 +0700
Subject: [PATCH 1/4] gitattributes: don't show whitespace error on patches

---
 .gitattributes | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.gitattributes b/.gitattributes
index 7f24a8f81d0..8ddae6fce45 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,2 +1,4 @@
 template linguist-language=bash
 common/shlibs merge=union
+*.patch whitespace=-space-before-tab,-trailing-space
+*.diff whitespace=-space-before-tab,-trailing-space

From 6a4001615400ff30ef821e80714a5aba61a087d3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 10:28:57 +0700
Subject: [PATCH 2/4] chroot-bash: update to 5.0.018.

---
 srcpkgs/chroot-bash/template | 44 +++++++++++++++++++++++++++++-------
 1 file changed, 36 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/chroot-bash/template b/srcpkgs/chroot-bash/template
index 97b8a9be81f..5f0030479d8 100644
--- a/srcpkgs/chroot-bash/template
+++ b/srcpkgs/chroot-bash/template
@@ -1,7 +1,9 @@
 # Template file for 'chroot-bash'
 pkgname=chroot-bash
-_bash_distver=5.0
-_bash_patchlevel=016
+_major=5
+_minor=0
+_bash_distver="${_major}.${_minor}"
+_bash_patchlevel=018
 version="${_bash_distver}.${_bash_patchlevel}"
 revision=1
 wrksrc="bash-${_bash_distver}"
@@ -15,18 +17,44 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="http://www.gnu.org/software/bash/bash.html"
 distfiles="${GNU_SITE}/bash/bash-${_bash_distver}.tar.gz"
-checksum=b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
+
+_url="${GNU_SITE}/bash/bash-${_bash_distver}-patches"
+for _p in $(seq -w 001 ${_bash_patchlevel}); do
+	distfiles+=" ${_url}/bash${_major}${_minor}-${_p}"
+	skip_extraction+=" bash${_major}${_minor}-${_p}"
+done
+unset _url
+unset _p
+
+checksum="b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
+ f2fe9e1f0faddf14ab9bfa88d450a75e5d028fedafad23b88716bd657c737289
+ 87e87d3542e598799adb3e7e01c8165bc743e136a400ed0de015845f7ff68707
+ 4eebcdc37b13793a232c5f2f498a5fcbf7da0ecb3da2059391c096db620ec85b
+ 14447ad832add8ecfafdce5384badd933697b559c4688d6b9e3d36ff36c62f08
+ 5bf54dd9bd2c211d2bfb34a49e2c741f2ed5e338767e9ce9f4d41254bf9f8276
+ d68529a6ff201b6ff5915318ab12fc16b8a0ebb77fda3308303fcc1e13398420
+ 17b41e7ee3673d8887dd25992417a398677533ab8827938aa41fad70df19af9b
+ eec64588622a82a5029b2776e218a75a3640bef4953f09d6ee1f4199670ad7e3
+ ed3ca21767303fc3de93934aa524c2e920787c506b601cc40a4897d4b094d903
+ d6fbc325f0b5dc54ddbe8ee43020bced8bd589ddffea59d128db14b2e52a8a11
+ 2c4de332b91eaf797abbbd6c79709690b5cbd48b12e8dfe748096dbd7bf474ea
+ 2943ee19688018296f2a04dbfe30b7138b889700efa8ff1c0524af271e0ee233
+ f5d7178d8da30799e01b83a0802018d913d6aa972dd2ddad3b927f3f3eb7099a
+ 5d6eee6514ee6e22a87bba8d22be0a8621a0ae119246f1c5a9a35db1f72af589
+ a517df2dda93b26d5cbf00effefea93e3a4ccd6652f152f4109170544ebfa05e
+ ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d
+ 4cf3b9fafb8a66d411dd5fc9120032533a4012df1dc6ee024c7833373e2ddc31
+ 7c314e375a105a6642e8ed44f3808b9def89d15f7492fe2029a21ba9c0de81d3"
 
 bootstrap=yes
 provides="bash-${version}_${revision}"
-conflicts="bash>=0 dash>=0"
+conflicts="bash>=0 dash>=0 busybox>=0 loksh>=0 mksh>=0 oksh>=0 yash>=0"
 
-pre_configure() {
-	local ver=${_bash_distver//./} p
+post_patch() {
 	cd ${wrksrc}
 	for p in $(seq -w 001 ${_bash_patchlevel}); do
-		msg_normal " Applying patch bash${ver}-$p.\n"
-		patch -sNp0 -i ${XBPS_SRCPKGDIR}/bash/files/bash${ver}-${p}
+		msg_normal " Applying patch bash${_major}${_minor}-$p.\n"
+		patch -sNp0 -i ${XBPS_SRCDISTDIR}/chroot-bash-$version/bash${_major}${_minor}-${p}
 	done
 }
 

From 77932c319ae541394a0dde6b2b6aa7bfff06d389 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 15:28:53 +0700
Subject: [PATCH 3/4] bash: update to 5.0.018.

Close: #23815
---
 srcpkgs/bash/files/bash50-001             | 167 -------------
 srcpkgs/bash/files/bash50-002             | 113 ---------
 srcpkgs/bash/files/bash50-003             | 239 ------------------
 srcpkgs/bash/files/bash50-004             |  53 ----
 srcpkgs/bash/files/bash50-005             | 110 --------
 srcpkgs/bash/files/bash50-006             |  47 ----
 srcpkgs/bash/files/bash50-007             |  62 -----
 srcpkgs/bash/files/bash50-008             |  68 -----
 srcpkgs/bash/files/bash50-009             |  42 ----
 srcpkgs/bash/files/bash50-010             | 172 -------------
 srcpkgs/bash/files/bash50-011             |  59 -----
 srcpkgs/bash/files/bash50-012             |  64 -----
 srcpkgs/bash/files/bash50-013             |  73 ------
 srcpkgs/bash/files/bash50-014             |  52 ----
 srcpkgs/bash/files/bash50-015             |  78 ------
 srcpkgs/bash/files/bash50-016             |  58 -----
 srcpkgs/bash/files/bash50-017             | 289 ----------------------
 srcpkgs/bash/files/update-bash-patches.sh |   7 -
 srcpkgs/bash/template                     |  45 +++-
 19 files changed, 36 insertions(+), 1762 deletions(-)
 delete mode 100644 srcpkgs/bash/files/bash50-001
 delete mode 100644 srcpkgs/bash/files/bash50-002
 delete mode 100644 srcpkgs/bash/files/bash50-003
 delete mode 100644 srcpkgs/bash/files/bash50-004
 delete mode 100644 srcpkgs/bash/files/bash50-005
 delete mode 100644 srcpkgs/bash/files/bash50-006
 delete mode 100644 srcpkgs/bash/files/bash50-007
 delete mode 100644 srcpkgs/bash/files/bash50-008
 delete mode 100644 srcpkgs/bash/files/bash50-009
 delete mode 100644 srcpkgs/bash/files/bash50-010
 delete mode 100644 srcpkgs/bash/files/bash50-011
 delete mode 100644 srcpkgs/bash/files/bash50-012
 delete mode 100644 srcpkgs/bash/files/bash50-013
 delete mode 100644 srcpkgs/bash/files/bash50-014
 delete mode 100644 srcpkgs/bash/files/bash50-015
 delete mode 100644 srcpkgs/bash/files/bash50-016
 delete mode 100644 srcpkgs/bash/files/bash50-017
 delete mode 100755 srcpkgs/bash/files/update-bash-patches.sh

diff --git a/srcpkgs/bash/files/bash50-001 b/srcpkgs/bash/files/bash50-001
deleted file mode 100644
index 087bd82cf72..00000000000
--- a/srcpkgs/bash/files/bash50-001
+++ /dev/null
@@ -1,167 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-001
-
-Bug-Reported-by:	axel@freakout.de
-Bug-Reference-ID:	<201901082050.x08KoShS006731@bongo.freakout.de>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00079.html
-
-Bug-Description:
-
-Under certain circumstances, the glob expansion code did not remove
-backslashes escaping characters in directory names (or portions of a
-pattern preceding a slash).
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0/bashline.c	2018-11-27 13:20:16.000000000 -0500
---- bashline.c	2019-01-16 16:06:03.000000000 -0500
-***************
-*** 232,235 ****
---- 232,236 ----
-  static int bash_possible_command_completions __P((int, int));
-  
-+ static int completion_glob_pattern __P((char *));
-  static char *glob_complete_word __P((const char *, int));
-  static int bash_glob_completion_internal __P((int));
-***************
-*** 1742,1746 ****
-    /* This could be a globbing pattern, so try to expand it using pathname
-       expansion. */
-!   if (!matches && glob_pattern_p (text))
-      {
-        matches = rl_completion_matches (text, glob_complete_word);
---- 1743,1747 ----
-    /* This could be a globbing pattern, so try to expand it using pathname
-       expansion. */
-!   if (!matches && completion_glob_pattern ((char *)text))
-      {
-        matches = rl_completion_matches (text, glob_complete_word);
-***************
-*** 1851,1855 ****
-  	}
-  
-!       globpat = glob_pattern_p (hint_text);
-  
-        /* If this is an absolute program name, do not check it against
---- 1852,1856 ----
-  	}
-  
-!       globpat = completion_glob_pattern ((char *)hint_text);
-  
-        /* If this is an absolute program name, do not check it against
-***************
-*** 3714,3717 ****
---- 3715,3773 ----
-  }
-  
-+ static int
-+ completion_glob_pattern (string)
-+      char *string;
-+ {
-+   register int c;
-+   char *send;
-+   int open;
-+ 
-+   DECLARE_MBSTATE;
-+ 
-+   open = 0;
-+   send = string + strlen (string);
-+ 
-+   while (c = *string++)
-+     {
-+       switch (c)
-+ 	{
-+ 	case '?':
-+ 	case '*':
-+ 	  return (1);
-+ 
-+ 	case '[':
-+ 	  open++;
-+ 	  continue;
-+ 
-+ 	case ']':
-+ 	  if (open)
-+ 	    return (1);
-+ 	  continue;
-+ 
-+ 	case '+':
-+ 	case '@':
-+ 	case '!':
-+ 	  if (*string == '(')	/*)*/
-+ 	    return (1);
-+ 	  continue;
-+ 
-+ 	case '\\':
-+ 	  if (*string == 0)
-+ 	    return (0);	 	  
-+ 	}
-+ 
-+       /* Advance one fewer byte than an entire multibyte character to
-+ 	 account for the auto-increment in the loop above. */
-+ #ifdef HANDLE_MULTIBYTE
-+       string--;
-+       ADVANCE_CHAR_P (string, send - string);
-+       string++;
-+ #else
-+       ADVANCE_CHAR_P (string, send - string);
-+ #endif
-+     }
-+   return (0);
-+ }
-+ 
-  static char *globtext;
-  static char *globorig;
-***************
-*** 3878,3882 ****
-      }      
-  
-!   if (t && glob_pattern_p (t) == 0)
-      rl_explicit_arg = 1;	/* XXX - force glob_complete_word to append `*' */
-    FREE (t);
---- 3934,3938 ----
-      }      
-  
-!   if (t && completion_glob_pattern (t) == 0)
-      rl_explicit_arg = 1;	/* XXX - force glob_complete_word to append `*' */
-    FREE (t);
-*** ../bash-5.0/lib/glob/glob_loop.c	2018-12-31 13:35:15.000000000 -0500
---- lib/glob/glob_loop.c	2019-01-09 09:44:36.000000000 -0500
-***************
-*** 55,59 ****
-  
-        case L('\\'):
-- #if 0
-  	/* Don't let the pattern end in a backslash (GMATCH returns no match
-  	   if the pattern ends in a backslash anyway), but otherwise return 1,
---- 55,58 ----
-***************
-*** 61,69 ****
-  	   and it can be removed. */
-  	return (*p != L('\0'));
-- #else
-- 	/* The pattern may not end with a backslash. */
-- 	if (*p++ == L('\0'))
-- 	  return 0;
-- #endif
-        }
-  
---- 60,63 ----
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 0
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 1
-  
-  #endif /* _PATCHLEVEL_H_ */
-
diff --git a/srcpkgs/bash/files/bash50-002 b/srcpkgs/bash/files/bash50-002
deleted file mode 100644
index 3fc8272f84a..00000000000
--- a/srcpkgs/bash/files/bash50-002
+++ /dev/null
@@ -1,113 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-002
-
-Bug-Reported-by:	Ante Peric <synthmeat@gmail.com>
-Bug-Reference-ID:	<B7E3B567-2467-4F7B-B6B9-CA4E75A9C93F@gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00095.html
-
-Bug-Description:
-
-When an alias value ends with an unquoted literal tab (not part of a quoted
-string or comment), alias expansion cannot correctly detect the end of the
-alias value after expanding it.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0/parser.h	2018-12-28 19:11:18.000000000 -0500
---- parser.h	2019-01-11 15:13:03.000000000 -0500
-***************
-*** 48,51 ****
---- 48,52 ----
-  #define PST_REDIRLIST	0x080000	/* parsing a list of redirections preceding a simple command name */
-  #define PST_COMMENT	0x100000	/* parsing a shell comment; used by aliases */
-+ #define PST_ENDALIAS	0x200000	/* just finished expanding and consuming an alias */
-  
-  /* Definition of the delimiter stack.  Needed by parse.y and bashhist.c. */
-*** ../bash-5.0/parse.y	2019-01-02 13:57:34.000000000 -0500
---- parse.y	2019-01-14 08:23:31.000000000 -0500
-***************
-*** 2558,2567 ****
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-        shell_input_line_index > 0 &&
-!       shell_input_line[shell_input_line_index-1] != ' ' &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-        return ' ';	/* END_ALIAS */
-      }
---- 2558,2569 ----
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-+       (parser_state & PST_ENDALIAS) == 0 &&	/* only once */
-        shell_input_line_index > 0 &&
-!       shellblank (shell_input_line[shell_input_line_index-1]) == 0 &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-+       parser_state |= PST_ENDALIAS;
-        return ' ';	/* END_ALIAS */
-      }
-***************
-*** 2572,2575 ****
---- 2574,2578 ----
-    if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE)
-      {
-+       parser_state &= ~PST_ENDALIAS;
-        pop_string ();
-        uc = shell_input_line[shell_input_line_index];
-*** ../bash-5.0/y.tab.c	2019-01-02 13:57:43.000000000 -0500
---- y.tab.c	2019-01-14 08:39:23.000000000 -0500
-***************
-*** 4874,4883 ****
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-        shell_input_line_index > 0 &&
-!       shell_input_line[shell_input_line_index-1] != ' ' &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-        return ' ';	/* END_ALIAS */
-      }
---- 4874,4885 ----
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-+       (parser_state & PST_ENDALIAS) == 0 &&	/* only once */
-        shell_input_line_index > 0 &&
-!       shellblank (shell_input_line[shell_input_line_index-1]) == 0 &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-+       parser_state |= PST_ENDALIAS;
-        return ' ';	/* END_ALIAS */
-      }
-***************
-*** 4888,4891 ****
---- 4890,4894 ----
-    if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE)
-      {
-+       parser_state &= ~PST_ENDALIAS;
-        pop_string ();
-        uc = shell_input_line[shell_input_line_index];
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 1
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 2
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-003 b/srcpkgs/bash/files/bash50-003
deleted file mode 100644
index f7e5677e540..00000000000
--- a/srcpkgs/bash/files/bash50-003
+++ /dev/null
@@ -1,239 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-003
-
-Bug-Reported-by:	Andrew Church <achurch+bash@achurch.org>
-Bug-Reference-ID:	<5c534aa2.04371@msgid.achurch.org>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00276.html
-
-Bug-Description:
-
-There are several incompatibilities in how bash-5.0 processes pathname
-expansion (globbing) of filename arguments that have backslashes in the
-directory portion.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/glob/glob_loop.c	2019-01-16 16:13:21.000000000 -0500
---- lib/glob/glob_loop.c	2019-02-01 09:45:11.000000000 -0500
-***************
-*** 27,34 ****
-    register const GCHAR *p;
-    register GCHAR c;
-!   int bopen;
-  
-    p = pattern;
-!   bopen = 0;
-  
-    while ((c = *p++) != L('\0'))
---- 27,34 ----
-    register const GCHAR *p;
-    register GCHAR c;
-!   int bopen, bsquote;
-  
-    p = pattern;
-!   bopen = bsquote = 0;
-  
-    while ((c = *p++) != L('\0'))
-***************
-*** 56,66 ****
-        case L('\\'):
-  	/* Don't let the pattern end in a backslash (GMATCH returns no match
-! 	   if the pattern ends in a backslash anyway), but otherwise return 1,
-! 	   since the matching engine uses backslash as an escape character
-! 	   and it can be removed. */
-! 	return (*p != L('\0'));
-        }
-  
-!   return 0;
-  }
-  
---- 56,75 ----
-        case L('\\'):
-  	/* Don't let the pattern end in a backslash (GMATCH returns no match
-! 	   if the pattern ends in a backslash anyway), but otherwise note that 
-! 	   we have seen this, since the matching engine uses backslash as an
-! 	   escape character and it can be removed. We return 2 later if we
-! 	   have seen only backslash-escaped characters, so interested callers
-! 	   know they can shortcut and just dequote the pathname. */
-! 	if (*p != L('\0'))
-! 	  {
-! 	    p++;
-! 	    bsquote = 1;
-! 	    continue;
-! 	  }
-! 	else 	/* (*p == L('\0')) */
-! 	  return 0;
-        }
-  
-!   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-03-07 14:23:43.000000000 -0500
-***************
-*** 1062,1066 ****
-    unsigned int directory_len;
-    int free_dirname;			/* flag */
-!   int dflags;
-  
-    result = (char **) malloc (sizeof (char *));
---- 1078,1082 ----
-    unsigned int directory_len;
-    int free_dirname;			/* flag */
-!   int dflags, hasglob;
-  
-    result = (char **) malloc (sizeof (char *));
-***************
-*** 1111,1117 ****
-      }
-  
-    /* If directory_name contains globbing characters, then we
-!      have to expand the previous levels.  Just recurse. */
-!   if (directory_len > 0 && glob_pattern_p (directory_name))
-      {
-        char **directories, *d, *p;
---- 1127,1136 ----
-      }
-  
-+   hasglob = 0;
-    /* If directory_name contains globbing characters, then we
-!      have to expand the previous levels.  Just recurse.
-!      If glob_pattern_p returns != [0,1] we have a pattern that has backslash
-!      quotes but no unquoted glob pattern characters. We dequote it below. */
-!   if (directory_len > 0 && (hasglob = glob_pattern_p (directory_name)) == 1)
-      {
-        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,1369 ----
-  	  return (NULL);
-  	}
-+       /* 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
---- pathexp.c	2019-01-31 20:19:41.000000000 -0500
-***************
-*** 66,74 ****
-    register int c;
-    char *send;
-!   int open;
-  
-    DECLARE_MBSTATE;
-  
-!   open = 0;
-    send = string + strlen (string);
-  
---- 66,74 ----
-    register int c;
-    char *send;
-!   int open, bsquote;
-  
-    DECLARE_MBSTATE;
-  
-!   open = bsquote = 0;
-    send = string + strlen (string);
-  
-***************
-*** 101,105 ****
-  	   globbing. */
-  	case '\\':
-! 	  return (*string != 0);
-  	 	  
-  	case CTLESC:
---- 101,112 ----
-  	   globbing. */
-  	case '\\':
-! 	  if (*string != '\0' && *string != '/')
-! 	    {
-! 	      bsquote = 1;
-! 	      string++;
-! 	      continue;
-! 	    }
-! 	  else if (*string == 0)
-! 	    return (0);
-  	 	  
-  	case CTLESC:
-***************
-*** 118,122 ****
-  #endif
-      }
-!   return (0);
-  }
-  
---- 125,130 ----
-  #endif
-      }
-! 
-!   return (bsquote ? 2 : 0);
-  }
-  
-*** ../bash-5.0-patched/bashline.c	2019-01-16 16:13:21.000000000 -0500
---- bashline.c	2019-02-22 09:29:08.000000000 -0500
-***************
-*** 3753,3757 ****
-  
-  	case '\\':
-! 	  if (*string == 0)
-  	    return (0);	 	  
-  	}
---- 3766,3770 ----
-  
-  	case '\\':
-! 	  if (*string++ == 0)
-  	    return (0);	 	  
-  	}
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 2
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 3
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-004 b/srcpkgs/bash/files/bash50-004
deleted file mode 100644
index fe3c764bd6c..00000000000
--- a/srcpkgs/bash/files/bash50-004
+++ /dev/null
@@ -1,53 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-004
-
-Bug-Reported-by:	Daniel Kahn Gillmor <dkg@fifthhorseman.net>
-Bug-Reference-ID:	<87lg0g8aiw.fsf@fifthhorseman.net>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-04/msg00076.html
-
-Bug-Description:
-
-In bash-5.0, the `wait' builtin without arguments waits for all children of the
-shell. This includes children it `inherited' at shell invocation time. This
-patch modifies the behavior to not wait for these inherited children, some
-of which might be long-lived.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/jobs.c	2018-12-06 11:44:34.000000000 -0500
---- jobs.c	2019-04-12 15:15:10.000000000 -0400
-***************
-*** 2489,2496 ****
-    wait_procsubs ();
-    reap_procsubs ();
-! #if 1
-    /* We don't want to wait indefinitely if we have stopped children. */
--   /* XXX - should add a loop that goes through the list of process
--      substitutions and waits for each proc in turn before this code. */
-    if (any_stopped == 0)
-      {
---- 2490,2495 ----
-    wait_procsubs ();
-    reap_procsubs ();
-! #if 0
-    /* We don't want to wait indefinitely if we have stopped children. */
-    if (any_stopped == 0)
-      {
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 3
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 4
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-005 b/srcpkgs/bash/files/bash50-005
deleted file mode 100644
index 9b1cd75b0b6..00000000000
--- a/srcpkgs/bash/files/bash50-005
+++ /dev/null
@@ -1,110 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-005
-
-Bug-Reported-by:	Brad Spencer <bspencer@blackberry.com>
-Bug-Reference-ID:	<1b993ff2-ce4f-662a-6be4-393457362e47@blackberry.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00250.html
-
-Bug-Description:
-
-In certain cases, bash optimizes out a fork() call too early and prevents
-traps from running.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/command.h	2018-07-20 21:16:31.000000000 -0400
---- command.h	2019-02-20 11:09:36.000000000 -0500
-***************
-*** 187,190 ****
---- 188,192 ----
-  #define CMD_LASTPIPE	    0x2000
-  #define CMD_STDPATH	    0x4000	/* use standard path for command lookup */
-+ #define CMD_TRY_OPTIMIZING  0x8000	/* try to optimize this simple command */
-  
-  /* What a command looks like. */
-*** ../bash-5.0-patched/builtins/evalstring.c	2018-12-26 11:19:21.000000000 -0500
---- builtins/evalstring.c	2019-01-29 14:15:19.000000000 -0500
-***************
-*** 101,104 ****
---- 101,113 ----
-  }
-  
-+ int
-+ can_optimize_connection (command)
-+      COMMAND *command;
-+ {
-+   return (*bash_input.location.string == '\0' &&
-+ 	  (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-+ 	  command->value.Connection->second->type == cm_simple);
-+ }
-+ 
-  void
-  optimize_fork (command)
-***************
-*** 106,110 ****
-  {
-    if (command->type == cm_connection &&
-!       (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR) &&
-        should_suppress_fork (command->value.Connection->second))
-      {
---- 115,120 ----
-  {
-    if (command->type == cm_connection &&
-!       (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-!       (command->value.Connection->second->flags & CMD_TRY_OPTIMIZING) &&
-        should_suppress_fork (command->value.Connection->second))
-      {
-***************
-*** 413,418 ****
-  		  command->value.Simple->flags |= CMD_NO_FORK;
-  		}
-! 	      else if (command->type == cm_connection)
-! 		optimize_fork (command);
-  #endif /* ONESHOT */
-  
---- 423,438 ----
-  		  command->value.Simple->flags |= CMD_NO_FORK;
-  		}
-! 
-! 	      /* Can't optimize forks out here execept for simple commands.
-! 		 This knows that the parser sets up commands as left-side heavy
-! 		 (&& and || are left-associative) and after the single parse,
-! 		 if we are at the end of the command string, the last in a
-! 		 series of connection commands is
-! 		 command->value.Connection->second. */
-! 	      else if (command->type == cm_connection && can_optimize_connection (command))
-! 		{
-! 		  command->value.Connection->second->flags |= CMD_TRY_OPTIMIZING;
-! 		  command->value.Connection->second->value.Simple->flags |= CMD_TRY_OPTIMIZING;
-! 		}
-  #endif /* ONESHOT */
-  
-*** ../bash-5.0-patched/execute_cmd.c	2018-12-05 09:05:14.000000000 -0500
---- execute_cmd.c	2019-01-25 15:59:00.000000000 -0500
-***************
-*** 2768,2771 ****
---- 2768,2773 ----
-  	   (exec_result != EXECUTION_SUCCESS)))
-  	{
-+ 	  optimize_fork (command);
-+ 
-  	  second = command->value.Connection->second;
-  	  if (ignore_return && second)
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 4
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 5
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-006 b/srcpkgs/bash/files/bash50-006
deleted file mode 100644
index 2ad1cd20090..00000000000
--- a/srcpkgs/bash/files/bash50-006
+++ /dev/null
@@ -1,47 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-006
-
-Bug-Reported-by:	Tomas Mozes <hydrapolic@gmail.com>
-Bug-Reference-ID:	<CAG6MAzQumLU2vhnmr1UrYAUQAFW5Yo8hfM_sEibX9RJQWJkRrA@mail.gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-03/msg00037.html
-
-Bug-Description:
-
-Bash-5.0 did not build successfully if SYSLOG_HISTORY was defined without
-also defining SYSLOG_SHOPT.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/builtins/shopt.def	2018-10-05 14:49:02.000000000 -0400
---- builtins/shopt.def	2019-01-23 09:55:22.000000000 -0500
-***************
-*** 123,127 ****
-  #endif
-  
-! #if defined (SYSLOG_HISTORY) && defined (SYSLOG_SHOPT)
-  extern int syslog_history;
-  #endif
---- 123,127 ----
-  #endif
-  
-! #if defined (SYSLOG_HISTORY)
-  extern int syslog_history;
-  #endif
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 5
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 6
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-007 b/srcpkgs/bash/files/bash50-007
deleted file mode 100644
index b9eb4150a2b..00000000000
--- a/srcpkgs/bash/files/bash50-007
+++ /dev/null
@@ -1,62 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-007
-
-Bug-Reported-by:	Grisha Levit <grishalevit@gmail.com>
-Bug-Reference-ID:	<CAMu=BroHapG1AS3xB5SQaCX2XKu=-E2Ob9uW6LNuHvd=YohrDw@mail.gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-02/msg00067.html
-
-Bug-Description:
-
-Running `exec' when job control was disabled, even temporarily, but after it
-had been initialized, could leave the terminal in the wrong process group for
-the executed process.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/jobs.c	2018-12-06 11:44:34.000000000 -0500
---- jobs.c	2019-04-12 15:15:10.000000000 -0400
-***************
-*** 4838,4850 ****
-  {
-    if (job_control)
-!     {
-!       terminate_stopped_jobs ();
-  
-!       if (original_pgrp >= 0)
-! 	give_terminal_to (original_pgrp, 1);
-!     }
-  
-!   if (original_pgrp >= 0)
-!     setpgid (0, original_pgrp);
-  }
-  
---- 4838,4848 ----
-  {
-    if (job_control)
-!     terminate_stopped_jobs ();
-  
-!   if (original_pgrp >= 0 && terminal_pgrp != original_pgrp)
-!     give_terminal_to (original_pgrp, 1);
-  
-!   if (original_pgrp >= 0 && setpgid (0, original_pgrp) == 0)
-!     shell_pgrp = original_pgrp;
-  }
-  
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 6
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 7
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-008 b/srcpkgs/bash/files/bash50-008
deleted file mode 100644
index b09d6b33ac7..00000000000
--- a/srcpkgs/bash/files/bash50-008
+++ /dev/null
@@ -1,68 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-008
-
-Bug-Reported-by:	Michael Albinus <michael.albinus@gmx.de>
-Bug-Reference-ID:	<87bm36k3kz.fsf@gmx.de>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-02/msg00111.html
-
-Bug-Description:
-
-When HISTSIZE is set to 0, history expansion can leave the history length
-set to an incorrect value, leading to subsequent attempts to access invalid
-memory.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/bashhist.c	2018-07-05 22:41:14.000000000 -0400
---- bashhist.c	2019-02-20 16:20:04.000000000 -0500
-***************
-*** 561,573 ****
-    if (!history_expansion_inhibited && history_expansion && history_expansion_p (line))
-      {
-        /* If we are expanding the second or later line of a multi-line
-  	 command, decrease history_length so references to history expansions
-  	 in these lines refer to the previous history entry and not the
-  	 current command. */
-        if (history_length > 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-          history_length--;
-        expanded = history_expand (line, &history_value);
-        if (history_length >= 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-!         history_length++;
-  
-        if (expanded)
---- 561,576 ----
-    if (!history_expansion_inhibited && history_expansion && history_expansion_p (line))
-      {
-+       int old_len;
-+ 
-        /* If we are expanding the second or later line of a multi-line
-  	 command, decrease history_length so references to history expansions
-  	 in these lines refer to the previous history entry and not the
-  	 current command. */
-+       old_len = history_length;
-        if (history_length > 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-          history_length--;
-        expanded = history_expand (line, &history_value);
-        if (history_length >= 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-!         history_length = old_len;
-  
-        if (expanded)
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 7
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 8
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-009 b/srcpkgs/bash/files/bash50-009
deleted file mode 100644
index aef4ce7b5ad..00000000000
--- a/srcpkgs/bash/files/bash50-009
+++ /dev/null
@@ -1,42 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-009
-
-Bug-Reported-by:	chet.ramey@case.edu
-Bug-Reference-ID:
-Bug-Reference-URL:
-
-Bug-Description:
-
-The history file reading code doesn't close the file descriptor open to
-the history file when it encounters a zero-length file.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/readline/histfile.c	2018-06-11 09:14:52.000000000 -0400
---- lib/readline/histfile.c	2019-05-16 15:55:57.000000000 -0400
-***************
-*** 306,309 ****
---- 312,316 ----
-      {
-        free (input);
-+       close (file);
-        return 0;	/* don't waste time if we don't have to */
-      }
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 8
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 9
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-010 b/srcpkgs/bash/files/bash50-010
deleted file mode 100644
index bac7aa92515..00000000000
--- a/srcpkgs/bash/files/bash50-010
+++ /dev/null
@@ -1,172 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-010
-
-Bug-Reported-by:	Thorsten Glaser <tg@mirbsd.de>
-Bug-Reference-ID:	<156622962831.19438.16374961114836556294.reportbug@tglase.lan.tarent.de>
-Bug-Reference-URL:	https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=935115
-
-Bug-Description:
-
-Bash-5.0 changed the way assignment statements preceding special builtins
-and shell functions were handled in posix mode. They automatically created
-or modified global variables instead of modifying existing local variables
-as in bash-4.4.
-
-The bash-4.4 posix-mode semantics were buggy, and resulted in creating
-local variables where they were not intended and modifying global variables
-and local variables simultaneously.
-
-The bash-5.0 changes were intended to fix this issue, but did not preserve
-enough backwards compatibility. The posix standard also changed what it
-required in these cases, so bash-5.0 is not bound by the strict conformance
-requirements that existed in previous issues of the standard.
-
-This patch modifies the bash-5.0 posix mode behavior in an effort to restore
-some backwards compatibility and rationalize the behavior in the presence of
-local variables. It
-
-1. Changes the assignment semantics to be more similar to standalone assignment
-   statements: assignments preceding a function call or special builtin while
-   executing in a shell function will modify the value of a local variable
-   with the same name for the duration of the function's execution;
-
-2. Changes assignments preceding shell function calls or special builtins
-   from within a shell function to no longer create or modify global variables
-   in the presence of a local variable with the same name;
-
-3. Assignment statements preceding a shell function call or special builtin
-   at the global scope continue to modify the (global) calling environment,
-   but are unaffected by assignments preceding function calls or special
-   builtins within a function, as described in item 2. This is also similar
-   to the behavior of a standalone assignment statement.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/variables.c	2018-12-18 11:07:21.000000000 -0500
---- variables.c	2019-08-22 10:53:44.000000000 -0400
-***************
-*** 4461,4467 ****
-  
-  /* Take a variable from an assignment statement preceding a posix special
-!    builtin (including `return') and create a global variable from it. This
-!    is called from merge_temporary_env, which is only called when in posix
-!    mode. */
-  static void
-  push_posix_temp_var (data)
---- 4461,4467 ----
-  
-  /* Take a variable from an assignment statement preceding a posix special
-!    builtin (including `return') and create a variable from it as if a
-!    standalone assignment statement had been performed. This is called from
-!    merge_temporary_env, which is only called when in posix mode. */
-  static void
-  push_posix_temp_var (data)
-***************
-*** 4473,4486 ****
-    var = (SHELL_VAR *)data;
-  
-!   binding_table = global_variables->table;
-!   if (binding_table == 0)
-!     binding_table = global_variables->table = hash_create (VARIABLES_HASH_BUCKETS);
-! 
-!   v = bind_variable_internal (var->name, value_cell (var), binding_table, 0, ASS_FORCE|ASS_NOLONGJMP);
-  
-    /* global variables are no longer temporary and don't need propagating. */
-!   var->attributes &= ~(att_tempvar|att_propagate);
-    if (v)
-!     v->attributes |= var->attributes;
-  
-    if (find_special_var (var->name) >= 0)
---- 4473,4497 ----
-    var = (SHELL_VAR *)data;
-  
-!   /* Just like do_assignment_internal(). This makes assignments preceding
-!      special builtins act like standalone assignment statements when in
-!      posix mode, satisfying the posix requirement that this affect the
-!      "current execution environment." */
-!   v = bind_variable (var->name, value_cell (var), ASS_FORCE|ASS_NOLONGJMP);
-! 
-!   /* If this modifies an existing local variable, v->context will be non-zero.
-!      If it comes back with v->context == 0, we bound at the global context.
-!      Set binding_table appropriately. It doesn't matter whether it's correct
-!      if the variable is local, only that it's not global_variables->table */
-!   binding_table = v->context ? shell_variables->table : global_variables->table;
-  
-    /* global variables are no longer temporary and don't need propagating. */
-!   if (binding_table == global_variables->table)
-!     var->attributes &= ~(att_tempvar|att_propagate);
-! 
-    if (v)
-!     {
-!       v->attributes |= var->attributes;
-!       v->attributes &= ~att_tempvar;	/* not a temp var now */
-!     }
-  
-    if (find_special_var (var->name) >= 0)
-***************
-*** 4576,4587 ****
-  {
-    int i;
-  
-    tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1);
-    tempvar_list[tvlist_ind = 0] = 0;
-!     
-!   hash_flush (temporary_env, pushf);
-!   hash_dispose (temporary_env);
-    temporary_env = (HASH_TABLE *)NULL;
-  
-    tempvar_list[tvlist_ind] = 0;
-  
---- 4587,4601 ----
-  {
-    int i;
-+   HASH_TABLE *disposer;
-  
-    tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1);
-    tempvar_list[tvlist_ind = 0] = 0;
-! 
-!   disposer = temporary_env;
-    temporary_env = (HASH_TABLE *)NULL;
-  
-+   hash_flush (disposer, pushf);
-+   hash_dispose (disposer);
-+ 
-    tempvar_list[tvlist_ind] = 0;
-  
-*** ../bash-5.0-patched/tests/varenv.right	2018-12-17 15:39:48.000000000 -0500
---- tests/varenv.right	2019-08-22 16:05:25.000000000 -0400
-***************
-*** 147,153 ****
-  outside: declare -- var="one"
-  inside: declare -x var="value"
-! outside: declare -x var="value"
-! inside: declare -- var="local"
-! outside: declare -x var="global"
-  foo=<unset> environment foo=
-  foo=foo environment foo=foo
---- 147,153 ----
-  outside: declare -- var="one"
-  inside: declare -x var="value"
-! outside: declare -- var="outside"
-! inside: declare -x var="global"
-! outside: declare -- var="outside"
-  foo=<unset> environment foo=
-  foo=foo environment foo=foo
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 9
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 10
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-011 b/srcpkgs/bash/files/bash50-011
deleted file mode 100644
index a9ae690e004..00000000000
--- a/srcpkgs/bash/files/bash50-011
+++ /dev/null
@@ -1,59 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-011
-
-Bug-Reported-by:	Matt Whitlock
-Bug-Reference-ID:	
-Bug-Reference-URL:	https://savannah.gnu.org/support/?109671
-
-Bug-Description:
-
-The conditional command did not perform appropriate quoted null character
-removal on its arguments, causing syntax errors and attempts to stat
-invalid pathnames.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/subst.c	2018-12-22 17:43:37.000000000 -0500
---- subst.c	2019-04-14 13:25:41.000000000 -0400
-***************
-*** 3626,3630 ****
-     SPECIAL is 2, this is an rhs argument for the =~ operator, and should
-     be quoted appropriately for regcomp/regexec.  The caller is responsible
-!    for removing the backslashes if the unquoted word is needed later. */   
-  char *
-  cond_expand_word (w, special)
---- 3642,3648 ----
-     SPECIAL is 2, this is an rhs argument for the =~ operator, and should
-     be quoted appropriately for regcomp/regexec.  The caller is responsible
-!    for removing the backslashes if the unquoted word is needed later. In
-!    any case, since we don't perform word splitting, we need to do quoted
-!    null character removal. */
-  char *
-  cond_expand_word (w, special)
-***************
-*** 3647,3650 ****
---- 3665,3670 ----
-        if (special == 0)			/* LHS */
-  	{
-+ 	  if (l->word)
-+ 	    word_list_remove_quoted_nulls (l);
-  	  dequote_list (l);
-  	  r = string_list (l);
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 10
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 11
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-012 b/srcpkgs/bash/files/bash50-012
deleted file mode 100644
index 7470e766550..00000000000
--- a/srcpkgs/bash/files/bash50-012
+++ /dev/null
@@ -1,64 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-012
-
-Bug-Reported-by:	lessbug@qq.com
-Bug-Reference-ID:	<tencent_6AA531D9A5CC4121D86BD5CDA2E0DA98C605@qq.com>
-Bug-Reference-URL:
-
-Bug-Description:
-
-When using previous-history to go back beyond the beginning of the history list,
-it's possible to move to an incorrect partial line.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/readline/misc.c	2017-07-07 17:30:12.000000000 -0400
---- lib/readline/misc.c	2019-05-16 11:43:46.000000000 -0400
-***************
-*** 577,580 ****
---- 590,594 ----
-  {
-    HIST_ENTRY *old_temp, *temp;
-+   int had_saved_line;
-  
-    if (count < 0)
-***************
-*** 589,592 ****
---- 603,607 ----
-  
-    /* If we don't have a line saved, then save this one. */
-+   had_saved_line = _rl_saved_line_for_history != 0;
-    rl_maybe_save_line ();
-  
-***************
-*** 612,616 ****
-    if (temp == 0)
-      {
-!       rl_maybe_unsave_line ();
-        rl_ding ();
-      }
---- 627,632 ----
-    if (temp == 0)
-      {
-!       if (had_saved_line == 0)
-!         _rl_free_saved_history_line ();
-        rl_ding ();
-      }
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 11
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 12
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-013 b/srcpkgs/bash/files/bash50-013
deleted file mode 100644
index e44fdb5053b..00000000000
--- a/srcpkgs/bash/files/bash50-013
+++ /dev/null
@@ -1,73 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-013
-
-Bug-Reported-by:	HIROSE Masaaki <hirose31@gmail.com>
-Bug-Reference-ID:	<CAGSOfA-RqiTe=+GsXsDKyZrrMWH4bDbXgMVVegMa6OjqC5xbnQ@mail.gmail.com>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00038.html
-
-Bug-Description:
-
-Reading history entries with timestamps can result in history entries joined
-by linefeeds.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/readline/histfile.c	2018-06-11 09:14:52.000000000 -0400
---- lib/readline/histfile.c	2019-05-16 15:55:57.000000000 -0400
-***************
-*** 370,376 ****
-  
-    has_timestamps = HIST_TIMESTAMP_START (buffer);
-!   history_multiline_entries += has_timestamps && history_write_timestamps;  
-  
-    /* Skip lines until we are at FROM. */
-    for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
-      if (*line_end == '\n')
---- 370,378 ----
-  
-    has_timestamps = HIST_TIMESTAMP_START (buffer);
-!   history_multiline_entries += has_timestamps && history_write_timestamps;
-  
-    /* Skip lines until we are at FROM. */
-+   if (has_timestamps)
-+     last_ts = buffer;
-    for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
-      if (*line_end == '\n')
-***************
-*** 381,385 ****
---- 383,398 ----
-  	if (HIST_TIMESTAMP_START(p) == 0)
-  	  current_line++;
-+ 	else
-+ 	  last_ts = p;
-  	line_start = p;
-+ 	/* If we are at the last line (current_line == from) but we have
-+ 	   timestamps (has_timestamps), then line_start points to the
-+ 	   text of the last command, and we need to skip to its end. */
-+ 	if (current_line >= from && has_timestamps)
-+ 	  {
-+ 	    for (line_end = p; line_end < bufend && *line_end != '\n'; line_end++)
-+ 	      ;
-+ 	    line_start = (*line_end == '\n') ? line_end + 1 : line_end;
-+ 	  }
-        }
-  
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 12
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 13
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-014 b/srcpkgs/bash/files/bash50-014
deleted file mode 100644
index 6cb49aae725..00000000000
--- a/srcpkgs/bash/files/bash50-014
+++ /dev/null
@@ -1,52 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-014
-
-Bug-Reported-by:	Johannes Hielscher <jhielscher@posteo.de>
-Bug-Reference-ID:	<20190208205048.77c25a83@hordevm>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-02/msg00032.html
-
-Bug-Description:
-
-If the current line is empty, using the emacs C-xC-e binding to enter the
-editor will edit the previous command instead of the current (empty) one.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/bashline.c	2019-01-16 16:13:21.000000000 -0500
---- bashline.c	2019-02-11 11:18:57.000000000 -0500
-***************
-*** 962,970 ****
-  	 finished with the command, so we should not ignore the last command */
-        using_history ();
-!       if (rl_line_buffer[0])
-! 	{
-! 	  current_command_line_count++;	/* for rl_newline above */
-! 	  bash_add_history (rl_line_buffer);
-! 	}
-        current_command_line_count = 0;	/* for dummy history entry */
-        bash_add_history ("");
---- 965,970 ----
-  	 finished with the command, so we should not ignore the last command */
-        using_history ();
-!       current_command_line_count++;	/* for rl_newline above */
-!       bash_add_history (rl_line_buffer);
-        current_command_line_count = 0;	/* for dummy history entry */
-        bash_add_history ("");
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 13
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 14
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-015 b/srcpkgs/bash/files/bash50-015
deleted file mode 100644
index ff6e5e69d6e..00000000000
--- a/srcpkgs/bash/files/bash50-015
+++ /dev/null
@@ -1,78 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-015
-
-Bug-Reported-by:	Yu Kou <ckyoog@gmail.com>
-Bug-Reference-ID:	<CAAqoF9Ko3nAShJXGzucafs-ByUagzZ4nbQonwEkwC7s9UqfWKw@mail.gmail.com>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00032.html
-
-Bug-Description:
-
-If alias expansion is enabled when processing the command argument to the
-`-c' option, an alias is defined in that command, and the command ends with
-the invocation of that alias, the shell's command parser can prematurely
-terminate before the entire command is executed.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-20190426/builtins/evalstring.c	2019-01-29 14:15:19.000000000 -0500
---- builtins/evalstring.c	2019-05-15 14:19:36.000000000 -0400
-***************
-*** 92,95 ****
---- 92,96 ----
-  	  running_trap == 0 &&
-  	  *bash_input.location.string == '\0' &&
-+ 	  parser_expanding_alias () == 0 &&
-  	  command->type == cm_simple &&
-  	  signal_is_trapped (EXIT_TRAP) == 0 &&
-***************
-*** 106,109 ****
---- 107,111 ----
-  {
-    return (*bash_input.location.string == '\0' &&
-+ 	  parser_expanding_alias () == 0 &&
-  	  (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-  	  command->value.Connection->second->type == cm_simple);
-***************
-*** 291,295 ****
-    with_input_from_string (string, from_file);
-    clear_shell_input_line ();
-!   while (*(bash_input.location.string))
-      {
-        command = (COMMAND *)NULL;
---- 293,297 ----
-    with_input_from_string (string, from_file);
-    clear_shell_input_line ();
-!   while (*(bash_input.location.string) || parser_expanding_alias ())
-      {
-        command = (COMMAND *)NULL;
-***************
-*** 546,550 ****
-  
-    with_input_from_string (string, from_file);
-!   while (*(bash_input.location.string))
-      {
-        command = (COMMAND *)NULL;
---- 548,552 ----
-  
-    with_input_from_string (string, from_file);
-!   while (*(bash_input.location.string))		/* XXX - parser_expanding_alias () ? */
-      {
-        command = (COMMAND *)NULL;
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 14
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 15
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-016 b/srcpkgs/bash/files/bash50-016
deleted file mode 100644
index 87f232d7ad4..00000000000
--- a/srcpkgs/bash/files/bash50-016
+++ /dev/null
@@ -1,58 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-016
-
-Bug-Reported-by:	sunnycemetery@gmail.com
-Bug-Reference-ID:	<20190316041534.GB22884@midnight>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-03/msg00070.html
-
-Bug-Description:
-
-Bash waits too long to reap /dev/fd process substitutions used as redirections
-with loops and group commands, which can lead to file descriptor exhaustion.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/execute_cmd.c	2019-04-19 15:46:36.000000000 -0400
---- execute_cmd.c	2019-07-01 16:45:49.000000000 -0400
-***************
-*** 1104,1107 ****
---- 1085,1104 ----
-        discard_unwind_frame ("internal_fifos");
-      }
-+ # if defined (HAVE_DEV_FD)
-+   /* Reap process substitutions at the end of loops */
-+   switch (command->type)
-+     {
-+     case cm_while:
-+     case cm_until:
-+     case cm_for:
-+     case cm_group:
-+ #    if defined (ARITH_FOR_COMMAND)
-+     case cm_arith_for:
-+ #    endif
-+       reap_procsubs ();
-+     default:
-+       break;
-+     }
-+ #  endif /* HAVE_DEV_FD */
-  #endif
-  
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 15
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 16
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-017 b/srcpkgs/bash/files/bash50-017
deleted file mode 100644
index adfcb6a8606..00000000000
--- a/srcpkgs/bash/files/bash50-017
+++ /dev/null
@@ -1,289 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-017
-
-Bug-Reported-by:	Valentin Lab <valentin.lab@kalysto.org>
-Bug-Reference-ID:	<ab981b9c-60a5-46d0-b7e6-a6d88b80df50@kalysto.org>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2020-03/msg00062.html
-
-Bug-Description:
-
-There were cases where patch 16 reaped process substitution file descriptors
-(or FIFOs) and processes to early. This is a better fix for the problem that
-bash50-016 attempted to solve.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/subst.c	2019-08-29 11:16:49.000000000 -0400
---- subst.c	2020-04-02 16:24:19.000000000 -0400
-***************
-*** 5337,5341 ****
-  }
-  
-! char *
-  copy_fifo_list (sizep)
-       int *sizep;
---- 5337,5341 ----
-  }
-  
-! void *
-  copy_fifo_list (sizep)
-       int *sizep;
-***************
-*** 5343,5347 ****
-    if (sizep)
-      *sizep = 0;
-!   return (char *)NULL;
-  }
-  
---- 5343,5347 ----
-    if (sizep)
-      *sizep = 0;
-!   return (void *)NULL;
-  }
-  
-***************
-*** 5409,5414 ****
-  	if (fifo_list[i].file)
-  	  {
-! 	    fifo_list[j].file = fifo_list[i].file;
-! 	    fifo_list[j].proc = fifo_list[i].proc;
-  	    j++;
-  	  }
---- 5409,5419 ----
-  	if (fifo_list[i].file)
-  	  {
-! 	    if (i != j)
-! 	      {
-! 		fifo_list[j].file = fifo_list[i].file;
-! 		fifo_list[j].proc = fifo_list[i].proc;
-! 		fifo_list[i].file = (char *)NULL;
-! 		fifo_list[i].proc = 0;
-! 	      }
-  	    j++;
-  	  }
-***************
-*** 5426,5433 ****
-  void
-  close_new_fifos (list, lsize)
-!      char *list;
-       int lsize;
-  {
-    int i;
-  
-    if (list == 0)
---- 5431,5439 ----
-  void
-  close_new_fifos (list, lsize)
-!      void *list;
-       int lsize;
-  {
-    int i;
-+   char *plist;
-  
-    if (list == 0)
-***************
-*** 5437,5442 ****
-      }
-  
-!   for (i = 0; i < lsize; i++)
-!     if (list[i] == 0 && i < fifo_list_size && fifo_list[i].proc != -1)
-        unlink_fifo (i);
-  
---- 5443,5448 ----
-      }
-  
-!   for (plist = (char *)list, i = 0; i < lsize; i++)
-!     if (plist[i] == 0 && i < fifo_list_size && fifo_list[i].proc != -1)
-        unlink_fifo (i);
-  
-***************
-*** 5560,5568 ****
-  }
-  
-! char *
-  copy_fifo_list (sizep)
-       int *sizep;
-  {
-!   char *ret;
-  
-    if (nfds == 0 || totfds == 0)
---- 5566,5574 ----
-  }
-  
-! void *
-  copy_fifo_list (sizep)
-       int *sizep;
-  {
-!   void *ret;
-  
-    if (nfds == 0 || totfds == 0)
-***************
-*** 5570,5579 ****
-        if (sizep)
-  	*sizep = 0;
-!       return (char *)NULL;
-      }
-  
-    if (sizep)
-      *sizep = totfds;
-!   ret = (char *)xmalloc (totfds * sizeof (pid_t));
-    return (memcpy (ret, dev_fd_list, totfds * sizeof (pid_t)));
-  }
---- 5576,5585 ----
-        if (sizep)
-  	*sizep = 0;
-!       return (void *)NULL;
-      }
-  
-    if (sizep)
-      *sizep = totfds;
-!   ret = xmalloc (totfds * sizeof (pid_t));
-    return (memcpy (ret, dev_fd_list, totfds * sizeof (pid_t)));
-  }
-***************
-*** 5648,5655 ****
-  void
-  close_new_fifos (list, lsize)
-!      char *list;
-       int lsize;
-  {
-    int i;
-  
-    if (list == 0)
---- 5654,5662 ----
-  void
-  close_new_fifos (list, lsize)
-!      void *list;
-       int lsize;
-  {
-    int i;
-+   pid_t *plist;
-  
-    if (list == 0)
-***************
-*** 5659,5664 ****
-      }
-  
-!   for (i = 0; i < lsize; i++)
-!     if (list[i] == 0 && i < totfds && dev_fd_list[i])
-        unlink_fifo (i);
-  
---- 5666,5671 ----
-      }
-  
-!   for (plist = (pid_t *)list, i = 0; i < lsize; i++)
-!     if (plist[i] == 0 && i < totfds && dev_fd_list[i])
-        unlink_fifo (i);
-  
-*** ../bash-5.0-patched/subst.h	2018-10-21 18:46:09.000000000 -0400
---- subst.h	2020-04-02 16:29:28.000000000 -0400
-***************
-*** 274,280 ****
-  extern void unlink_fifo __P((int));
-  
-! extern char *copy_fifo_list __P((int *));
-! extern void unlink_new_fifos __P((char *, int));
-! extern void close_new_fifos __P((char *, int));
-  
-  extern void clear_fifo_list __P((void));
---- 274,279 ----
-  extern void unlink_fifo __P((int));
-  
-! extern void *copy_fifo_list __P((int *));
-! extern void close_new_fifos __P((void *, int));
-  
-  extern void clear_fifo_list __P((void));
-*** ../bash-5.0-patched/execute_cmd.c	2020-02-06 20:16:48.000000000 -0500
---- execute_cmd.c	2020-04-02 17:00:10.000000000 -0400
-***************
-*** 565,569 ****
-  #if defined (PROCESS_SUBSTITUTION)
-    volatile int ofifo, nfifo, osize, saved_fifo;
-!   volatile char *ofifo_list;
-  #endif
-  
---- 565,569 ----
-  #if defined (PROCESS_SUBSTITUTION)
-    volatile int ofifo, nfifo, osize, saved_fifo;
-!   volatile void *ofifo_list;
-  #endif
-  
-***************
-*** 751,760 ****
-  #  endif
-  
-!   if (variable_context != 0)	/* XXX - also if sourcelevel != 0? */
-      {
-        ofifo = num_fifos ();
-        ofifo_list = copy_fifo_list ((int *)&osize);
-        begin_unwind_frame ("internal_fifos");
-!       add_unwind_protect (xfree, ofifo_list);
-        saved_fifo = 1;
-      }
---- 751,762 ----
-  #  endif
-  
-!   /* XXX - also if sourcelevel != 0? */
-!   if (variable_context != 0)
-      {
-        ofifo = num_fifos ();
-        ofifo_list = copy_fifo_list ((int *)&osize);
-        begin_unwind_frame ("internal_fifos");
-!       if (ofifo_list)
-! 	add_unwind_protect (xfree, ofifo_list);
-        saved_fifo = 1;
-      }
-***************
-*** 1100,1123 ****
-        nfifo = num_fifos ();
-        if (nfifo > ofifo)
-! 	close_new_fifos ((char *)ofifo_list, osize);
-        free ((void *)ofifo_list);
-        discard_unwind_frame ("internal_fifos");
-      }
-- # if defined (HAVE_DEV_FD)
--   /* Reap process substitutions at the end of loops */
--   switch (command->type)
--     {
--     case cm_while:
--     case cm_until:
--     case cm_for:
--     case cm_group:
-- #    if defined (ARITH_FOR_COMMAND)
--     case cm_arith_for:
-- #    endif
--       reap_procsubs ();
--     default:
--       break;
--     }
-- #  endif /* HAVE_DEV_FD */
-  #endif
-  
---- 1102,1109 ----
-        nfifo = num_fifos ();
-        if (nfifo > ofifo)
-! 	close_new_fifos ((void *)ofifo_list, osize);
-        free ((void *)ofifo_list);
-        discard_unwind_frame ("internal_fifos");
-      }
-  #endif
-  
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 16
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 17
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/update-bash-patches.sh b/srcpkgs/bash/files/update-bash-patches.sh
deleted file mode 100755
index 63c5e20c233..00000000000
--- a/srcpkgs/bash/files/update-bash-patches.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-source ../template
-
-for i in $(seq -w 001 ${_bash_patchlevel}); do
-	curl https://ftp.gnu.org/gnu/bash/bash-$_bash_distver-patches/bash${_bash_distver//./}-$i \
-		> bash${_bash_distver//./}-${_bash_patchlevel}
-done
diff --git a/srcpkgs/bash/template b/srcpkgs/bash/template
index 91e2e4c1ca3..ac0c9d4409d 100644
--- a/srcpkgs/bash/template
+++ b/srcpkgs/bash/template
@@ -1,7 +1,9 @@
 # Template file for 'bash'
 pkgname=bash
-_bash_distver=5.0
-_bash_patchlevel=017
+_major=5
+_minor=0
+_bash_distver="${_major}.${_minor}"
+_bash_patchlevel=018
 version="${_bash_distver}.${_bash_patchlevel}"
 revision=1
 wrksrc="${pkgname}-${_bash_distver}"
@@ -15,9 +17,36 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.gnu.org/software/bash/bash.html"
 distfiles="${GNU_SITE}/${pkgname}/${pkgname}-${_bash_distver}.tar.gz"
-make_dirs="/etc/bash/bashrc.d 755 root root"
-checksum=b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
 
+_url="${GNU_SITE}/bash/bash-${_bash_distver}-patches"
+for _p in $(seq -w 001 ${_bash_patchlevel}); do
+	distfiles+=" ${_url}/bash${_major}${_minor}-${_p}"
+	skip_extraction+=" bash${_major}${_minor}-${_p}"
+done
+unset _url
+unset _p
+
+checksum="b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
+ f2fe9e1f0faddf14ab9bfa88d450a75e5d028fedafad23b88716bd657c737289
+ 87e87d3542e598799adb3e7e01c8165bc743e136a400ed0de015845f7ff68707
+ 4eebcdc37b13793a232c5f2f498a5fcbf7da0ecb3da2059391c096db620ec85b
+ 14447ad832add8ecfafdce5384badd933697b559c4688d6b9e3d36ff36c62f08
+ 5bf54dd9bd2c211d2bfb34a49e2c741f2ed5e338767e9ce9f4d41254bf9f8276
+ d68529a6ff201b6ff5915318ab12fc16b8a0ebb77fda3308303fcc1e13398420
+ 17b41e7ee3673d8887dd25992417a398677533ab8827938aa41fad70df19af9b
+ eec64588622a82a5029b2776e218a75a3640bef4953f09d6ee1f4199670ad7e3
+ ed3ca21767303fc3de93934aa524c2e920787c506b601cc40a4897d4b094d903
+ d6fbc325f0b5dc54ddbe8ee43020bced8bd589ddffea59d128db14b2e52a8a11
+ 2c4de332b91eaf797abbbd6c79709690b5cbd48b12e8dfe748096dbd7bf474ea
+ 2943ee19688018296f2a04dbfe30b7138b889700efa8ff1c0524af271e0ee233
+ f5d7178d8da30799e01b83a0802018d913d6aa972dd2ddad3b927f3f3eb7099a
+ 5d6eee6514ee6e22a87bba8d22be0a8621a0ae119246f1c5a9a35db1f72af589
+ a517df2dda93b26d5cbf00effefea93e3a4ccd6652f152f4109170544ebfa05e
+ ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d
+ 4cf3b9fafb8a66d411dd5fc9120032533a4012df1dc6ee024c7833373e2ddc31
+ 7c314e375a105a6642e8ed44f3808b9def89d15f7492fe2029a21ba9c0de81d3"
+
+make_dirs="/etc/bash/bashrc.d 755 root root"
 conflicts="chroot-bash>=0"
 register_shell="/usr/bin/bash /bin/bash"
 
@@ -27,13 +56,11 @@ alternatives="
 
 CFLAGS="-DSYS_BASHRC='\"/etc/bash/bashrc\"'"
 
-pre_configure() {
-	local ver=$(echo ${_bash_distver}|sed "s|\.||g")
-
+post_patch() {
 	cd ${wrksrc}
 	for p in $(seq -w 001 ${_bash_patchlevel}); do
-		patch -sNp0 -i ${FILESDIR}/bash${ver}-${p}
-		msg_normal " Applying patch bash${ver}-$p.\n"
+		msg_normal " Applying patch bash${_major}${_minor}-$p.\n"
+		patch -sNp0 -i ${XBPS_SRCDISTDIR}/bash-$version/bash${_major}${_minor}-${p}
 	done
 }
 

From 58256cecb320bdffb8956b8f0975ec809f07e2c1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 12:13:07 +0700
Subject: [PATCH 4/4] libreadline8: verify patch's checksum

---
 srcpkgs/libreadline8/template | 25 +++++++++++--------------
 1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/srcpkgs/libreadline8/template b/srcpkgs/libreadline8/template
index 6200195be9e..c351f0db6e2 100644
--- a/srcpkgs/libreadline8/template
+++ b/srcpkgs/libreadline8/template
@@ -14,22 +14,19 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://tiswww.cwru.edu/php/chet/readline/rltop.html"
 distfiles="${GNU_SITE}/readline/readline-${_dist_ver}.tar.gz"
-checksum=e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461
 
-pre_configure() {
-	local url="${GNU_SITE}/readline/readline-${_dist_ver}-patches"
+_url="${GNU_SITE}/readline/readline-${_dist_ver}-patches"
+for _p in $(seq -w 001 ${_patch_ver}); do
+	distfiles+=" ${_url}/readline${_dist_ver/./}-${_p}"
+	skip_extraction+=" readline${_dist_ver/./}-${_p}"
+done
+unset _url
+unset _p
 
-	cd ${XBPS_SRCDISTDIR}/${pkgname}-${version}
-	if [ "${_patch_ver}" -gt 000 ]; then
-		for p in $(seq -w 001 ${_patch_ver}); do
-			if [ -f readline${version/./}-${p} ]; then
-				continue
-			fi
-			local patch_url="${url}/readline${_dist_ver/./}-${p}"
-			msg_normal " Fetching ${patch_url} ...\n"
-			$XBPS_FETCH_CMD "${patch_url}"
-		done
-	fi
+checksum="e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461
+ d8e5e98933cf5756f862243c0601cb69d3667bb33f2c7b751fe4e40b2c3fd069"
+
+post_patch() {
 	cd ${wrksrc}
 	for p in $(seq -w 001 ${_patch_ver}); do
 		patch -s -Np0 -i ${XBPS_SRCDISTDIR}/${pkgname}-${version}/readline${_dist_ver/./}-${p}

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: bash: stop vendoring patch
  2020-07-25  8:35 [PR PATCH] bash: stop vendoring patch sgn
                   ` (2 preceding siblings ...)
  2020-07-26  5:06 ` sgn
@ 2020-07-27 18:23 ` Chocimier
  2020-07-27 23:44 ` sgn
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Chocimier @ 2020-07-27 18:23 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 287 bytes --]

New comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/23826#issuecomment-664561507

Comment:
Looks ok. I would commit update separately form dropping patches. Can you also change to `version=5.0.018` and derive rest of variables from it?

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: bash: stop vendoring patch
  2020-07-25  8:35 [PR PATCH] bash: stop vendoring patch sgn
                   ` (3 preceding siblings ...)
  2020-07-27 18:23 ` Chocimier
@ 2020-07-27 23:44 ` sgn
  2020-07-28  0:11 ` [PR PATCH] [Updated] " sgn
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: sgn @ 2020-07-27 23:44 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 554 bytes --]

New comment by sgn on void-packages repository

https://github.com/void-linux/void-packages/pull/23826#issuecomment-664694316

Comment:
> Looks ok. I would commit update separately form dropping patches. Can you also change to `version=5.0.018` and derive rest of variables from it?

Initially, I reluctant to derive it since it would involve bashism somewhere, and we may run with `/bin/sh` point to something else on bootstrap.

Now, I've re-read the code, I think we'll be fine since we asked for `/bin/bash` directly.

I'll change in a minute.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] bash: stop vendoring patch
  2020-07-25  8:35 [PR PATCH] bash: stop vendoring patch sgn
                   ` (4 preceding siblings ...)
  2020-07-27 23:44 ` sgn
@ 2020-07-28  0:11 ` sgn
  2020-07-28  7:06 ` sgn
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: sgn @ 2020-07-28  0:11 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 416 bytes --]

There is an updated pull request by sgn against master on the void-packages repository

https://github.com/sgn/void-packages bash-no-vendor
https://github.com/void-linux/void-packages/pull/23826

bash: stop vendoring patch
- carry them along won't get us anywhere
- verify checksum for libreadline8

conflict with #23815 

A patch file from https://github.com/void-linux/void-packages/pull/23826.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-bash-no-vendor-23826.patch --]
[-- Type: text/x-diff, Size: 69941 bytes --]

From 29b6f61bf98941df8993b32e108be321d103defb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 10:17:01 +0700
Subject: [PATCH 1/6] gitattributes: don't show whitespace error on patches

---
 .gitattributes | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.gitattributes b/.gitattributes
index 7f24a8f81d0..8ddae6fce45 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,2 +1,4 @@
 template linguist-language=bash
 common/shlibs merge=union
+*.patch whitespace=-space-before-tab,-trailing-space
+*.diff whitespace=-space-before-tab,-trailing-space

From 1f4702834733ea92fd0a07cadeb81ba6fd2efd4f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 10:28:57 +0700
Subject: [PATCH 2/6] chroot-bash: stop vendoring patch

---
 srcpkgs/chroot-bash/template | 36 ++++++++++++++++++++++++++++++------
 1 file changed, 30 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/chroot-bash/template b/srcpkgs/chroot-bash/template
index 97b8a9be81f..9c7f4f04809 100644
--- a/srcpkgs/chroot-bash/template
+++ b/srcpkgs/chroot-bash/template
@@ -15,18 +15,42 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="http://www.gnu.org/software/bash/bash.html"
 distfiles="${GNU_SITE}/bash/bash-${_bash_distver}.tar.gz"
-checksum=b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
+
+_url="${GNU_SITE}/bash/bash-${_bash_distver}-patches"
+for _p in $(seq -w 001 ${_bash_patchlevel}); do
+	distfiles+=" ${_url}/bash${_bash_distver/./}-${_p}"
+	skip_extraction+=" bash${_bash_distver/./}-${_p}"
+done
+unset _url
+unset _p
+
+checksum="b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
+ f2fe9e1f0faddf14ab9bfa88d450a75e5d028fedafad23b88716bd657c737289
+ 87e87d3542e598799adb3e7e01c8165bc743e136a400ed0de015845f7ff68707
+ 4eebcdc37b13793a232c5f2f498a5fcbf7da0ecb3da2059391c096db620ec85b
+ 14447ad832add8ecfafdce5384badd933697b559c4688d6b9e3d36ff36c62f08
+ 5bf54dd9bd2c211d2bfb34a49e2c741f2ed5e338767e9ce9f4d41254bf9f8276
+ d68529a6ff201b6ff5915318ab12fc16b8a0ebb77fda3308303fcc1e13398420
+ 17b41e7ee3673d8887dd25992417a398677533ab8827938aa41fad70df19af9b
+ eec64588622a82a5029b2776e218a75a3640bef4953f09d6ee1f4199670ad7e3
+ ed3ca21767303fc3de93934aa524c2e920787c506b601cc40a4897d4b094d903
+ d6fbc325f0b5dc54ddbe8ee43020bced8bd589ddffea59d128db14b2e52a8a11
+ 2c4de332b91eaf797abbbd6c79709690b5cbd48b12e8dfe748096dbd7bf474ea
+ 2943ee19688018296f2a04dbfe30b7138b889700efa8ff1c0524af271e0ee233
+ f5d7178d8da30799e01b83a0802018d913d6aa972dd2ddad3b927f3f3eb7099a
+ 5d6eee6514ee6e22a87bba8d22be0a8621a0ae119246f1c5a9a35db1f72af589
+ a517df2dda93b26d5cbf00effefea93e3a4ccd6652f152f4109170544ebfa05e
+ ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d"
 
 bootstrap=yes
 provides="bash-${version}_${revision}"
-conflicts="bash>=0 dash>=0"
+conflicts="bash>=0 dash>=0 busybox>=0 loksh>=0 mksh>=0 oksh>=0 yash>=0"
 
-pre_configure() {
-	local ver=${_bash_distver//./} p
+post_patch() {
 	cd ${wrksrc}
 	for p in $(seq -w 001 ${_bash_patchlevel}); do
-		msg_normal " Applying patch bash${ver}-$p.\n"
-		patch -sNp0 -i ${XBPS_SRCPKGDIR}/bash/files/bash${ver}-${p}
+		msg_normal " Applying patch bash${_bash_distver/./}-$p.\n"
+		patch -sNp0 -i ${XBPS_SRCDISTDIR}/chroot-bash-$version/bash${_bash_distver/./}-${p}
 	done
 }
 

From edb8e02a33d18f893389fc22a9143e5014380e0f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Tue, 28 Jul 2020 06:59:54 +0700
Subject: [PATCH 3/6] chroot-bash: update to 5.0.018.

---
 srcpkgs/chroot-bash/template | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/chroot-bash/template b/srcpkgs/chroot-bash/template
index 9c7f4f04809..7d9f34d7dc7 100644
--- a/srcpkgs/chroot-bash/template
+++ b/srcpkgs/chroot-bash/template
@@ -1,7 +1,7 @@
 # Template file for 'chroot-bash'
 pkgname=chroot-bash
 _bash_distver=5.0
-_bash_patchlevel=016
+_bash_patchlevel=018
 version="${_bash_distver}.${_bash_patchlevel}"
 revision=1
 wrksrc="bash-${_bash_distver}"
@@ -40,7 +40,9 @@ checksum="b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
  f5d7178d8da30799e01b83a0802018d913d6aa972dd2ddad3b927f3f3eb7099a
  5d6eee6514ee6e22a87bba8d22be0a8621a0ae119246f1c5a9a35db1f72af589
  a517df2dda93b26d5cbf00effefea93e3a4ccd6652f152f4109170544ebfa05e
- ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d"
+ ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d
+ 4cf3b9fafb8a66d411dd5fc9120032533a4012df1dc6ee024c7833373e2ddc31
+ 7c314e375a105a6642e8ed44f3808b9def89d15f7492fe2029a21ba9c0de81d3"
 
 bootstrap=yes
 provides="bash-${version}_${revision}"

From 8450aae2a266780727d45921d69d4fc2e2a90210 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 15:28:53 +0700
Subject: [PATCH 4/6] bash: stop vendoring patches

---
 srcpkgs/bash/files/bash50-001             | 167 -------------
 srcpkgs/bash/files/bash50-002             | 113 ---------
 srcpkgs/bash/files/bash50-003             | 239 ------------------
 srcpkgs/bash/files/bash50-004             |  53 ----
 srcpkgs/bash/files/bash50-005             | 110 --------
 srcpkgs/bash/files/bash50-006             |  47 ----
 srcpkgs/bash/files/bash50-007             |  62 -----
 srcpkgs/bash/files/bash50-008             |  68 -----
 srcpkgs/bash/files/bash50-009             |  42 ----
 srcpkgs/bash/files/bash50-010             | 172 -------------
 srcpkgs/bash/files/bash50-011             |  59 -----
 srcpkgs/bash/files/bash50-012             |  64 -----
 srcpkgs/bash/files/bash50-013             |  73 ------
 srcpkgs/bash/files/bash50-014             |  52 ----
 srcpkgs/bash/files/bash50-015             |  78 ------
 srcpkgs/bash/files/bash50-016             |  58 -----
 srcpkgs/bash/files/bash50-017             | 289 ----------------------
 srcpkgs/bash/files/update-bash-patches.sh |   7 -
 srcpkgs/bash/template                     |  38 ++-
 19 files changed, 31 insertions(+), 1760 deletions(-)
 delete mode 100644 srcpkgs/bash/files/bash50-001
 delete mode 100644 srcpkgs/bash/files/bash50-002
 delete mode 100644 srcpkgs/bash/files/bash50-003
 delete mode 100644 srcpkgs/bash/files/bash50-004
 delete mode 100644 srcpkgs/bash/files/bash50-005
 delete mode 100644 srcpkgs/bash/files/bash50-006
 delete mode 100644 srcpkgs/bash/files/bash50-007
 delete mode 100644 srcpkgs/bash/files/bash50-008
 delete mode 100644 srcpkgs/bash/files/bash50-009
 delete mode 100644 srcpkgs/bash/files/bash50-010
 delete mode 100644 srcpkgs/bash/files/bash50-011
 delete mode 100644 srcpkgs/bash/files/bash50-012
 delete mode 100644 srcpkgs/bash/files/bash50-013
 delete mode 100644 srcpkgs/bash/files/bash50-014
 delete mode 100644 srcpkgs/bash/files/bash50-015
 delete mode 100644 srcpkgs/bash/files/bash50-016
 delete mode 100644 srcpkgs/bash/files/bash50-017
 delete mode 100755 srcpkgs/bash/files/update-bash-patches.sh

diff --git a/srcpkgs/bash/files/bash50-001 b/srcpkgs/bash/files/bash50-001
deleted file mode 100644
index 087bd82cf72..00000000000
--- a/srcpkgs/bash/files/bash50-001
+++ /dev/null
@@ -1,167 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-001
-
-Bug-Reported-by:	axel@freakout.de
-Bug-Reference-ID:	<201901082050.x08KoShS006731@bongo.freakout.de>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00079.html
-
-Bug-Description:
-
-Under certain circumstances, the glob expansion code did not remove
-backslashes escaping characters in directory names (or portions of a
-pattern preceding a slash).
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0/bashline.c	2018-11-27 13:20:16.000000000 -0500
---- bashline.c	2019-01-16 16:06:03.000000000 -0500
-***************
-*** 232,235 ****
---- 232,236 ----
-  static int bash_possible_command_completions __P((int, int));
-  
-+ static int completion_glob_pattern __P((char *));
-  static char *glob_complete_word __P((const char *, int));
-  static int bash_glob_completion_internal __P((int));
-***************
-*** 1742,1746 ****
-    /* This could be a globbing pattern, so try to expand it using pathname
-       expansion. */
-!   if (!matches && glob_pattern_p (text))
-      {
-        matches = rl_completion_matches (text, glob_complete_word);
---- 1743,1747 ----
-    /* This could be a globbing pattern, so try to expand it using pathname
-       expansion. */
-!   if (!matches && completion_glob_pattern ((char *)text))
-      {
-        matches = rl_completion_matches (text, glob_complete_word);
-***************
-*** 1851,1855 ****
-  	}
-  
-!       globpat = glob_pattern_p (hint_text);
-  
-        /* If this is an absolute program name, do not check it against
---- 1852,1856 ----
-  	}
-  
-!       globpat = completion_glob_pattern ((char *)hint_text);
-  
-        /* If this is an absolute program name, do not check it against
-***************
-*** 3714,3717 ****
---- 3715,3773 ----
-  }
-  
-+ static int
-+ completion_glob_pattern (string)
-+      char *string;
-+ {
-+   register int c;
-+   char *send;
-+   int open;
-+ 
-+   DECLARE_MBSTATE;
-+ 
-+   open = 0;
-+   send = string + strlen (string);
-+ 
-+   while (c = *string++)
-+     {
-+       switch (c)
-+ 	{
-+ 	case '?':
-+ 	case '*':
-+ 	  return (1);
-+ 
-+ 	case '[':
-+ 	  open++;
-+ 	  continue;
-+ 
-+ 	case ']':
-+ 	  if (open)
-+ 	    return (1);
-+ 	  continue;
-+ 
-+ 	case '+':
-+ 	case '@':
-+ 	case '!':
-+ 	  if (*string == '(')	/*)*/
-+ 	    return (1);
-+ 	  continue;
-+ 
-+ 	case '\\':
-+ 	  if (*string == 0)
-+ 	    return (0);	 	  
-+ 	}
-+ 
-+       /* Advance one fewer byte than an entire multibyte character to
-+ 	 account for the auto-increment in the loop above. */
-+ #ifdef HANDLE_MULTIBYTE
-+       string--;
-+       ADVANCE_CHAR_P (string, send - string);
-+       string++;
-+ #else
-+       ADVANCE_CHAR_P (string, send - string);
-+ #endif
-+     }
-+   return (0);
-+ }
-+ 
-  static char *globtext;
-  static char *globorig;
-***************
-*** 3878,3882 ****
-      }      
-  
-!   if (t && glob_pattern_p (t) == 0)
-      rl_explicit_arg = 1;	/* XXX - force glob_complete_word to append `*' */
-    FREE (t);
---- 3934,3938 ----
-      }      
-  
-!   if (t && completion_glob_pattern (t) == 0)
-      rl_explicit_arg = 1;	/* XXX - force glob_complete_word to append `*' */
-    FREE (t);
-*** ../bash-5.0/lib/glob/glob_loop.c	2018-12-31 13:35:15.000000000 -0500
---- lib/glob/glob_loop.c	2019-01-09 09:44:36.000000000 -0500
-***************
-*** 55,59 ****
-  
-        case L('\\'):
-- #if 0
-  	/* Don't let the pattern end in a backslash (GMATCH returns no match
-  	   if the pattern ends in a backslash anyway), but otherwise return 1,
---- 55,58 ----
-***************
-*** 61,69 ****
-  	   and it can be removed. */
-  	return (*p != L('\0'));
-- #else
-- 	/* The pattern may not end with a backslash. */
-- 	if (*p++ == L('\0'))
-- 	  return 0;
-- #endif
-        }
-  
---- 60,63 ----
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 0
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 1
-  
-  #endif /* _PATCHLEVEL_H_ */
-
diff --git a/srcpkgs/bash/files/bash50-002 b/srcpkgs/bash/files/bash50-002
deleted file mode 100644
index 3fc8272f84a..00000000000
--- a/srcpkgs/bash/files/bash50-002
+++ /dev/null
@@ -1,113 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-002
-
-Bug-Reported-by:	Ante Peric <synthmeat@gmail.com>
-Bug-Reference-ID:	<B7E3B567-2467-4F7B-B6B9-CA4E75A9C93F@gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00095.html
-
-Bug-Description:
-
-When an alias value ends with an unquoted literal tab (not part of a quoted
-string or comment), alias expansion cannot correctly detect the end of the
-alias value after expanding it.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0/parser.h	2018-12-28 19:11:18.000000000 -0500
---- parser.h	2019-01-11 15:13:03.000000000 -0500
-***************
-*** 48,51 ****
---- 48,52 ----
-  #define PST_REDIRLIST	0x080000	/* parsing a list of redirections preceding a simple command name */
-  #define PST_COMMENT	0x100000	/* parsing a shell comment; used by aliases */
-+ #define PST_ENDALIAS	0x200000	/* just finished expanding and consuming an alias */
-  
-  /* Definition of the delimiter stack.  Needed by parse.y and bashhist.c. */
-*** ../bash-5.0/parse.y	2019-01-02 13:57:34.000000000 -0500
---- parse.y	2019-01-14 08:23:31.000000000 -0500
-***************
-*** 2558,2567 ****
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-        shell_input_line_index > 0 &&
-!       shell_input_line[shell_input_line_index-1] != ' ' &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-        return ' ';	/* END_ALIAS */
-      }
---- 2558,2569 ----
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-+       (parser_state & PST_ENDALIAS) == 0 &&	/* only once */
-        shell_input_line_index > 0 &&
-!       shellblank (shell_input_line[shell_input_line_index-1]) == 0 &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-+       parser_state |= PST_ENDALIAS;
-        return ' ';	/* END_ALIAS */
-      }
-***************
-*** 2572,2575 ****
---- 2574,2578 ----
-    if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE)
-      {
-+       parser_state &= ~PST_ENDALIAS;
-        pop_string ();
-        uc = shell_input_line[shell_input_line_index];
-*** ../bash-5.0/y.tab.c	2019-01-02 13:57:43.000000000 -0500
---- y.tab.c	2019-01-14 08:39:23.000000000 -0500
-***************
-*** 4874,4883 ****
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-        shell_input_line_index > 0 &&
-!       shell_input_line[shell_input_line_index-1] != ' ' &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-        return ' ';	/* END_ALIAS */
-      }
---- 4874,4885 ----
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-+       (parser_state & PST_ENDALIAS) == 0 &&	/* only once */
-        shell_input_line_index > 0 &&
-!       shellblank (shell_input_line[shell_input_line_index-1]) == 0 &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-+       parser_state |= PST_ENDALIAS;
-        return ' ';	/* END_ALIAS */
-      }
-***************
-*** 4888,4891 ****
---- 4890,4894 ----
-    if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE)
-      {
-+       parser_state &= ~PST_ENDALIAS;
-        pop_string ();
-        uc = shell_input_line[shell_input_line_index];
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 1
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 2
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-003 b/srcpkgs/bash/files/bash50-003
deleted file mode 100644
index f7e5677e540..00000000000
--- a/srcpkgs/bash/files/bash50-003
+++ /dev/null
@@ -1,239 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-003
-
-Bug-Reported-by:	Andrew Church <achurch+bash@achurch.org>
-Bug-Reference-ID:	<5c534aa2.04371@msgid.achurch.org>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00276.html
-
-Bug-Description:
-
-There are several incompatibilities in how bash-5.0 processes pathname
-expansion (globbing) of filename arguments that have backslashes in the
-directory portion.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/glob/glob_loop.c	2019-01-16 16:13:21.000000000 -0500
---- lib/glob/glob_loop.c	2019-02-01 09:45:11.000000000 -0500
-***************
-*** 27,34 ****
-    register const GCHAR *p;
-    register GCHAR c;
-!   int bopen;
-  
-    p = pattern;
-!   bopen = 0;
-  
-    while ((c = *p++) != L('\0'))
---- 27,34 ----
-    register const GCHAR *p;
-    register GCHAR c;
-!   int bopen, bsquote;
-  
-    p = pattern;
-!   bopen = bsquote = 0;
-  
-    while ((c = *p++) != L('\0'))
-***************
-*** 56,66 ****
-        case L('\\'):
-  	/* Don't let the pattern end in a backslash (GMATCH returns no match
-! 	   if the pattern ends in a backslash anyway), but otherwise return 1,
-! 	   since the matching engine uses backslash as an escape character
-! 	   and it can be removed. */
-! 	return (*p != L('\0'));
-        }
-  
-!   return 0;
-  }
-  
---- 56,75 ----
-        case L('\\'):
-  	/* Don't let the pattern end in a backslash (GMATCH returns no match
-! 	   if the pattern ends in a backslash anyway), but otherwise note that 
-! 	   we have seen this, since the matching engine uses backslash as an
-! 	   escape character and it can be removed. We return 2 later if we
-! 	   have seen only backslash-escaped characters, so interested callers
-! 	   know they can shortcut and just dequote the pathname. */
-! 	if (*p != L('\0'))
-! 	  {
-! 	    p++;
-! 	    bsquote = 1;
-! 	    continue;
-! 	  }
-! 	else 	/* (*p == L('\0')) */
-! 	  return 0;
-        }
-  
-!   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-03-07 14:23:43.000000000 -0500
-***************
-*** 1062,1066 ****
-    unsigned int directory_len;
-    int free_dirname;			/* flag */
-!   int dflags;
-  
-    result = (char **) malloc (sizeof (char *));
---- 1078,1082 ----
-    unsigned int directory_len;
-    int free_dirname;			/* flag */
-!   int dflags, hasglob;
-  
-    result = (char **) malloc (sizeof (char *));
-***************
-*** 1111,1117 ****
-      }
-  
-    /* If directory_name contains globbing characters, then we
-!      have to expand the previous levels.  Just recurse. */
-!   if (directory_len > 0 && glob_pattern_p (directory_name))
-      {
-        char **directories, *d, *p;
---- 1127,1136 ----
-      }
-  
-+   hasglob = 0;
-    /* If directory_name contains globbing characters, then we
-!      have to expand the previous levels.  Just recurse.
-!      If glob_pattern_p returns != [0,1] we have a pattern that has backslash
-!      quotes but no unquoted glob pattern characters. We dequote it below. */
-!   if (directory_len > 0 && (hasglob = glob_pattern_p (directory_name)) == 1)
-      {
-        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,1369 ----
-  	  return (NULL);
-  	}
-+       /* 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
---- pathexp.c	2019-01-31 20:19:41.000000000 -0500
-***************
-*** 66,74 ****
-    register int c;
-    char *send;
-!   int open;
-  
-    DECLARE_MBSTATE;
-  
-!   open = 0;
-    send = string + strlen (string);
-  
---- 66,74 ----
-    register int c;
-    char *send;
-!   int open, bsquote;
-  
-    DECLARE_MBSTATE;
-  
-!   open = bsquote = 0;
-    send = string + strlen (string);
-  
-***************
-*** 101,105 ****
-  	   globbing. */
-  	case '\\':
-! 	  return (*string != 0);
-  	 	  
-  	case CTLESC:
---- 101,112 ----
-  	   globbing. */
-  	case '\\':
-! 	  if (*string != '\0' && *string != '/')
-! 	    {
-! 	      bsquote = 1;
-! 	      string++;
-! 	      continue;
-! 	    }
-! 	  else if (*string == 0)
-! 	    return (0);
-  	 	  
-  	case CTLESC:
-***************
-*** 118,122 ****
-  #endif
-      }
-!   return (0);
-  }
-  
---- 125,130 ----
-  #endif
-      }
-! 
-!   return (bsquote ? 2 : 0);
-  }
-  
-*** ../bash-5.0-patched/bashline.c	2019-01-16 16:13:21.000000000 -0500
---- bashline.c	2019-02-22 09:29:08.000000000 -0500
-***************
-*** 3753,3757 ****
-  
-  	case '\\':
-! 	  if (*string == 0)
-  	    return (0);	 	  
-  	}
---- 3766,3770 ----
-  
-  	case '\\':
-! 	  if (*string++ == 0)
-  	    return (0);	 	  
-  	}
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 2
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 3
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-004 b/srcpkgs/bash/files/bash50-004
deleted file mode 100644
index fe3c764bd6c..00000000000
--- a/srcpkgs/bash/files/bash50-004
+++ /dev/null
@@ -1,53 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-004
-
-Bug-Reported-by:	Daniel Kahn Gillmor <dkg@fifthhorseman.net>
-Bug-Reference-ID:	<87lg0g8aiw.fsf@fifthhorseman.net>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-04/msg00076.html
-
-Bug-Description:
-
-In bash-5.0, the `wait' builtin without arguments waits for all children of the
-shell. This includes children it `inherited' at shell invocation time. This
-patch modifies the behavior to not wait for these inherited children, some
-of which might be long-lived.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/jobs.c	2018-12-06 11:44:34.000000000 -0500
---- jobs.c	2019-04-12 15:15:10.000000000 -0400
-***************
-*** 2489,2496 ****
-    wait_procsubs ();
-    reap_procsubs ();
-! #if 1
-    /* We don't want to wait indefinitely if we have stopped children. */
--   /* XXX - should add a loop that goes through the list of process
--      substitutions and waits for each proc in turn before this code. */
-    if (any_stopped == 0)
-      {
---- 2490,2495 ----
-    wait_procsubs ();
-    reap_procsubs ();
-! #if 0
-    /* We don't want to wait indefinitely if we have stopped children. */
-    if (any_stopped == 0)
-      {
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 3
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 4
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-005 b/srcpkgs/bash/files/bash50-005
deleted file mode 100644
index 9b1cd75b0b6..00000000000
--- a/srcpkgs/bash/files/bash50-005
+++ /dev/null
@@ -1,110 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-005
-
-Bug-Reported-by:	Brad Spencer <bspencer@blackberry.com>
-Bug-Reference-ID:	<1b993ff2-ce4f-662a-6be4-393457362e47@blackberry.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00250.html
-
-Bug-Description:
-
-In certain cases, bash optimizes out a fork() call too early and prevents
-traps from running.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/command.h	2018-07-20 21:16:31.000000000 -0400
---- command.h	2019-02-20 11:09:36.000000000 -0500
-***************
-*** 187,190 ****
---- 188,192 ----
-  #define CMD_LASTPIPE	    0x2000
-  #define CMD_STDPATH	    0x4000	/* use standard path for command lookup */
-+ #define CMD_TRY_OPTIMIZING  0x8000	/* try to optimize this simple command */
-  
-  /* What a command looks like. */
-*** ../bash-5.0-patched/builtins/evalstring.c	2018-12-26 11:19:21.000000000 -0500
---- builtins/evalstring.c	2019-01-29 14:15:19.000000000 -0500
-***************
-*** 101,104 ****
---- 101,113 ----
-  }
-  
-+ int
-+ can_optimize_connection (command)
-+      COMMAND *command;
-+ {
-+   return (*bash_input.location.string == '\0' &&
-+ 	  (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-+ 	  command->value.Connection->second->type == cm_simple);
-+ }
-+ 
-  void
-  optimize_fork (command)
-***************
-*** 106,110 ****
-  {
-    if (command->type == cm_connection &&
-!       (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR) &&
-        should_suppress_fork (command->value.Connection->second))
-      {
---- 115,120 ----
-  {
-    if (command->type == cm_connection &&
-!       (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-!       (command->value.Connection->second->flags & CMD_TRY_OPTIMIZING) &&
-        should_suppress_fork (command->value.Connection->second))
-      {
-***************
-*** 413,418 ****
-  		  command->value.Simple->flags |= CMD_NO_FORK;
-  		}
-! 	      else if (command->type == cm_connection)
-! 		optimize_fork (command);
-  #endif /* ONESHOT */
-  
---- 423,438 ----
-  		  command->value.Simple->flags |= CMD_NO_FORK;
-  		}
-! 
-! 	      /* Can't optimize forks out here execept for simple commands.
-! 		 This knows that the parser sets up commands as left-side heavy
-! 		 (&& and || are left-associative) and after the single parse,
-! 		 if we are at the end of the command string, the last in a
-! 		 series of connection commands is
-! 		 command->value.Connection->second. */
-! 	      else if (command->type == cm_connection && can_optimize_connection (command))
-! 		{
-! 		  command->value.Connection->second->flags |= CMD_TRY_OPTIMIZING;
-! 		  command->value.Connection->second->value.Simple->flags |= CMD_TRY_OPTIMIZING;
-! 		}
-  #endif /* ONESHOT */
-  
-*** ../bash-5.0-patched/execute_cmd.c	2018-12-05 09:05:14.000000000 -0500
---- execute_cmd.c	2019-01-25 15:59:00.000000000 -0500
-***************
-*** 2768,2771 ****
---- 2768,2773 ----
-  	   (exec_result != EXECUTION_SUCCESS)))
-  	{
-+ 	  optimize_fork (command);
-+ 
-  	  second = command->value.Connection->second;
-  	  if (ignore_return && second)
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 4
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 5
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-006 b/srcpkgs/bash/files/bash50-006
deleted file mode 100644
index 2ad1cd20090..00000000000
--- a/srcpkgs/bash/files/bash50-006
+++ /dev/null
@@ -1,47 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-006
-
-Bug-Reported-by:	Tomas Mozes <hydrapolic@gmail.com>
-Bug-Reference-ID:	<CAG6MAzQumLU2vhnmr1UrYAUQAFW5Yo8hfM_sEibX9RJQWJkRrA@mail.gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-03/msg00037.html
-
-Bug-Description:
-
-Bash-5.0 did not build successfully if SYSLOG_HISTORY was defined without
-also defining SYSLOG_SHOPT.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/builtins/shopt.def	2018-10-05 14:49:02.000000000 -0400
---- builtins/shopt.def	2019-01-23 09:55:22.000000000 -0500
-***************
-*** 123,127 ****
-  #endif
-  
-! #if defined (SYSLOG_HISTORY) && defined (SYSLOG_SHOPT)
-  extern int syslog_history;
-  #endif
---- 123,127 ----
-  #endif
-  
-! #if defined (SYSLOG_HISTORY)
-  extern int syslog_history;
-  #endif
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 5
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 6
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-007 b/srcpkgs/bash/files/bash50-007
deleted file mode 100644
index b9eb4150a2b..00000000000
--- a/srcpkgs/bash/files/bash50-007
+++ /dev/null
@@ -1,62 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-007
-
-Bug-Reported-by:	Grisha Levit <grishalevit@gmail.com>
-Bug-Reference-ID:	<CAMu=BroHapG1AS3xB5SQaCX2XKu=-E2Ob9uW6LNuHvd=YohrDw@mail.gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-02/msg00067.html
-
-Bug-Description:
-
-Running `exec' when job control was disabled, even temporarily, but after it
-had been initialized, could leave the terminal in the wrong process group for
-the executed process.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/jobs.c	2018-12-06 11:44:34.000000000 -0500
---- jobs.c	2019-04-12 15:15:10.000000000 -0400
-***************
-*** 4838,4850 ****
-  {
-    if (job_control)
-!     {
-!       terminate_stopped_jobs ();
-  
-!       if (original_pgrp >= 0)
-! 	give_terminal_to (original_pgrp, 1);
-!     }
-  
-!   if (original_pgrp >= 0)
-!     setpgid (0, original_pgrp);
-  }
-  
---- 4838,4848 ----
-  {
-    if (job_control)
-!     terminate_stopped_jobs ();
-  
-!   if (original_pgrp >= 0 && terminal_pgrp != original_pgrp)
-!     give_terminal_to (original_pgrp, 1);
-  
-!   if (original_pgrp >= 0 && setpgid (0, original_pgrp) == 0)
-!     shell_pgrp = original_pgrp;
-  }
-  
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 6
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 7
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-008 b/srcpkgs/bash/files/bash50-008
deleted file mode 100644
index b09d6b33ac7..00000000000
--- a/srcpkgs/bash/files/bash50-008
+++ /dev/null
@@ -1,68 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-008
-
-Bug-Reported-by:	Michael Albinus <michael.albinus@gmx.de>
-Bug-Reference-ID:	<87bm36k3kz.fsf@gmx.de>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-02/msg00111.html
-
-Bug-Description:
-
-When HISTSIZE is set to 0, history expansion can leave the history length
-set to an incorrect value, leading to subsequent attempts to access invalid
-memory.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/bashhist.c	2018-07-05 22:41:14.000000000 -0400
---- bashhist.c	2019-02-20 16:20:04.000000000 -0500
-***************
-*** 561,573 ****
-    if (!history_expansion_inhibited && history_expansion && history_expansion_p (line))
-      {
-        /* If we are expanding the second or later line of a multi-line
-  	 command, decrease history_length so references to history expansions
-  	 in these lines refer to the previous history entry and not the
-  	 current command. */
-        if (history_length > 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-          history_length--;
-        expanded = history_expand (line, &history_value);
-        if (history_length >= 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-!         history_length++;
-  
-        if (expanded)
---- 561,576 ----
-    if (!history_expansion_inhibited && history_expansion && history_expansion_p (line))
-      {
-+       int old_len;
-+ 
-        /* If we are expanding the second or later line of a multi-line
-  	 command, decrease history_length so references to history expansions
-  	 in these lines refer to the previous history entry and not the
-  	 current command. */
-+       old_len = history_length;
-        if (history_length > 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-          history_length--;
-        expanded = history_expand (line, &history_value);
-        if (history_length >= 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-!         history_length = old_len;
-  
-        if (expanded)
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 7
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 8
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-009 b/srcpkgs/bash/files/bash50-009
deleted file mode 100644
index aef4ce7b5ad..00000000000
--- a/srcpkgs/bash/files/bash50-009
+++ /dev/null
@@ -1,42 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-009
-
-Bug-Reported-by:	chet.ramey@case.edu
-Bug-Reference-ID:
-Bug-Reference-URL:
-
-Bug-Description:
-
-The history file reading code doesn't close the file descriptor open to
-the history file when it encounters a zero-length file.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/readline/histfile.c	2018-06-11 09:14:52.000000000 -0400
---- lib/readline/histfile.c	2019-05-16 15:55:57.000000000 -0400
-***************
-*** 306,309 ****
---- 312,316 ----
-      {
-        free (input);
-+       close (file);
-        return 0;	/* don't waste time if we don't have to */
-      }
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 8
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 9
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-010 b/srcpkgs/bash/files/bash50-010
deleted file mode 100644
index bac7aa92515..00000000000
--- a/srcpkgs/bash/files/bash50-010
+++ /dev/null
@@ -1,172 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-010
-
-Bug-Reported-by:	Thorsten Glaser <tg@mirbsd.de>
-Bug-Reference-ID:	<156622962831.19438.16374961114836556294.reportbug@tglase.lan.tarent.de>
-Bug-Reference-URL:	https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=935115
-
-Bug-Description:
-
-Bash-5.0 changed the way assignment statements preceding special builtins
-and shell functions were handled in posix mode. They automatically created
-or modified global variables instead of modifying existing local variables
-as in bash-4.4.
-
-The bash-4.4 posix-mode semantics were buggy, and resulted in creating
-local variables where they were not intended and modifying global variables
-and local variables simultaneously.
-
-The bash-5.0 changes were intended to fix this issue, but did not preserve
-enough backwards compatibility. The posix standard also changed what it
-required in these cases, so bash-5.0 is not bound by the strict conformance
-requirements that existed in previous issues of the standard.
-
-This patch modifies the bash-5.0 posix mode behavior in an effort to restore
-some backwards compatibility and rationalize the behavior in the presence of
-local variables. It
-
-1. Changes the assignment semantics to be more similar to standalone assignment
-   statements: assignments preceding a function call or special builtin while
-   executing in a shell function will modify the value of a local variable
-   with the same name for the duration of the function's execution;
-
-2. Changes assignments preceding shell function calls or special builtins
-   from within a shell function to no longer create or modify global variables
-   in the presence of a local variable with the same name;
-
-3. Assignment statements preceding a shell function call or special builtin
-   at the global scope continue to modify the (global) calling environment,
-   but are unaffected by assignments preceding function calls or special
-   builtins within a function, as described in item 2. This is also similar
-   to the behavior of a standalone assignment statement.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/variables.c	2018-12-18 11:07:21.000000000 -0500
---- variables.c	2019-08-22 10:53:44.000000000 -0400
-***************
-*** 4461,4467 ****
-  
-  /* Take a variable from an assignment statement preceding a posix special
-!    builtin (including `return') and create a global variable from it. This
-!    is called from merge_temporary_env, which is only called when in posix
-!    mode. */
-  static void
-  push_posix_temp_var (data)
---- 4461,4467 ----
-  
-  /* Take a variable from an assignment statement preceding a posix special
-!    builtin (including `return') and create a variable from it as if a
-!    standalone assignment statement had been performed. This is called from
-!    merge_temporary_env, which is only called when in posix mode. */
-  static void
-  push_posix_temp_var (data)
-***************
-*** 4473,4486 ****
-    var = (SHELL_VAR *)data;
-  
-!   binding_table = global_variables->table;
-!   if (binding_table == 0)
-!     binding_table = global_variables->table = hash_create (VARIABLES_HASH_BUCKETS);
-! 
-!   v = bind_variable_internal (var->name, value_cell (var), binding_table, 0, ASS_FORCE|ASS_NOLONGJMP);
-  
-    /* global variables are no longer temporary and don't need propagating. */
-!   var->attributes &= ~(att_tempvar|att_propagate);
-    if (v)
-!     v->attributes |= var->attributes;
-  
-    if (find_special_var (var->name) >= 0)
---- 4473,4497 ----
-    var = (SHELL_VAR *)data;
-  
-!   /* Just like do_assignment_internal(). This makes assignments preceding
-!      special builtins act like standalone assignment statements when in
-!      posix mode, satisfying the posix requirement that this affect the
-!      "current execution environment." */
-!   v = bind_variable (var->name, value_cell (var), ASS_FORCE|ASS_NOLONGJMP);
-! 
-!   /* If this modifies an existing local variable, v->context will be non-zero.
-!      If it comes back with v->context == 0, we bound at the global context.
-!      Set binding_table appropriately. It doesn't matter whether it's correct
-!      if the variable is local, only that it's not global_variables->table */
-!   binding_table = v->context ? shell_variables->table : global_variables->table;
-  
-    /* global variables are no longer temporary and don't need propagating. */
-!   if (binding_table == global_variables->table)
-!     var->attributes &= ~(att_tempvar|att_propagate);
-! 
-    if (v)
-!     {
-!       v->attributes |= var->attributes;
-!       v->attributes &= ~att_tempvar;	/* not a temp var now */
-!     }
-  
-    if (find_special_var (var->name) >= 0)
-***************
-*** 4576,4587 ****
-  {
-    int i;
-  
-    tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1);
-    tempvar_list[tvlist_ind = 0] = 0;
-!     
-!   hash_flush (temporary_env, pushf);
-!   hash_dispose (temporary_env);
-    temporary_env = (HASH_TABLE *)NULL;
-  
-    tempvar_list[tvlist_ind] = 0;
-  
---- 4587,4601 ----
-  {
-    int i;
-+   HASH_TABLE *disposer;
-  
-    tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1);
-    tempvar_list[tvlist_ind = 0] = 0;
-! 
-!   disposer = temporary_env;
-    temporary_env = (HASH_TABLE *)NULL;
-  
-+   hash_flush (disposer, pushf);
-+   hash_dispose (disposer);
-+ 
-    tempvar_list[tvlist_ind] = 0;
-  
-*** ../bash-5.0-patched/tests/varenv.right	2018-12-17 15:39:48.000000000 -0500
---- tests/varenv.right	2019-08-22 16:05:25.000000000 -0400
-***************
-*** 147,153 ****
-  outside: declare -- var="one"
-  inside: declare -x var="value"
-! outside: declare -x var="value"
-! inside: declare -- var="local"
-! outside: declare -x var="global"
-  foo=<unset> environment foo=
-  foo=foo environment foo=foo
---- 147,153 ----
-  outside: declare -- var="one"
-  inside: declare -x var="value"
-! outside: declare -- var="outside"
-! inside: declare -x var="global"
-! outside: declare -- var="outside"
-  foo=<unset> environment foo=
-  foo=foo environment foo=foo
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 9
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 10
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-011 b/srcpkgs/bash/files/bash50-011
deleted file mode 100644
index a9ae690e004..00000000000
--- a/srcpkgs/bash/files/bash50-011
+++ /dev/null
@@ -1,59 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-011
-
-Bug-Reported-by:	Matt Whitlock
-Bug-Reference-ID:	
-Bug-Reference-URL:	https://savannah.gnu.org/support/?109671
-
-Bug-Description:
-
-The conditional command did not perform appropriate quoted null character
-removal on its arguments, causing syntax errors and attempts to stat
-invalid pathnames.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/subst.c	2018-12-22 17:43:37.000000000 -0500
---- subst.c	2019-04-14 13:25:41.000000000 -0400
-***************
-*** 3626,3630 ****
-     SPECIAL is 2, this is an rhs argument for the =~ operator, and should
-     be quoted appropriately for regcomp/regexec.  The caller is responsible
-!    for removing the backslashes if the unquoted word is needed later. */   
-  char *
-  cond_expand_word (w, special)
---- 3642,3648 ----
-     SPECIAL is 2, this is an rhs argument for the =~ operator, and should
-     be quoted appropriately for regcomp/regexec.  The caller is responsible
-!    for removing the backslashes if the unquoted word is needed later. In
-!    any case, since we don't perform word splitting, we need to do quoted
-!    null character removal. */
-  char *
-  cond_expand_word (w, special)
-***************
-*** 3647,3650 ****
---- 3665,3670 ----
-        if (special == 0)			/* LHS */
-  	{
-+ 	  if (l->word)
-+ 	    word_list_remove_quoted_nulls (l);
-  	  dequote_list (l);
-  	  r = string_list (l);
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 10
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 11
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-012 b/srcpkgs/bash/files/bash50-012
deleted file mode 100644
index 7470e766550..00000000000
--- a/srcpkgs/bash/files/bash50-012
+++ /dev/null
@@ -1,64 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-012
-
-Bug-Reported-by:	lessbug@qq.com
-Bug-Reference-ID:	<tencent_6AA531D9A5CC4121D86BD5CDA2E0DA98C605@qq.com>
-Bug-Reference-URL:
-
-Bug-Description:
-
-When using previous-history to go back beyond the beginning of the history list,
-it's possible to move to an incorrect partial line.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/readline/misc.c	2017-07-07 17:30:12.000000000 -0400
---- lib/readline/misc.c	2019-05-16 11:43:46.000000000 -0400
-***************
-*** 577,580 ****
---- 590,594 ----
-  {
-    HIST_ENTRY *old_temp, *temp;
-+   int had_saved_line;
-  
-    if (count < 0)
-***************
-*** 589,592 ****
---- 603,607 ----
-  
-    /* If we don't have a line saved, then save this one. */
-+   had_saved_line = _rl_saved_line_for_history != 0;
-    rl_maybe_save_line ();
-  
-***************
-*** 612,616 ****
-    if (temp == 0)
-      {
-!       rl_maybe_unsave_line ();
-        rl_ding ();
-      }
---- 627,632 ----
-    if (temp == 0)
-      {
-!       if (had_saved_line == 0)
-!         _rl_free_saved_history_line ();
-        rl_ding ();
-      }
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 11
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 12
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-013 b/srcpkgs/bash/files/bash50-013
deleted file mode 100644
index e44fdb5053b..00000000000
--- a/srcpkgs/bash/files/bash50-013
+++ /dev/null
@@ -1,73 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-013
-
-Bug-Reported-by:	HIROSE Masaaki <hirose31@gmail.com>
-Bug-Reference-ID:	<CAGSOfA-RqiTe=+GsXsDKyZrrMWH4bDbXgMVVegMa6OjqC5xbnQ@mail.gmail.com>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00038.html
-
-Bug-Description:
-
-Reading history entries with timestamps can result in history entries joined
-by linefeeds.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/readline/histfile.c	2018-06-11 09:14:52.000000000 -0400
---- lib/readline/histfile.c	2019-05-16 15:55:57.000000000 -0400
-***************
-*** 370,376 ****
-  
-    has_timestamps = HIST_TIMESTAMP_START (buffer);
-!   history_multiline_entries += has_timestamps && history_write_timestamps;  
-  
-    /* Skip lines until we are at FROM. */
-    for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
-      if (*line_end == '\n')
---- 370,378 ----
-  
-    has_timestamps = HIST_TIMESTAMP_START (buffer);
-!   history_multiline_entries += has_timestamps && history_write_timestamps;
-  
-    /* Skip lines until we are at FROM. */
-+   if (has_timestamps)
-+     last_ts = buffer;
-    for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
-      if (*line_end == '\n')
-***************
-*** 381,385 ****
---- 383,398 ----
-  	if (HIST_TIMESTAMP_START(p) == 0)
-  	  current_line++;
-+ 	else
-+ 	  last_ts = p;
-  	line_start = p;
-+ 	/* If we are at the last line (current_line == from) but we have
-+ 	   timestamps (has_timestamps), then line_start points to the
-+ 	   text of the last command, and we need to skip to its end. */
-+ 	if (current_line >= from && has_timestamps)
-+ 	  {
-+ 	    for (line_end = p; line_end < bufend && *line_end != '\n'; line_end++)
-+ 	      ;
-+ 	    line_start = (*line_end == '\n') ? line_end + 1 : line_end;
-+ 	  }
-        }
-  
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 12
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 13
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-014 b/srcpkgs/bash/files/bash50-014
deleted file mode 100644
index 6cb49aae725..00000000000
--- a/srcpkgs/bash/files/bash50-014
+++ /dev/null
@@ -1,52 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-014
-
-Bug-Reported-by:	Johannes Hielscher <jhielscher@posteo.de>
-Bug-Reference-ID:	<20190208205048.77c25a83@hordevm>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-02/msg00032.html
-
-Bug-Description:
-
-If the current line is empty, using the emacs C-xC-e binding to enter the
-editor will edit the previous command instead of the current (empty) one.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/bashline.c	2019-01-16 16:13:21.000000000 -0500
---- bashline.c	2019-02-11 11:18:57.000000000 -0500
-***************
-*** 962,970 ****
-  	 finished with the command, so we should not ignore the last command */
-        using_history ();
-!       if (rl_line_buffer[0])
-! 	{
-! 	  current_command_line_count++;	/* for rl_newline above */
-! 	  bash_add_history (rl_line_buffer);
-! 	}
-        current_command_line_count = 0;	/* for dummy history entry */
-        bash_add_history ("");
---- 965,970 ----
-  	 finished with the command, so we should not ignore the last command */
-        using_history ();
-!       current_command_line_count++;	/* for rl_newline above */
-!       bash_add_history (rl_line_buffer);
-        current_command_line_count = 0;	/* for dummy history entry */
-        bash_add_history ("");
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 13
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 14
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-015 b/srcpkgs/bash/files/bash50-015
deleted file mode 100644
index ff6e5e69d6e..00000000000
--- a/srcpkgs/bash/files/bash50-015
+++ /dev/null
@@ -1,78 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-015
-
-Bug-Reported-by:	Yu Kou <ckyoog@gmail.com>
-Bug-Reference-ID:	<CAAqoF9Ko3nAShJXGzucafs-ByUagzZ4nbQonwEkwC7s9UqfWKw@mail.gmail.com>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00032.html
-
-Bug-Description:
-
-If alias expansion is enabled when processing the command argument to the
-`-c' option, an alias is defined in that command, and the command ends with
-the invocation of that alias, the shell's command parser can prematurely
-terminate before the entire command is executed.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-20190426/builtins/evalstring.c	2019-01-29 14:15:19.000000000 -0500
---- builtins/evalstring.c	2019-05-15 14:19:36.000000000 -0400
-***************
-*** 92,95 ****
---- 92,96 ----
-  	  running_trap == 0 &&
-  	  *bash_input.location.string == '\0' &&
-+ 	  parser_expanding_alias () == 0 &&
-  	  command->type == cm_simple &&
-  	  signal_is_trapped (EXIT_TRAP) == 0 &&
-***************
-*** 106,109 ****
---- 107,111 ----
-  {
-    return (*bash_input.location.string == '\0' &&
-+ 	  parser_expanding_alias () == 0 &&
-  	  (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-  	  command->value.Connection->second->type == cm_simple);
-***************
-*** 291,295 ****
-    with_input_from_string (string, from_file);
-    clear_shell_input_line ();
-!   while (*(bash_input.location.string))
-      {
-        command = (COMMAND *)NULL;
---- 293,297 ----
-    with_input_from_string (string, from_file);
-    clear_shell_input_line ();
-!   while (*(bash_input.location.string) || parser_expanding_alias ())
-      {
-        command = (COMMAND *)NULL;
-***************
-*** 546,550 ****
-  
-    with_input_from_string (string, from_file);
-!   while (*(bash_input.location.string))
-      {
-        command = (COMMAND *)NULL;
---- 548,552 ----
-  
-    with_input_from_string (string, from_file);
-!   while (*(bash_input.location.string))		/* XXX - parser_expanding_alias () ? */
-      {
-        command = (COMMAND *)NULL;
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 14
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 15
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-016 b/srcpkgs/bash/files/bash50-016
deleted file mode 100644
index 87f232d7ad4..00000000000
--- a/srcpkgs/bash/files/bash50-016
+++ /dev/null
@@ -1,58 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-016
-
-Bug-Reported-by:	sunnycemetery@gmail.com
-Bug-Reference-ID:	<20190316041534.GB22884@midnight>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-03/msg00070.html
-
-Bug-Description:
-
-Bash waits too long to reap /dev/fd process substitutions used as redirections
-with loops and group commands, which can lead to file descriptor exhaustion.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/execute_cmd.c	2019-04-19 15:46:36.000000000 -0400
---- execute_cmd.c	2019-07-01 16:45:49.000000000 -0400
-***************
-*** 1104,1107 ****
---- 1085,1104 ----
-        discard_unwind_frame ("internal_fifos");
-      }
-+ # if defined (HAVE_DEV_FD)
-+   /* Reap process substitutions at the end of loops */
-+   switch (command->type)
-+     {
-+     case cm_while:
-+     case cm_until:
-+     case cm_for:
-+     case cm_group:
-+ #    if defined (ARITH_FOR_COMMAND)
-+     case cm_arith_for:
-+ #    endif
-+       reap_procsubs ();
-+     default:
-+       break;
-+     }
-+ #  endif /* HAVE_DEV_FD */
-  #endif
-  
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 15
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 16
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-017 b/srcpkgs/bash/files/bash50-017
deleted file mode 100644
index adfcb6a8606..00000000000
--- a/srcpkgs/bash/files/bash50-017
+++ /dev/null
@@ -1,289 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-017
-
-Bug-Reported-by:	Valentin Lab <valentin.lab@kalysto.org>
-Bug-Reference-ID:	<ab981b9c-60a5-46d0-b7e6-a6d88b80df50@kalysto.org>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2020-03/msg00062.html
-
-Bug-Description:
-
-There were cases where patch 16 reaped process substitution file descriptors
-(or FIFOs) and processes to early. This is a better fix for the problem that
-bash50-016 attempted to solve.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/subst.c	2019-08-29 11:16:49.000000000 -0400
---- subst.c	2020-04-02 16:24:19.000000000 -0400
-***************
-*** 5337,5341 ****
-  }
-  
-! char *
-  copy_fifo_list (sizep)
-       int *sizep;
---- 5337,5341 ----
-  }
-  
-! void *
-  copy_fifo_list (sizep)
-       int *sizep;
-***************
-*** 5343,5347 ****
-    if (sizep)
-      *sizep = 0;
-!   return (char *)NULL;
-  }
-  
---- 5343,5347 ----
-    if (sizep)
-      *sizep = 0;
-!   return (void *)NULL;
-  }
-  
-***************
-*** 5409,5414 ****
-  	if (fifo_list[i].file)
-  	  {
-! 	    fifo_list[j].file = fifo_list[i].file;
-! 	    fifo_list[j].proc = fifo_list[i].proc;
-  	    j++;
-  	  }
---- 5409,5419 ----
-  	if (fifo_list[i].file)
-  	  {
-! 	    if (i != j)
-! 	      {
-! 		fifo_list[j].file = fifo_list[i].file;
-! 		fifo_list[j].proc = fifo_list[i].proc;
-! 		fifo_list[i].file = (char *)NULL;
-! 		fifo_list[i].proc = 0;
-! 	      }
-  	    j++;
-  	  }
-***************
-*** 5426,5433 ****
-  void
-  close_new_fifos (list, lsize)
-!      char *list;
-       int lsize;
-  {
-    int i;
-  
-    if (list == 0)
---- 5431,5439 ----
-  void
-  close_new_fifos (list, lsize)
-!      void *list;
-       int lsize;
-  {
-    int i;
-+   char *plist;
-  
-    if (list == 0)
-***************
-*** 5437,5442 ****
-      }
-  
-!   for (i = 0; i < lsize; i++)
-!     if (list[i] == 0 && i < fifo_list_size && fifo_list[i].proc != -1)
-        unlink_fifo (i);
-  
---- 5443,5448 ----
-      }
-  
-!   for (plist = (char *)list, i = 0; i < lsize; i++)
-!     if (plist[i] == 0 && i < fifo_list_size && fifo_list[i].proc != -1)
-        unlink_fifo (i);
-  
-***************
-*** 5560,5568 ****
-  }
-  
-! char *
-  copy_fifo_list (sizep)
-       int *sizep;
-  {
-!   char *ret;
-  
-    if (nfds == 0 || totfds == 0)
---- 5566,5574 ----
-  }
-  
-! void *
-  copy_fifo_list (sizep)
-       int *sizep;
-  {
-!   void *ret;
-  
-    if (nfds == 0 || totfds == 0)
-***************
-*** 5570,5579 ****
-        if (sizep)
-  	*sizep = 0;
-!       return (char *)NULL;
-      }
-  
-    if (sizep)
-      *sizep = totfds;
-!   ret = (char *)xmalloc (totfds * sizeof (pid_t));
-    return (memcpy (ret, dev_fd_list, totfds * sizeof (pid_t)));
-  }
---- 5576,5585 ----
-        if (sizep)
-  	*sizep = 0;
-!       return (void *)NULL;
-      }
-  
-    if (sizep)
-      *sizep = totfds;
-!   ret = xmalloc (totfds * sizeof (pid_t));
-    return (memcpy (ret, dev_fd_list, totfds * sizeof (pid_t)));
-  }
-***************
-*** 5648,5655 ****
-  void
-  close_new_fifos (list, lsize)
-!      char *list;
-       int lsize;
-  {
-    int i;
-  
-    if (list == 0)
---- 5654,5662 ----
-  void
-  close_new_fifos (list, lsize)
-!      void *list;
-       int lsize;
-  {
-    int i;
-+   pid_t *plist;
-  
-    if (list == 0)
-***************
-*** 5659,5664 ****
-      }
-  
-!   for (i = 0; i < lsize; i++)
-!     if (list[i] == 0 && i < totfds && dev_fd_list[i])
-        unlink_fifo (i);
-  
---- 5666,5671 ----
-      }
-  
-!   for (plist = (pid_t *)list, i = 0; i < lsize; i++)
-!     if (plist[i] == 0 && i < totfds && dev_fd_list[i])
-        unlink_fifo (i);
-  
-*** ../bash-5.0-patched/subst.h	2018-10-21 18:46:09.000000000 -0400
---- subst.h	2020-04-02 16:29:28.000000000 -0400
-***************
-*** 274,280 ****
-  extern void unlink_fifo __P((int));
-  
-! extern char *copy_fifo_list __P((int *));
-! extern void unlink_new_fifos __P((char *, int));
-! extern void close_new_fifos __P((char *, int));
-  
-  extern void clear_fifo_list __P((void));
---- 274,279 ----
-  extern void unlink_fifo __P((int));
-  
-! extern void *copy_fifo_list __P((int *));
-! extern void close_new_fifos __P((void *, int));
-  
-  extern void clear_fifo_list __P((void));
-*** ../bash-5.0-patched/execute_cmd.c	2020-02-06 20:16:48.000000000 -0500
---- execute_cmd.c	2020-04-02 17:00:10.000000000 -0400
-***************
-*** 565,569 ****
-  #if defined (PROCESS_SUBSTITUTION)
-    volatile int ofifo, nfifo, osize, saved_fifo;
-!   volatile char *ofifo_list;
-  #endif
-  
---- 565,569 ----
-  #if defined (PROCESS_SUBSTITUTION)
-    volatile int ofifo, nfifo, osize, saved_fifo;
-!   volatile void *ofifo_list;
-  #endif
-  
-***************
-*** 751,760 ****
-  #  endif
-  
-!   if (variable_context != 0)	/* XXX - also if sourcelevel != 0? */
-      {
-        ofifo = num_fifos ();
-        ofifo_list = copy_fifo_list ((int *)&osize);
-        begin_unwind_frame ("internal_fifos");
-!       add_unwind_protect (xfree, ofifo_list);
-        saved_fifo = 1;
-      }
---- 751,762 ----
-  #  endif
-  
-!   /* XXX - also if sourcelevel != 0? */
-!   if (variable_context != 0)
-      {
-        ofifo = num_fifos ();
-        ofifo_list = copy_fifo_list ((int *)&osize);
-        begin_unwind_frame ("internal_fifos");
-!       if (ofifo_list)
-! 	add_unwind_protect (xfree, ofifo_list);
-        saved_fifo = 1;
-      }
-***************
-*** 1100,1123 ****
-        nfifo = num_fifos ();
-        if (nfifo > ofifo)
-! 	close_new_fifos ((char *)ofifo_list, osize);
-        free ((void *)ofifo_list);
-        discard_unwind_frame ("internal_fifos");
-      }
-- # if defined (HAVE_DEV_FD)
--   /* Reap process substitutions at the end of loops */
--   switch (command->type)
--     {
--     case cm_while:
--     case cm_until:
--     case cm_for:
--     case cm_group:
-- #    if defined (ARITH_FOR_COMMAND)
--     case cm_arith_for:
-- #    endif
--       reap_procsubs ();
--     default:
--       break;
--     }
-- #  endif /* HAVE_DEV_FD */
-  #endif
-  
---- 1102,1109 ----
-        nfifo = num_fifos ();
-        if (nfifo > ofifo)
-! 	close_new_fifos ((void *)ofifo_list, osize);
-        free ((void *)ofifo_list);
-        discard_unwind_frame ("internal_fifos");
-      }
-  #endif
-  
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 16
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 17
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/update-bash-patches.sh b/srcpkgs/bash/files/update-bash-patches.sh
deleted file mode 100755
index 63c5e20c233..00000000000
--- a/srcpkgs/bash/files/update-bash-patches.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-source ../template
-
-for i in $(seq -w 001 ${_bash_patchlevel}); do
-	curl https://ftp.gnu.org/gnu/bash/bash-$_bash_distver-patches/bash${_bash_distver//./}-$i \
-		> bash${_bash_distver//./}-${_bash_patchlevel}
-done
diff --git a/srcpkgs/bash/template b/srcpkgs/bash/template
index 91e2e4c1ca3..8f3dd4b87fe 100644
--- a/srcpkgs/bash/template
+++ b/srcpkgs/bash/template
@@ -15,9 +15,35 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.gnu.org/software/bash/bash.html"
 distfiles="${GNU_SITE}/${pkgname}/${pkgname}-${_bash_distver}.tar.gz"
-make_dirs="/etc/bash/bashrc.d 755 root root"
-checksum=b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
 
+_url="${GNU_SITE}/bash/bash-${_bash_distver}-patches"
+for _p in $(seq -w 001 ${_bash_patchlevel}); do
+	distfiles+=" ${_url}/bash${_bash_distver/./}-${_p}"
+	skip_extraction+=" bash${_bash_distver/./}-${_p}"
+done
+unset _url
+unset _p
+
+checksum="b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
+ f2fe9e1f0faddf14ab9bfa88d450a75e5d028fedafad23b88716bd657c737289
+ 87e87d3542e598799adb3e7e01c8165bc743e136a400ed0de015845f7ff68707
+ 4eebcdc37b13793a232c5f2f498a5fcbf7da0ecb3da2059391c096db620ec85b
+ 14447ad832add8ecfafdce5384badd933697b559c4688d6b9e3d36ff36c62f08
+ 5bf54dd9bd2c211d2bfb34a49e2c741f2ed5e338767e9ce9f4d41254bf9f8276
+ d68529a6ff201b6ff5915318ab12fc16b8a0ebb77fda3308303fcc1e13398420
+ 17b41e7ee3673d8887dd25992417a398677533ab8827938aa41fad70df19af9b
+ eec64588622a82a5029b2776e218a75a3640bef4953f09d6ee1f4199670ad7e3
+ ed3ca21767303fc3de93934aa524c2e920787c506b601cc40a4897d4b094d903
+ d6fbc325f0b5dc54ddbe8ee43020bced8bd589ddffea59d128db14b2e52a8a11
+ 2c4de332b91eaf797abbbd6c79709690b5cbd48b12e8dfe748096dbd7bf474ea
+ 2943ee19688018296f2a04dbfe30b7138b889700efa8ff1c0524af271e0ee233
+ f5d7178d8da30799e01b83a0802018d913d6aa972dd2ddad3b927f3f3eb7099a
+ 5d6eee6514ee6e22a87bba8d22be0a8621a0ae119246f1c5a9a35db1f72af589
+ a517df2dda93b26d5cbf00effefea93e3a4ccd6652f152f4109170544ebfa05e
+ ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d
+ 4cf3b9fafb8a66d411dd5fc9120032533a4012df1dc6ee024c7833373e2ddc31"
+
+make_dirs="/etc/bash/bashrc.d 755 root root"
 conflicts="chroot-bash>=0"
 register_shell="/usr/bin/bash /bin/bash"
 
@@ -27,13 +53,11 @@ alternatives="
 
 CFLAGS="-DSYS_BASHRC='\"/etc/bash/bashrc\"'"
 
-pre_configure() {
-	local ver=$(echo ${_bash_distver}|sed "s|\.||g")
-
+post_patch() {
 	cd ${wrksrc}
 	for p in $(seq -w 001 ${_bash_patchlevel}); do
-		patch -sNp0 -i ${FILESDIR}/bash${ver}-${p}
-		msg_normal " Applying patch bash${ver}-$p.\n"
+		msg_normal " Applying patch bash${_major}${_minor}-$p.\n"
+		patch -sNp0 -i ${XBPS_SRCDISTDIR}/bash-$version/bash${_major}${_minor}-${p}
 	done
 }
 

From fbee372e2e1ce6573e5b2953b3cef25c7002ce15 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Tue, 28 Jul 2020 07:07:49 +0700
Subject: [PATCH 5/6] bash: update to 5.0.018.

Close: #23815
---
 srcpkgs/bash/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/bash/template b/srcpkgs/bash/template
index 8f3dd4b87fe..67f723cccb5 100644
--- a/srcpkgs/bash/template
+++ b/srcpkgs/bash/template
@@ -1,7 +1,7 @@
 # Template file for 'bash'
 pkgname=bash
 _bash_distver=5.0
-_bash_patchlevel=017
+_bash_patchlevel=018
 version="${_bash_distver}.${_bash_patchlevel}"
 revision=1
 wrksrc="${pkgname}-${_bash_distver}"
@@ -41,7 +41,8 @@ checksum="b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
  5d6eee6514ee6e22a87bba8d22be0a8621a0ae119246f1c5a9a35db1f72af589
  a517df2dda93b26d5cbf00effefea93e3a4ccd6652f152f4109170544ebfa05e
  ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d
- 4cf3b9fafb8a66d411dd5fc9120032533a4012df1dc6ee024c7833373e2ddc31"
+ 4cf3b9fafb8a66d411dd5fc9120032533a4012df1dc6ee024c7833373e2ddc31
+ 7c314e375a105a6642e8ed44f3808b9def89d15f7492fe2029a21ba9c0de81d3"
 
 make_dirs="/etc/bash/bashrc.d 755 root root"
 conflicts="chroot-bash>=0"

From 186c3186bdb3e035ef207f53c4466faccd36235a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 12:13:07 +0700
Subject: [PATCH 6/6] libreadline8: verify patch's checksum

---
 srcpkgs/libreadline8/template | 25 +++++++++++--------------
 1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/srcpkgs/libreadline8/template b/srcpkgs/libreadline8/template
index 6200195be9e..c351f0db6e2 100644
--- a/srcpkgs/libreadline8/template
+++ b/srcpkgs/libreadline8/template
@@ -14,22 +14,19 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://tiswww.cwru.edu/php/chet/readline/rltop.html"
 distfiles="${GNU_SITE}/readline/readline-${_dist_ver}.tar.gz"
-checksum=e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461
 
-pre_configure() {
-	local url="${GNU_SITE}/readline/readline-${_dist_ver}-patches"
+_url="${GNU_SITE}/readline/readline-${_dist_ver}-patches"
+for _p in $(seq -w 001 ${_patch_ver}); do
+	distfiles+=" ${_url}/readline${_dist_ver/./}-${_p}"
+	skip_extraction+=" readline${_dist_ver/./}-${_p}"
+done
+unset _url
+unset _p
 
-	cd ${XBPS_SRCDISTDIR}/${pkgname}-${version}
-	if [ "${_patch_ver}" -gt 000 ]; then
-		for p in $(seq -w 001 ${_patch_ver}); do
-			if [ -f readline${version/./}-${p} ]; then
-				continue
-			fi
-			local patch_url="${url}/readline${_dist_ver/./}-${p}"
-			msg_normal " Fetching ${patch_url} ...\n"
-			$XBPS_FETCH_CMD "${patch_url}"
-		done
-	fi
+checksum="e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461
+ d8e5e98933cf5756f862243c0601cb69d3667bb33f2c7b751fe4e40b2c3fd069"
+
+post_patch() {
 	cd ${wrksrc}
 	for p in $(seq -w 001 ${_patch_ver}); do
 		patch -s -Np0 -i ${XBPS_SRCDISTDIR}/${pkgname}-${version}/readline${_dist_ver/./}-${p}

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] bash: stop vendoring patch
  2020-07-25  8:35 [PR PATCH] bash: stop vendoring patch sgn
                   ` (5 preceding siblings ...)
  2020-07-28  0:11 ` [PR PATCH] [Updated] " sgn
@ 2020-07-28  7:06 ` sgn
  2020-07-28  7:08 ` sgn
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: sgn @ 2020-07-28  7:06 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 416 bytes --]

There is an updated pull request by sgn against master on the void-packages repository

https://github.com/sgn/void-packages bash-no-vendor
https://github.com/void-linux/void-packages/pull/23826

bash: stop vendoring patch
- carry them along won't get us anywhere
- verify checksum for libreadline8

conflict with #23815 

A patch file from https://github.com/void-linux/void-packages/pull/23826.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-bash-no-vendor-23826.patch --]
[-- Type: text/x-diff, Size: 69942 bytes --]

From f03a1627470403d2f98ae77db4f548a89c0394eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 10:17:01 +0700
Subject: [PATCH 1/6] gitattributes: don't show whitespace error on patches

---
 .gitattributes | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.gitattributes b/.gitattributes
index 7f24a8f81d0..8ddae6fce45 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,2 +1,4 @@
 template linguist-language=bash
 common/shlibs merge=union
+*.patch whitespace=-space-before-tab,-trailing-space
+*.diff whitespace=-space-before-tab,-trailing-space

From cd845333cc0b099fb0553fd1ec53dbd22d2d7f25 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 10:28:57 +0700
Subject: [PATCH 2/6] chroot-bash: stop vendoring patch

---
 srcpkgs/chroot-bash/template | 36 ++++++++++++++++++++++++++++++------
 1 file changed, 30 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/chroot-bash/template b/srcpkgs/chroot-bash/template
index 97b8a9be81f..9c7f4f04809 100644
--- a/srcpkgs/chroot-bash/template
+++ b/srcpkgs/chroot-bash/template
@@ -15,18 +15,42 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="http://www.gnu.org/software/bash/bash.html"
 distfiles="${GNU_SITE}/bash/bash-${_bash_distver}.tar.gz"
-checksum=b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
+
+_url="${GNU_SITE}/bash/bash-${_bash_distver}-patches"
+for _p in $(seq -w 001 ${_bash_patchlevel}); do
+	distfiles+=" ${_url}/bash${_bash_distver/./}-${_p}"
+	skip_extraction+=" bash${_bash_distver/./}-${_p}"
+done
+unset _url
+unset _p
+
+checksum="b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
+ f2fe9e1f0faddf14ab9bfa88d450a75e5d028fedafad23b88716bd657c737289
+ 87e87d3542e598799adb3e7e01c8165bc743e136a400ed0de015845f7ff68707
+ 4eebcdc37b13793a232c5f2f498a5fcbf7da0ecb3da2059391c096db620ec85b
+ 14447ad832add8ecfafdce5384badd933697b559c4688d6b9e3d36ff36c62f08
+ 5bf54dd9bd2c211d2bfb34a49e2c741f2ed5e338767e9ce9f4d41254bf9f8276
+ d68529a6ff201b6ff5915318ab12fc16b8a0ebb77fda3308303fcc1e13398420
+ 17b41e7ee3673d8887dd25992417a398677533ab8827938aa41fad70df19af9b
+ eec64588622a82a5029b2776e218a75a3640bef4953f09d6ee1f4199670ad7e3
+ ed3ca21767303fc3de93934aa524c2e920787c506b601cc40a4897d4b094d903
+ d6fbc325f0b5dc54ddbe8ee43020bced8bd589ddffea59d128db14b2e52a8a11
+ 2c4de332b91eaf797abbbd6c79709690b5cbd48b12e8dfe748096dbd7bf474ea
+ 2943ee19688018296f2a04dbfe30b7138b889700efa8ff1c0524af271e0ee233
+ f5d7178d8da30799e01b83a0802018d913d6aa972dd2ddad3b927f3f3eb7099a
+ 5d6eee6514ee6e22a87bba8d22be0a8621a0ae119246f1c5a9a35db1f72af589
+ a517df2dda93b26d5cbf00effefea93e3a4ccd6652f152f4109170544ebfa05e
+ ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d"
 
 bootstrap=yes
 provides="bash-${version}_${revision}"
-conflicts="bash>=0 dash>=0"
+conflicts="bash>=0 dash>=0 busybox>=0 loksh>=0 mksh>=0 oksh>=0 yash>=0"
 
-pre_configure() {
-	local ver=${_bash_distver//./} p
+post_patch() {
 	cd ${wrksrc}
 	for p in $(seq -w 001 ${_bash_patchlevel}); do
-		msg_normal " Applying patch bash${ver}-$p.\n"
-		patch -sNp0 -i ${XBPS_SRCPKGDIR}/bash/files/bash${ver}-${p}
+		msg_normal " Applying patch bash${_bash_distver/./}-$p.\n"
+		patch -sNp0 -i ${XBPS_SRCDISTDIR}/chroot-bash-$version/bash${_bash_distver/./}-${p}
 	done
 }
 

From 5f559ce3a481ae62be04e469a61ede599764d810 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Tue, 28 Jul 2020 06:59:54 +0700
Subject: [PATCH 3/6] chroot-bash: update to 5.0.018.

---
 srcpkgs/chroot-bash/template | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/chroot-bash/template b/srcpkgs/chroot-bash/template
index 9c7f4f04809..7d9f34d7dc7 100644
--- a/srcpkgs/chroot-bash/template
+++ b/srcpkgs/chroot-bash/template
@@ -1,7 +1,7 @@
 # Template file for 'chroot-bash'
 pkgname=chroot-bash
 _bash_distver=5.0
-_bash_patchlevel=016
+_bash_patchlevel=018
 version="${_bash_distver}.${_bash_patchlevel}"
 revision=1
 wrksrc="bash-${_bash_distver}"
@@ -40,7 +40,9 @@ checksum="b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
  f5d7178d8da30799e01b83a0802018d913d6aa972dd2ddad3b927f3f3eb7099a
  5d6eee6514ee6e22a87bba8d22be0a8621a0ae119246f1c5a9a35db1f72af589
  a517df2dda93b26d5cbf00effefea93e3a4ccd6652f152f4109170544ebfa05e
- ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d"
+ ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d
+ 4cf3b9fafb8a66d411dd5fc9120032533a4012df1dc6ee024c7833373e2ddc31
+ 7c314e375a105a6642e8ed44f3808b9def89d15f7492fe2029a21ba9c0de81d3"
 
 bootstrap=yes
 provides="bash-${version}_${revision}"

From 344174cae393b3692373422e000b31558f0e1f32 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 15:28:53 +0700
Subject: [PATCH 4/6] bash: stop vendoring patches

---
 srcpkgs/bash/files/bash50-001             | 167 -------------
 srcpkgs/bash/files/bash50-002             | 113 ---------
 srcpkgs/bash/files/bash50-003             | 239 ------------------
 srcpkgs/bash/files/bash50-004             |  53 ----
 srcpkgs/bash/files/bash50-005             | 110 --------
 srcpkgs/bash/files/bash50-006             |  47 ----
 srcpkgs/bash/files/bash50-007             |  62 -----
 srcpkgs/bash/files/bash50-008             |  68 -----
 srcpkgs/bash/files/bash50-009             |  42 ----
 srcpkgs/bash/files/bash50-010             | 172 -------------
 srcpkgs/bash/files/bash50-011             |  59 -----
 srcpkgs/bash/files/bash50-012             |  64 -----
 srcpkgs/bash/files/bash50-013             |  73 ------
 srcpkgs/bash/files/bash50-014             |  52 ----
 srcpkgs/bash/files/bash50-015             |  78 ------
 srcpkgs/bash/files/bash50-016             |  58 -----
 srcpkgs/bash/files/bash50-017             | 289 ----------------------
 srcpkgs/bash/files/update-bash-patches.sh |   7 -
 srcpkgs/bash/template                     |  38 ++-
 19 files changed, 31 insertions(+), 1760 deletions(-)
 delete mode 100644 srcpkgs/bash/files/bash50-001
 delete mode 100644 srcpkgs/bash/files/bash50-002
 delete mode 100644 srcpkgs/bash/files/bash50-003
 delete mode 100644 srcpkgs/bash/files/bash50-004
 delete mode 100644 srcpkgs/bash/files/bash50-005
 delete mode 100644 srcpkgs/bash/files/bash50-006
 delete mode 100644 srcpkgs/bash/files/bash50-007
 delete mode 100644 srcpkgs/bash/files/bash50-008
 delete mode 100644 srcpkgs/bash/files/bash50-009
 delete mode 100644 srcpkgs/bash/files/bash50-010
 delete mode 100644 srcpkgs/bash/files/bash50-011
 delete mode 100644 srcpkgs/bash/files/bash50-012
 delete mode 100644 srcpkgs/bash/files/bash50-013
 delete mode 100644 srcpkgs/bash/files/bash50-014
 delete mode 100644 srcpkgs/bash/files/bash50-015
 delete mode 100644 srcpkgs/bash/files/bash50-016
 delete mode 100644 srcpkgs/bash/files/bash50-017
 delete mode 100755 srcpkgs/bash/files/update-bash-patches.sh

diff --git a/srcpkgs/bash/files/bash50-001 b/srcpkgs/bash/files/bash50-001
deleted file mode 100644
index 087bd82cf72..00000000000
--- a/srcpkgs/bash/files/bash50-001
+++ /dev/null
@@ -1,167 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-001
-
-Bug-Reported-by:	axel@freakout.de
-Bug-Reference-ID:	<201901082050.x08KoShS006731@bongo.freakout.de>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00079.html
-
-Bug-Description:
-
-Under certain circumstances, the glob expansion code did not remove
-backslashes escaping characters in directory names (or portions of a
-pattern preceding a slash).
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0/bashline.c	2018-11-27 13:20:16.000000000 -0500
---- bashline.c	2019-01-16 16:06:03.000000000 -0500
-***************
-*** 232,235 ****
---- 232,236 ----
-  static int bash_possible_command_completions __P((int, int));
-  
-+ static int completion_glob_pattern __P((char *));
-  static char *glob_complete_word __P((const char *, int));
-  static int bash_glob_completion_internal __P((int));
-***************
-*** 1742,1746 ****
-    /* This could be a globbing pattern, so try to expand it using pathname
-       expansion. */
-!   if (!matches && glob_pattern_p (text))
-      {
-        matches = rl_completion_matches (text, glob_complete_word);
---- 1743,1747 ----
-    /* This could be a globbing pattern, so try to expand it using pathname
-       expansion. */
-!   if (!matches && completion_glob_pattern ((char *)text))
-      {
-        matches = rl_completion_matches (text, glob_complete_word);
-***************
-*** 1851,1855 ****
-  	}
-  
-!       globpat = glob_pattern_p (hint_text);
-  
-        /* If this is an absolute program name, do not check it against
---- 1852,1856 ----
-  	}
-  
-!       globpat = completion_glob_pattern ((char *)hint_text);
-  
-        /* If this is an absolute program name, do not check it against
-***************
-*** 3714,3717 ****
---- 3715,3773 ----
-  }
-  
-+ static int
-+ completion_glob_pattern (string)
-+      char *string;
-+ {
-+   register int c;
-+   char *send;
-+   int open;
-+ 
-+   DECLARE_MBSTATE;
-+ 
-+   open = 0;
-+   send = string + strlen (string);
-+ 
-+   while (c = *string++)
-+     {
-+       switch (c)
-+ 	{
-+ 	case '?':
-+ 	case '*':
-+ 	  return (1);
-+ 
-+ 	case '[':
-+ 	  open++;
-+ 	  continue;
-+ 
-+ 	case ']':
-+ 	  if (open)
-+ 	    return (1);
-+ 	  continue;
-+ 
-+ 	case '+':
-+ 	case '@':
-+ 	case '!':
-+ 	  if (*string == '(')	/*)*/
-+ 	    return (1);
-+ 	  continue;
-+ 
-+ 	case '\\':
-+ 	  if (*string == 0)
-+ 	    return (0);	 	  
-+ 	}
-+ 
-+       /* Advance one fewer byte than an entire multibyte character to
-+ 	 account for the auto-increment in the loop above. */
-+ #ifdef HANDLE_MULTIBYTE
-+       string--;
-+       ADVANCE_CHAR_P (string, send - string);
-+       string++;
-+ #else
-+       ADVANCE_CHAR_P (string, send - string);
-+ #endif
-+     }
-+   return (0);
-+ }
-+ 
-  static char *globtext;
-  static char *globorig;
-***************
-*** 3878,3882 ****
-      }      
-  
-!   if (t && glob_pattern_p (t) == 0)
-      rl_explicit_arg = 1;	/* XXX - force glob_complete_word to append `*' */
-    FREE (t);
---- 3934,3938 ----
-      }      
-  
-!   if (t && completion_glob_pattern (t) == 0)
-      rl_explicit_arg = 1;	/* XXX - force glob_complete_word to append `*' */
-    FREE (t);
-*** ../bash-5.0/lib/glob/glob_loop.c	2018-12-31 13:35:15.000000000 -0500
---- lib/glob/glob_loop.c	2019-01-09 09:44:36.000000000 -0500
-***************
-*** 55,59 ****
-  
-        case L('\\'):
-- #if 0
-  	/* Don't let the pattern end in a backslash (GMATCH returns no match
-  	   if the pattern ends in a backslash anyway), but otherwise return 1,
---- 55,58 ----
-***************
-*** 61,69 ****
-  	   and it can be removed. */
-  	return (*p != L('\0'));
-- #else
-- 	/* The pattern may not end with a backslash. */
-- 	if (*p++ == L('\0'))
-- 	  return 0;
-- #endif
-        }
-  
---- 60,63 ----
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 0
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 1
-  
-  #endif /* _PATCHLEVEL_H_ */
-
diff --git a/srcpkgs/bash/files/bash50-002 b/srcpkgs/bash/files/bash50-002
deleted file mode 100644
index 3fc8272f84a..00000000000
--- a/srcpkgs/bash/files/bash50-002
+++ /dev/null
@@ -1,113 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-002
-
-Bug-Reported-by:	Ante Peric <synthmeat@gmail.com>
-Bug-Reference-ID:	<B7E3B567-2467-4F7B-B6B9-CA4E75A9C93F@gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00095.html
-
-Bug-Description:
-
-When an alias value ends with an unquoted literal tab (not part of a quoted
-string or comment), alias expansion cannot correctly detect the end of the
-alias value after expanding it.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0/parser.h	2018-12-28 19:11:18.000000000 -0500
---- parser.h	2019-01-11 15:13:03.000000000 -0500
-***************
-*** 48,51 ****
---- 48,52 ----
-  #define PST_REDIRLIST	0x080000	/* parsing a list of redirections preceding a simple command name */
-  #define PST_COMMENT	0x100000	/* parsing a shell comment; used by aliases */
-+ #define PST_ENDALIAS	0x200000	/* just finished expanding and consuming an alias */
-  
-  /* Definition of the delimiter stack.  Needed by parse.y and bashhist.c. */
-*** ../bash-5.0/parse.y	2019-01-02 13:57:34.000000000 -0500
---- parse.y	2019-01-14 08:23:31.000000000 -0500
-***************
-*** 2558,2567 ****
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-        shell_input_line_index > 0 &&
-!       shell_input_line[shell_input_line_index-1] != ' ' &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-        return ' ';	/* END_ALIAS */
-      }
---- 2558,2569 ----
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-+       (parser_state & PST_ENDALIAS) == 0 &&	/* only once */
-        shell_input_line_index > 0 &&
-!       shellblank (shell_input_line[shell_input_line_index-1]) == 0 &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-+       parser_state |= PST_ENDALIAS;
-        return ' ';	/* END_ALIAS */
-      }
-***************
-*** 2572,2575 ****
---- 2574,2578 ----
-    if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE)
-      {
-+       parser_state &= ~PST_ENDALIAS;
-        pop_string ();
-        uc = shell_input_line[shell_input_line_index];
-*** ../bash-5.0/y.tab.c	2019-01-02 13:57:43.000000000 -0500
---- y.tab.c	2019-01-14 08:39:23.000000000 -0500
-***************
-*** 4874,4883 ****
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-        shell_input_line_index > 0 &&
-!       shell_input_line[shell_input_line_index-1] != ' ' &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-        return ' ';	/* END_ALIAS */
-      }
---- 4874,4885 ----
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-+       (parser_state & PST_ENDALIAS) == 0 &&	/* only once */
-        shell_input_line_index > 0 &&
-!       shellblank (shell_input_line[shell_input_line_index-1]) == 0 &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-+       parser_state |= PST_ENDALIAS;
-        return ' ';	/* END_ALIAS */
-      }
-***************
-*** 4888,4891 ****
---- 4890,4894 ----
-    if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE)
-      {
-+       parser_state &= ~PST_ENDALIAS;
-        pop_string ();
-        uc = shell_input_line[shell_input_line_index];
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 1
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 2
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-003 b/srcpkgs/bash/files/bash50-003
deleted file mode 100644
index f7e5677e540..00000000000
--- a/srcpkgs/bash/files/bash50-003
+++ /dev/null
@@ -1,239 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-003
-
-Bug-Reported-by:	Andrew Church <achurch+bash@achurch.org>
-Bug-Reference-ID:	<5c534aa2.04371@msgid.achurch.org>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00276.html
-
-Bug-Description:
-
-There are several incompatibilities in how bash-5.0 processes pathname
-expansion (globbing) of filename arguments that have backslashes in the
-directory portion.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/glob/glob_loop.c	2019-01-16 16:13:21.000000000 -0500
---- lib/glob/glob_loop.c	2019-02-01 09:45:11.000000000 -0500
-***************
-*** 27,34 ****
-    register const GCHAR *p;
-    register GCHAR c;
-!   int bopen;
-  
-    p = pattern;
-!   bopen = 0;
-  
-    while ((c = *p++) != L('\0'))
---- 27,34 ----
-    register const GCHAR *p;
-    register GCHAR c;
-!   int bopen, bsquote;
-  
-    p = pattern;
-!   bopen = bsquote = 0;
-  
-    while ((c = *p++) != L('\0'))
-***************
-*** 56,66 ****
-        case L('\\'):
-  	/* Don't let the pattern end in a backslash (GMATCH returns no match
-! 	   if the pattern ends in a backslash anyway), but otherwise return 1,
-! 	   since the matching engine uses backslash as an escape character
-! 	   and it can be removed. */
-! 	return (*p != L('\0'));
-        }
-  
-!   return 0;
-  }
-  
---- 56,75 ----
-        case L('\\'):
-  	/* Don't let the pattern end in a backslash (GMATCH returns no match
-! 	   if the pattern ends in a backslash anyway), but otherwise note that 
-! 	   we have seen this, since the matching engine uses backslash as an
-! 	   escape character and it can be removed. We return 2 later if we
-! 	   have seen only backslash-escaped characters, so interested callers
-! 	   know they can shortcut and just dequote the pathname. */
-! 	if (*p != L('\0'))
-! 	  {
-! 	    p++;
-! 	    bsquote = 1;
-! 	    continue;
-! 	  }
-! 	else 	/* (*p == L('\0')) */
-! 	  return 0;
-        }
-  
-!   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-03-07 14:23:43.000000000 -0500
-***************
-*** 1062,1066 ****
-    unsigned int directory_len;
-    int free_dirname;			/* flag */
-!   int dflags;
-  
-    result = (char **) malloc (sizeof (char *));
---- 1078,1082 ----
-    unsigned int directory_len;
-    int free_dirname;			/* flag */
-!   int dflags, hasglob;
-  
-    result = (char **) malloc (sizeof (char *));
-***************
-*** 1111,1117 ****
-      }
-  
-    /* If directory_name contains globbing characters, then we
-!      have to expand the previous levels.  Just recurse. */
-!   if (directory_len > 0 && glob_pattern_p (directory_name))
-      {
-        char **directories, *d, *p;
---- 1127,1136 ----
-      }
-  
-+   hasglob = 0;
-    /* If directory_name contains globbing characters, then we
-!      have to expand the previous levels.  Just recurse.
-!      If glob_pattern_p returns != [0,1] we have a pattern that has backslash
-!      quotes but no unquoted glob pattern characters. We dequote it below. */
-!   if (directory_len > 0 && (hasglob = glob_pattern_p (directory_name)) == 1)
-      {
-        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,1369 ----
-  	  return (NULL);
-  	}
-+       /* 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
---- pathexp.c	2019-01-31 20:19:41.000000000 -0500
-***************
-*** 66,74 ****
-    register int c;
-    char *send;
-!   int open;
-  
-    DECLARE_MBSTATE;
-  
-!   open = 0;
-    send = string + strlen (string);
-  
---- 66,74 ----
-    register int c;
-    char *send;
-!   int open, bsquote;
-  
-    DECLARE_MBSTATE;
-  
-!   open = bsquote = 0;
-    send = string + strlen (string);
-  
-***************
-*** 101,105 ****
-  	   globbing. */
-  	case '\\':
-! 	  return (*string != 0);
-  	 	  
-  	case CTLESC:
---- 101,112 ----
-  	   globbing. */
-  	case '\\':
-! 	  if (*string != '\0' && *string != '/')
-! 	    {
-! 	      bsquote = 1;
-! 	      string++;
-! 	      continue;
-! 	    }
-! 	  else if (*string == 0)
-! 	    return (0);
-  	 	  
-  	case CTLESC:
-***************
-*** 118,122 ****
-  #endif
-      }
-!   return (0);
-  }
-  
---- 125,130 ----
-  #endif
-      }
-! 
-!   return (bsquote ? 2 : 0);
-  }
-  
-*** ../bash-5.0-patched/bashline.c	2019-01-16 16:13:21.000000000 -0500
---- bashline.c	2019-02-22 09:29:08.000000000 -0500
-***************
-*** 3753,3757 ****
-  
-  	case '\\':
-! 	  if (*string == 0)
-  	    return (0);	 	  
-  	}
---- 3766,3770 ----
-  
-  	case '\\':
-! 	  if (*string++ == 0)
-  	    return (0);	 	  
-  	}
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 2
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 3
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-004 b/srcpkgs/bash/files/bash50-004
deleted file mode 100644
index fe3c764bd6c..00000000000
--- a/srcpkgs/bash/files/bash50-004
+++ /dev/null
@@ -1,53 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-004
-
-Bug-Reported-by:	Daniel Kahn Gillmor <dkg@fifthhorseman.net>
-Bug-Reference-ID:	<87lg0g8aiw.fsf@fifthhorseman.net>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-04/msg00076.html
-
-Bug-Description:
-
-In bash-5.0, the `wait' builtin without arguments waits for all children of the
-shell. This includes children it `inherited' at shell invocation time. This
-patch modifies the behavior to not wait for these inherited children, some
-of which might be long-lived.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/jobs.c	2018-12-06 11:44:34.000000000 -0500
---- jobs.c	2019-04-12 15:15:10.000000000 -0400
-***************
-*** 2489,2496 ****
-    wait_procsubs ();
-    reap_procsubs ();
-! #if 1
-    /* We don't want to wait indefinitely if we have stopped children. */
--   /* XXX - should add a loop that goes through the list of process
--      substitutions and waits for each proc in turn before this code. */
-    if (any_stopped == 0)
-      {
---- 2490,2495 ----
-    wait_procsubs ();
-    reap_procsubs ();
-! #if 0
-    /* We don't want to wait indefinitely if we have stopped children. */
-    if (any_stopped == 0)
-      {
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 3
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 4
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-005 b/srcpkgs/bash/files/bash50-005
deleted file mode 100644
index 9b1cd75b0b6..00000000000
--- a/srcpkgs/bash/files/bash50-005
+++ /dev/null
@@ -1,110 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-005
-
-Bug-Reported-by:	Brad Spencer <bspencer@blackberry.com>
-Bug-Reference-ID:	<1b993ff2-ce4f-662a-6be4-393457362e47@blackberry.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00250.html
-
-Bug-Description:
-
-In certain cases, bash optimizes out a fork() call too early and prevents
-traps from running.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/command.h	2018-07-20 21:16:31.000000000 -0400
---- command.h	2019-02-20 11:09:36.000000000 -0500
-***************
-*** 187,190 ****
---- 188,192 ----
-  #define CMD_LASTPIPE	    0x2000
-  #define CMD_STDPATH	    0x4000	/* use standard path for command lookup */
-+ #define CMD_TRY_OPTIMIZING  0x8000	/* try to optimize this simple command */
-  
-  /* What a command looks like. */
-*** ../bash-5.0-patched/builtins/evalstring.c	2018-12-26 11:19:21.000000000 -0500
---- builtins/evalstring.c	2019-01-29 14:15:19.000000000 -0500
-***************
-*** 101,104 ****
---- 101,113 ----
-  }
-  
-+ int
-+ can_optimize_connection (command)
-+      COMMAND *command;
-+ {
-+   return (*bash_input.location.string == '\0' &&
-+ 	  (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-+ 	  command->value.Connection->second->type == cm_simple);
-+ }
-+ 
-  void
-  optimize_fork (command)
-***************
-*** 106,110 ****
-  {
-    if (command->type == cm_connection &&
-!       (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR) &&
-        should_suppress_fork (command->value.Connection->second))
-      {
---- 115,120 ----
-  {
-    if (command->type == cm_connection &&
-!       (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-!       (command->value.Connection->second->flags & CMD_TRY_OPTIMIZING) &&
-        should_suppress_fork (command->value.Connection->second))
-      {
-***************
-*** 413,418 ****
-  		  command->value.Simple->flags |= CMD_NO_FORK;
-  		}
-! 	      else if (command->type == cm_connection)
-! 		optimize_fork (command);
-  #endif /* ONESHOT */
-  
---- 423,438 ----
-  		  command->value.Simple->flags |= CMD_NO_FORK;
-  		}
-! 
-! 	      /* Can't optimize forks out here execept for simple commands.
-! 		 This knows that the parser sets up commands as left-side heavy
-! 		 (&& and || are left-associative) and after the single parse,
-! 		 if we are at the end of the command string, the last in a
-! 		 series of connection commands is
-! 		 command->value.Connection->second. */
-! 	      else if (command->type == cm_connection && can_optimize_connection (command))
-! 		{
-! 		  command->value.Connection->second->flags |= CMD_TRY_OPTIMIZING;
-! 		  command->value.Connection->second->value.Simple->flags |= CMD_TRY_OPTIMIZING;
-! 		}
-  #endif /* ONESHOT */
-  
-*** ../bash-5.0-patched/execute_cmd.c	2018-12-05 09:05:14.000000000 -0500
---- execute_cmd.c	2019-01-25 15:59:00.000000000 -0500
-***************
-*** 2768,2771 ****
---- 2768,2773 ----
-  	   (exec_result != EXECUTION_SUCCESS)))
-  	{
-+ 	  optimize_fork (command);
-+ 
-  	  second = command->value.Connection->second;
-  	  if (ignore_return && second)
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 4
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 5
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-006 b/srcpkgs/bash/files/bash50-006
deleted file mode 100644
index 2ad1cd20090..00000000000
--- a/srcpkgs/bash/files/bash50-006
+++ /dev/null
@@ -1,47 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-006
-
-Bug-Reported-by:	Tomas Mozes <hydrapolic@gmail.com>
-Bug-Reference-ID:	<CAG6MAzQumLU2vhnmr1UrYAUQAFW5Yo8hfM_sEibX9RJQWJkRrA@mail.gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-03/msg00037.html
-
-Bug-Description:
-
-Bash-5.0 did not build successfully if SYSLOG_HISTORY was defined without
-also defining SYSLOG_SHOPT.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/builtins/shopt.def	2018-10-05 14:49:02.000000000 -0400
---- builtins/shopt.def	2019-01-23 09:55:22.000000000 -0500
-***************
-*** 123,127 ****
-  #endif
-  
-! #if defined (SYSLOG_HISTORY) && defined (SYSLOG_SHOPT)
-  extern int syslog_history;
-  #endif
---- 123,127 ----
-  #endif
-  
-! #if defined (SYSLOG_HISTORY)
-  extern int syslog_history;
-  #endif
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 5
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 6
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-007 b/srcpkgs/bash/files/bash50-007
deleted file mode 100644
index b9eb4150a2b..00000000000
--- a/srcpkgs/bash/files/bash50-007
+++ /dev/null
@@ -1,62 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-007
-
-Bug-Reported-by:	Grisha Levit <grishalevit@gmail.com>
-Bug-Reference-ID:	<CAMu=BroHapG1AS3xB5SQaCX2XKu=-E2Ob9uW6LNuHvd=YohrDw@mail.gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-02/msg00067.html
-
-Bug-Description:
-
-Running `exec' when job control was disabled, even temporarily, but after it
-had been initialized, could leave the terminal in the wrong process group for
-the executed process.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/jobs.c	2018-12-06 11:44:34.000000000 -0500
---- jobs.c	2019-04-12 15:15:10.000000000 -0400
-***************
-*** 4838,4850 ****
-  {
-    if (job_control)
-!     {
-!       terminate_stopped_jobs ();
-  
-!       if (original_pgrp >= 0)
-! 	give_terminal_to (original_pgrp, 1);
-!     }
-  
-!   if (original_pgrp >= 0)
-!     setpgid (0, original_pgrp);
-  }
-  
---- 4838,4848 ----
-  {
-    if (job_control)
-!     terminate_stopped_jobs ();
-  
-!   if (original_pgrp >= 0 && terminal_pgrp != original_pgrp)
-!     give_terminal_to (original_pgrp, 1);
-  
-!   if (original_pgrp >= 0 && setpgid (0, original_pgrp) == 0)
-!     shell_pgrp = original_pgrp;
-  }
-  
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 6
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 7
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-008 b/srcpkgs/bash/files/bash50-008
deleted file mode 100644
index b09d6b33ac7..00000000000
--- a/srcpkgs/bash/files/bash50-008
+++ /dev/null
@@ -1,68 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-008
-
-Bug-Reported-by:	Michael Albinus <michael.albinus@gmx.de>
-Bug-Reference-ID:	<87bm36k3kz.fsf@gmx.de>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-02/msg00111.html
-
-Bug-Description:
-
-When HISTSIZE is set to 0, history expansion can leave the history length
-set to an incorrect value, leading to subsequent attempts to access invalid
-memory.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/bashhist.c	2018-07-05 22:41:14.000000000 -0400
---- bashhist.c	2019-02-20 16:20:04.000000000 -0500
-***************
-*** 561,573 ****
-    if (!history_expansion_inhibited && history_expansion && history_expansion_p (line))
-      {
-        /* If we are expanding the second or later line of a multi-line
-  	 command, decrease history_length so references to history expansions
-  	 in these lines refer to the previous history entry and not the
-  	 current command. */
-        if (history_length > 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-          history_length--;
-        expanded = history_expand (line, &history_value);
-        if (history_length >= 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-!         history_length++;
-  
-        if (expanded)
---- 561,576 ----
-    if (!history_expansion_inhibited && history_expansion && history_expansion_p (line))
-      {
-+       int old_len;
-+ 
-        /* If we are expanding the second or later line of a multi-line
-  	 command, decrease history_length so references to history expansions
-  	 in these lines refer to the previous history entry and not the
-  	 current command. */
-+       old_len = history_length;
-        if (history_length > 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-          history_length--;
-        expanded = history_expand (line, &history_value);
-        if (history_length >= 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-!         history_length = old_len;
-  
-        if (expanded)
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 7
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 8
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-009 b/srcpkgs/bash/files/bash50-009
deleted file mode 100644
index aef4ce7b5ad..00000000000
--- a/srcpkgs/bash/files/bash50-009
+++ /dev/null
@@ -1,42 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-009
-
-Bug-Reported-by:	chet.ramey@case.edu
-Bug-Reference-ID:
-Bug-Reference-URL:
-
-Bug-Description:
-
-The history file reading code doesn't close the file descriptor open to
-the history file when it encounters a zero-length file.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/readline/histfile.c	2018-06-11 09:14:52.000000000 -0400
---- lib/readline/histfile.c	2019-05-16 15:55:57.000000000 -0400
-***************
-*** 306,309 ****
---- 312,316 ----
-      {
-        free (input);
-+       close (file);
-        return 0;	/* don't waste time if we don't have to */
-      }
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 8
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 9
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-010 b/srcpkgs/bash/files/bash50-010
deleted file mode 100644
index bac7aa92515..00000000000
--- a/srcpkgs/bash/files/bash50-010
+++ /dev/null
@@ -1,172 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-010
-
-Bug-Reported-by:	Thorsten Glaser <tg@mirbsd.de>
-Bug-Reference-ID:	<156622962831.19438.16374961114836556294.reportbug@tglase.lan.tarent.de>
-Bug-Reference-URL:	https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=935115
-
-Bug-Description:
-
-Bash-5.0 changed the way assignment statements preceding special builtins
-and shell functions were handled in posix mode. They automatically created
-or modified global variables instead of modifying existing local variables
-as in bash-4.4.
-
-The bash-4.4 posix-mode semantics were buggy, and resulted in creating
-local variables where they were not intended and modifying global variables
-and local variables simultaneously.
-
-The bash-5.0 changes were intended to fix this issue, but did not preserve
-enough backwards compatibility. The posix standard also changed what it
-required in these cases, so bash-5.0 is not bound by the strict conformance
-requirements that existed in previous issues of the standard.
-
-This patch modifies the bash-5.0 posix mode behavior in an effort to restore
-some backwards compatibility and rationalize the behavior in the presence of
-local variables. It
-
-1. Changes the assignment semantics to be more similar to standalone assignment
-   statements: assignments preceding a function call or special builtin while
-   executing in a shell function will modify the value of a local variable
-   with the same name for the duration of the function's execution;
-
-2. Changes assignments preceding shell function calls or special builtins
-   from within a shell function to no longer create or modify global variables
-   in the presence of a local variable with the same name;
-
-3. Assignment statements preceding a shell function call or special builtin
-   at the global scope continue to modify the (global) calling environment,
-   but are unaffected by assignments preceding function calls or special
-   builtins within a function, as described in item 2. This is also similar
-   to the behavior of a standalone assignment statement.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/variables.c	2018-12-18 11:07:21.000000000 -0500
---- variables.c	2019-08-22 10:53:44.000000000 -0400
-***************
-*** 4461,4467 ****
-  
-  /* Take a variable from an assignment statement preceding a posix special
-!    builtin (including `return') and create a global variable from it. This
-!    is called from merge_temporary_env, which is only called when in posix
-!    mode. */
-  static void
-  push_posix_temp_var (data)
---- 4461,4467 ----
-  
-  /* Take a variable from an assignment statement preceding a posix special
-!    builtin (including `return') and create a variable from it as if a
-!    standalone assignment statement had been performed. This is called from
-!    merge_temporary_env, which is only called when in posix mode. */
-  static void
-  push_posix_temp_var (data)
-***************
-*** 4473,4486 ****
-    var = (SHELL_VAR *)data;
-  
-!   binding_table = global_variables->table;
-!   if (binding_table == 0)
-!     binding_table = global_variables->table = hash_create (VARIABLES_HASH_BUCKETS);
-! 
-!   v = bind_variable_internal (var->name, value_cell (var), binding_table, 0, ASS_FORCE|ASS_NOLONGJMP);
-  
-    /* global variables are no longer temporary and don't need propagating. */
-!   var->attributes &= ~(att_tempvar|att_propagate);
-    if (v)
-!     v->attributes |= var->attributes;
-  
-    if (find_special_var (var->name) >= 0)
---- 4473,4497 ----
-    var = (SHELL_VAR *)data;
-  
-!   /* Just like do_assignment_internal(). This makes assignments preceding
-!      special builtins act like standalone assignment statements when in
-!      posix mode, satisfying the posix requirement that this affect the
-!      "current execution environment." */
-!   v = bind_variable (var->name, value_cell (var), ASS_FORCE|ASS_NOLONGJMP);
-! 
-!   /* If this modifies an existing local variable, v->context will be non-zero.
-!      If it comes back with v->context == 0, we bound at the global context.
-!      Set binding_table appropriately. It doesn't matter whether it's correct
-!      if the variable is local, only that it's not global_variables->table */
-!   binding_table = v->context ? shell_variables->table : global_variables->table;
-  
-    /* global variables are no longer temporary and don't need propagating. */
-!   if (binding_table == global_variables->table)
-!     var->attributes &= ~(att_tempvar|att_propagate);
-! 
-    if (v)
-!     {
-!       v->attributes |= var->attributes;
-!       v->attributes &= ~att_tempvar;	/* not a temp var now */
-!     }
-  
-    if (find_special_var (var->name) >= 0)
-***************
-*** 4576,4587 ****
-  {
-    int i;
-  
-    tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1);
-    tempvar_list[tvlist_ind = 0] = 0;
-!     
-!   hash_flush (temporary_env, pushf);
-!   hash_dispose (temporary_env);
-    temporary_env = (HASH_TABLE *)NULL;
-  
-    tempvar_list[tvlist_ind] = 0;
-  
---- 4587,4601 ----
-  {
-    int i;
-+   HASH_TABLE *disposer;
-  
-    tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1);
-    tempvar_list[tvlist_ind = 0] = 0;
-! 
-!   disposer = temporary_env;
-    temporary_env = (HASH_TABLE *)NULL;
-  
-+   hash_flush (disposer, pushf);
-+   hash_dispose (disposer);
-+ 
-    tempvar_list[tvlist_ind] = 0;
-  
-*** ../bash-5.0-patched/tests/varenv.right	2018-12-17 15:39:48.000000000 -0500
---- tests/varenv.right	2019-08-22 16:05:25.000000000 -0400
-***************
-*** 147,153 ****
-  outside: declare -- var="one"
-  inside: declare -x var="value"
-! outside: declare -x var="value"
-! inside: declare -- var="local"
-! outside: declare -x var="global"
-  foo=<unset> environment foo=
-  foo=foo environment foo=foo
---- 147,153 ----
-  outside: declare -- var="one"
-  inside: declare -x var="value"
-! outside: declare -- var="outside"
-! inside: declare -x var="global"
-! outside: declare -- var="outside"
-  foo=<unset> environment foo=
-  foo=foo environment foo=foo
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 9
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 10
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-011 b/srcpkgs/bash/files/bash50-011
deleted file mode 100644
index a9ae690e004..00000000000
--- a/srcpkgs/bash/files/bash50-011
+++ /dev/null
@@ -1,59 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-011
-
-Bug-Reported-by:	Matt Whitlock
-Bug-Reference-ID:	
-Bug-Reference-URL:	https://savannah.gnu.org/support/?109671
-
-Bug-Description:
-
-The conditional command did not perform appropriate quoted null character
-removal on its arguments, causing syntax errors and attempts to stat
-invalid pathnames.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/subst.c	2018-12-22 17:43:37.000000000 -0500
---- subst.c	2019-04-14 13:25:41.000000000 -0400
-***************
-*** 3626,3630 ****
-     SPECIAL is 2, this is an rhs argument for the =~ operator, and should
-     be quoted appropriately for regcomp/regexec.  The caller is responsible
-!    for removing the backslashes if the unquoted word is needed later. */   
-  char *
-  cond_expand_word (w, special)
---- 3642,3648 ----
-     SPECIAL is 2, this is an rhs argument for the =~ operator, and should
-     be quoted appropriately for regcomp/regexec.  The caller is responsible
-!    for removing the backslashes if the unquoted word is needed later. In
-!    any case, since we don't perform word splitting, we need to do quoted
-!    null character removal. */
-  char *
-  cond_expand_word (w, special)
-***************
-*** 3647,3650 ****
---- 3665,3670 ----
-        if (special == 0)			/* LHS */
-  	{
-+ 	  if (l->word)
-+ 	    word_list_remove_quoted_nulls (l);
-  	  dequote_list (l);
-  	  r = string_list (l);
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 10
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 11
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-012 b/srcpkgs/bash/files/bash50-012
deleted file mode 100644
index 7470e766550..00000000000
--- a/srcpkgs/bash/files/bash50-012
+++ /dev/null
@@ -1,64 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-012
-
-Bug-Reported-by:	lessbug@qq.com
-Bug-Reference-ID:	<tencent_6AA531D9A5CC4121D86BD5CDA2E0DA98C605@qq.com>
-Bug-Reference-URL:
-
-Bug-Description:
-
-When using previous-history to go back beyond the beginning of the history list,
-it's possible to move to an incorrect partial line.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/readline/misc.c	2017-07-07 17:30:12.000000000 -0400
---- lib/readline/misc.c	2019-05-16 11:43:46.000000000 -0400
-***************
-*** 577,580 ****
---- 590,594 ----
-  {
-    HIST_ENTRY *old_temp, *temp;
-+   int had_saved_line;
-  
-    if (count < 0)
-***************
-*** 589,592 ****
---- 603,607 ----
-  
-    /* If we don't have a line saved, then save this one. */
-+   had_saved_line = _rl_saved_line_for_history != 0;
-    rl_maybe_save_line ();
-  
-***************
-*** 612,616 ****
-    if (temp == 0)
-      {
-!       rl_maybe_unsave_line ();
-        rl_ding ();
-      }
---- 627,632 ----
-    if (temp == 0)
-      {
-!       if (had_saved_line == 0)
-!         _rl_free_saved_history_line ();
-        rl_ding ();
-      }
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 11
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 12
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-013 b/srcpkgs/bash/files/bash50-013
deleted file mode 100644
index e44fdb5053b..00000000000
--- a/srcpkgs/bash/files/bash50-013
+++ /dev/null
@@ -1,73 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-013
-
-Bug-Reported-by:	HIROSE Masaaki <hirose31@gmail.com>
-Bug-Reference-ID:	<CAGSOfA-RqiTe=+GsXsDKyZrrMWH4bDbXgMVVegMa6OjqC5xbnQ@mail.gmail.com>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00038.html
-
-Bug-Description:
-
-Reading history entries with timestamps can result in history entries joined
-by linefeeds.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/readline/histfile.c	2018-06-11 09:14:52.000000000 -0400
---- lib/readline/histfile.c	2019-05-16 15:55:57.000000000 -0400
-***************
-*** 370,376 ****
-  
-    has_timestamps = HIST_TIMESTAMP_START (buffer);
-!   history_multiline_entries += has_timestamps && history_write_timestamps;  
-  
-    /* Skip lines until we are at FROM. */
-    for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
-      if (*line_end == '\n')
---- 370,378 ----
-  
-    has_timestamps = HIST_TIMESTAMP_START (buffer);
-!   history_multiline_entries += has_timestamps && history_write_timestamps;
-  
-    /* Skip lines until we are at FROM. */
-+   if (has_timestamps)
-+     last_ts = buffer;
-    for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
-      if (*line_end == '\n')
-***************
-*** 381,385 ****
---- 383,398 ----
-  	if (HIST_TIMESTAMP_START(p) == 0)
-  	  current_line++;
-+ 	else
-+ 	  last_ts = p;
-  	line_start = p;
-+ 	/* If we are at the last line (current_line == from) but we have
-+ 	   timestamps (has_timestamps), then line_start points to the
-+ 	   text of the last command, and we need to skip to its end. */
-+ 	if (current_line >= from && has_timestamps)
-+ 	  {
-+ 	    for (line_end = p; line_end < bufend && *line_end != '\n'; line_end++)
-+ 	      ;
-+ 	    line_start = (*line_end == '\n') ? line_end + 1 : line_end;
-+ 	  }
-        }
-  
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 12
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 13
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-014 b/srcpkgs/bash/files/bash50-014
deleted file mode 100644
index 6cb49aae725..00000000000
--- a/srcpkgs/bash/files/bash50-014
+++ /dev/null
@@ -1,52 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-014
-
-Bug-Reported-by:	Johannes Hielscher <jhielscher@posteo.de>
-Bug-Reference-ID:	<20190208205048.77c25a83@hordevm>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-02/msg00032.html
-
-Bug-Description:
-
-If the current line is empty, using the emacs C-xC-e binding to enter the
-editor will edit the previous command instead of the current (empty) one.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/bashline.c	2019-01-16 16:13:21.000000000 -0500
---- bashline.c	2019-02-11 11:18:57.000000000 -0500
-***************
-*** 962,970 ****
-  	 finished with the command, so we should not ignore the last command */
-        using_history ();
-!       if (rl_line_buffer[0])
-! 	{
-! 	  current_command_line_count++;	/* for rl_newline above */
-! 	  bash_add_history (rl_line_buffer);
-! 	}
-        current_command_line_count = 0;	/* for dummy history entry */
-        bash_add_history ("");
---- 965,970 ----
-  	 finished with the command, so we should not ignore the last command */
-        using_history ();
-!       current_command_line_count++;	/* for rl_newline above */
-!       bash_add_history (rl_line_buffer);
-        current_command_line_count = 0;	/* for dummy history entry */
-        bash_add_history ("");
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 13
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 14
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-015 b/srcpkgs/bash/files/bash50-015
deleted file mode 100644
index ff6e5e69d6e..00000000000
--- a/srcpkgs/bash/files/bash50-015
+++ /dev/null
@@ -1,78 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-015
-
-Bug-Reported-by:	Yu Kou <ckyoog@gmail.com>
-Bug-Reference-ID:	<CAAqoF9Ko3nAShJXGzucafs-ByUagzZ4nbQonwEkwC7s9UqfWKw@mail.gmail.com>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00032.html
-
-Bug-Description:
-
-If alias expansion is enabled when processing the command argument to the
-`-c' option, an alias is defined in that command, and the command ends with
-the invocation of that alias, the shell's command parser can prematurely
-terminate before the entire command is executed.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-20190426/builtins/evalstring.c	2019-01-29 14:15:19.000000000 -0500
---- builtins/evalstring.c	2019-05-15 14:19:36.000000000 -0400
-***************
-*** 92,95 ****
---- 92,96 ----
-  	  running_trap == 0 &&
-  	  *bash_input.location.string == '\0' &&
-+ 	  parser_expanding_alias () == 0 &&
-  	  command->type == cm_simple &&
-  	  signal_is_trapped (EXIT_TRAP) == 0 &&
-***************
-*** 106,109 ****
---- 107,111 ----
-  {
-    return (*bash_input.location.string == '\0' &&
-+ 	  parser_expanding_alias () == 0 &&
-  	  (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-  	  command->value.Connection->second->type == cm_simple);
-***************
-*** 291,295 ****
-    with_input_from_string (string, from_file);
-    clear_shell_input_line ();
-!   while (*(bash_input.location.string))
-      {
-        command = (COMMAND *)NULL;
---- 293,297 ----
-    with_input_from_string (string, from_file);
-    clear_shell_input_line ();
-!   while (*(bash_input.location.string) || parser_expanding_alias ())
-      {
-        command = (COMMAND *)NULL;
-***************
-*** 546,550 ****
-  
-    with_input_from_string (string, from_file);
-!   while (*(bash_input.location.string))
-      {
-        command = (COMMAND *)NULL;
---- 548,552 ----
-  
-    with_input_from_string (string, from_file);
-!   while (*(bash_input.location.string))		/* XXX - parser_expanding_alias () ? */
-      {
-        command = (COMMAND *)NULL;
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 14
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 15
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-016 b/srcpkgs/bash/files/bash50-016
deleted file mode 100644
index 87f232d7ad4..00000000000
--- a/srcpkgs/bash/files/bash50-016
+++ /dev/null
@@ -1,58 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-016
-
-Bug-Reported-by:	sunnycemetery@gmail.com
-Bug-Reference-ID:	<20190316041534.GB22884@midnight>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-03/msg00070.html
-
-Bug-Description:
-
-Bash waits too long to reap /dev/fd process substitutions used as redirections
-with loops and group commands, which can lead to file descriptor exhaustion.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/execute_cmd.c	2019-04-19 15:46:36.000000000 -0400
---- execute_cmd.c	2019-07-01 16:45:49.000000000 -0400
-***************
-*** 1104,1107 ****
---- 1085,1104 ----
-        discard_unwind_frame ("internal_fifos");
-      }
-+ # if defined (HAVE_DEV_FD)
-+   /* Reap process substitutions at the end of loops */
-+   switch (command->type)
-+     {
-+     case cm_while:
-+     case cm_until:
-+     case cm_for:
-+     case cm_group:
-+ #    if defined (ARITH_FOR_COMMAND)
-+     case cm_arith_for:
-+ #    endif
-+       reap_procsubs ();
-+     default:
-+       break;
-+     }
-+ #  endif /* HAVE_DEV_FD */
-  #endif
-  
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 15
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 16
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-017 b/srcpkgs/bash/files/bash50-017
deleted file mode 100644
index adfcb6a8606..00000000000
--- a/srcpkgs/bash/files/bash50-017
+++ /dev/null
@@ -1,289 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-017
-
-Bug-Reported-by:	Valentin Lab <valentin.lab@kalysto.org>
-Bug-Reference-ID:	<ab981b9c-60a5-46d0-b7e6-a6d88b80df50@kalysto.org>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2020-03/msg00062.html
-
-Bug-Description:
-
-There were cases where patch 16 reaped process substitution file descriptors
-(or FIFOs) and processes to early. This is a better fix for the problem that
-bash50-016 attempted to solve.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/subst.c	2019-08-29 11:16:49.000000000 -0400
---- subst.c	2020-04-02 16:24:19.000000000 -0400
-***************
-*** 5337,5341 ****
-  }
-  
-! char *
-  copy_fifo_list (sizep)
-       int *sizep;
---- 5337,5341 ----
-  }
-  
-! void *
-  copy_fifo_list (sizep)
-       int *sizep;
-***************
-*** 5343,5347 ****
-    if (sizep)
-      *sizep = 0;
-!   return (char *)NULL;
-  }
-  
---- 5343,5347 ----
-    if (sizep)
-      *sizep = 0;
-!   return (void *)NULL;
-  }
-  
-***************
-*** 5409,5414 ****
-  	if (fifo_list[i].file)
-  	  {
-! 	    fifo_list[j].file = fifo_list[i].file;
-! 	    fifo_list[j].proc = fifo_list[i].proc;
-  	    j++;
-  	  }
---- 5409,5419 ----
-  	if (fifo_list[i].file)
-  	  {
-! 	    if (i != j)
-! 	      {
-! 		fifo_list[j].file = fifo_list[i].file;
-! 		fifo_list[j].proc = fifo_list[i].proc;
-! 		fifo_list[i].file = (char *)NULL;
-! 		fifo_list[i].proc = 0;
-! 	      }
-  	    j++;
-  	  }
-***************
-*** 5426,5433 ****
-  void
-  close_new_fifos (list, lsize)
-!      char *list;
-       int lsize;
-  {
-    int i;
-  
-    if (list == 0)
---- 5431,5439 ----
-  void
-  close_new_fifos (list, lsize)
-!      void *list;
-       int lsize;
-  {
-    int i;
-+   char *plist;
-  
-    if (list == 0)
-***************
-*** 5437,5442 ****
-      }
-  
-!   for (i = 0; i < lsize; i++)
-!     if (list[i] == 0 && i < fifo_list_size && fifo_list[i].proc != -1)
-        unlink_fifo (i);
-  
---- 5443,5448 ----
-      }
-  
-!   for (plist = (char *)list, i = 0; i < lsize; i++)
-!     if (plist[i] == 0 && i < fifo_list_size && fifo_list[i].proc != -1)
-        unlink_fifo (i);
-  
-***************
-*** 5560,5568 ****
-  }
-  
-! char *
-  copy_fifo_list (sizep)
-       int *sizep;
-  {
-!   char *ret;
-  
-    if (nfds == 0 || totfds == 0)
---- 5566,5574 ----
-  }
-  
-! void *
-  copy_fifo_list (sizep)
-       int *sizep;
-  {
-!   void *ret;
-  
-    if (nfds == 0 || totfds == 0)
-***************
-*** 5570,5579 ****
-        if (sizep)
-  	*sizep = 0;
-!       return (char *)NULL;
-      }
-  
-    if (sizep)
-      *sizep = totfds;
-!   ret = (char *)xmalloc (totfds * sizeof (pid_t));
-    return (memcpy (ret, dev_fd_list, totfds * sizeof (pid_t)));
-  }
---- 5576,5585 ----
-        if (sizep)
-  	*sizep = 0;
-!       return (void *)NULL;
-      }
-  
-    if (sizep)
-      *sizep = totfds;
-!   ret = xmalloc (totfds * sizeof (pid_t));
-    return (memcpy (ret, dev_fd_list, totfds * sizeof (pid_t)));
-  }
-***************
-*** 5648,5655 ****
-  void
-  close_new_fifos (list, lsize)
-!      char *list;
-       int lsize;
-  {
-    int i;
-  
-    if (list == 0)
---- 5654,5662 ----
-  void
-  close_new_fifos (list, lsize)
-!      void *list;
-       int lsize;
-  {
-    int i;
-+   pid_t *plist;
-  
-    if (list == 0)
-***************
-*** 5659,5664 ****
-      }
-  
-!   for (i = 0; i < lsize; i++)
-!     if (list[i] == 0 && i < totfds && dev_fd_list[i])
-        unlink_fifo (i);
-  
---- 5666,5671 ----
-      }
-  
-!   for (plist = (pid_t *)list, i = 0; i < lsize; i++)
-!     if (plist[i] == 0 && i < totfds && dev_fd_list[i])
-        unlink_fifo (i);
-  
-*** ../bash-5.0-patched/subst.h	2018-10-21 18:46:09.000000000 -0400
---- subst.h	2020-04-02 16:29:28.000000000 -0400
-***************
-*** 274,280 ****
-  extern void unlink_fifo __P((int));
-  
-! extern char *copy_fifo_list __P((int *));
-! extern void unlink_new_fifos __P((char *, int));
-! extern void close_new_fifos __P((char *, int));
-  
-  extern void clear_fifo_list __P((void));
---- 274,279 ----
-  extern void unlink_fifo __P((int));
-  
-! extern void *copy_fifo_list __P((int *));
-! extern void close_new_fifos __P((void *, int));
-  
-  extern void clear_fifo_list __P((void));
-*** ../bash-5.0-patched/execute_cmd.c	2020-02-06 20:16:48.000000000 -0500
---- execute_cmd.c	2020-04-02 17:00:10.000000000 -0400
-***************
-*** 565,569 ****
-  #if defined (PROCESS_SUBSTITUTION)
-    volatile int ofifo, nfifo, osize, saved_fifo;
-!   volatile char *ofifo_list;
-  #endif
-  
---- 565,569 ----
-  #if defined (PROCESS_SUBSTITUTION)
-    volatile int ofifo, nfifo, osize, saved_fifo;
-!   volatile void *ofifo_list;
-  #endif
-  
-***************
-*** 751,760 ****
-  #  endif
-  
-!   if (variable_context != 0)	/* XXX - also if sourcelevel != 0? */
-      {
-        ofifo = num_fifos ();
-        ofifo_list = copy_fifo_list ((int *)&osize);
-        begin_unwind_frame ("internal_fifos");
-!       add_unwind_protect (xfree, ofifo_list);
-        saved_fifo = 1;
-      }
---- 751,762 ----
-  #  endif
-  
-!   /* XXX - also if sourcelevel != 0? */
-!   if (variable_context != 0)
-      {
-        ofifo = num_fifos ();
-        ofifo_list = copy_fifo_list ((int *)&osize);
-        begin_unwind_frame ("internal_fifos");
-!       if (ofifo_list)
-! 	add_unwind_protect (xfree, ofifo_list);
-        saved_fifo = 1;
-      }
-***************
-*** 1100,1123 ****
-        nfifo = num_fifos ();
-        if (nfifo > ofifo)
-! 	close_new_fifos ((char *)ofifo_list, osize);
-        free ((void *)ofifo_list);
-        discard_unwind_frame ("internal_fifos");
-      }
-- # if defined (HAVE_DEV_FD)
--   /* Reap process substitutions at the end of loops */
--   switch (command->type)
--     {
--     case cm_while:
--     case cm_until:
--     case cm_for:
--     case cm_group:
-- #    if defined (ARITH_FOR_COMMAND)
--     case cm_arith_for:
-- #    endif
--       reap_procsubs ();
--     default:
--       break;
--     }
-- #  endif /* HAVE_DEV_FD */
-  #endif
-  
---- 1102,1109 ----
-        nfifo = num_fifos ();
-        if (nfifo > ofifo)
-! 	close_new_fifos ((void *)ofifo_list, osize);
-        free ((void *)ofifo_list);
-        discard_unwind_frame ("internal_fifos");
-      }
-  #endif
-  
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 16
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 17
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/update-bash-patches.sh b/srcpkgs/bash/files/update-bash-patches.sh
deleted file mode 100755
index 63c5e20c233..00000000000
--- a/srcpkgs/bash/files/update-bash-patches.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-source ../template
-
-for i in $(seq -w 001 ${_bash_patchlevel}); do
-	curl https://ftp.gnu.org/gnu/bash/bash-$_bash_distver-patches/bash${_bash_distver//./}-$i \
-		> bash${_bash_distver//./}-${_bash_patchlevel}
-done
diff --git a/srcpkgs/bash/template b/srcpkgs/bash/template
index 91e2e4c1ca3..1c15454b341 100644
--- a/srcpkgs/bash/template
+++ b/srcpkgs/bash/template
@@ -15,9 +15,35 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.gnu.org/software/bash/bash.html"
 distfiles="${GNU_SITE}/${pkgname}/${pkgname}-${_bash_distver}.tar.gz"
-make_dirs="/etc/bash/bashrc.d 755 root root"
-checksum=b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
 
+_url="${GNU_SITE}/bash/bash-${_bash_distver}-patches"
+for _p in $(seq -w 001 ${_bash_patchlevel}); do
+	distfiles+=" ${_url}/bash${_bash_distver/./}-${_p}"
+	skip_extraction+=" bash${_bash_distver/./}-${_p}"
+done
+unset _url
+unset _p
+
+checksum="b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
+ f2fe9e1f0faddf14ab9bfa88d450a75e5d028fedafad23b88716bd657c737289
+ 87e87d3542e598799adb3e7e01c8165bc743e136a400ed0de015845f7ff68707
+ 4eebcdc37b13793a232c5f2f498a5fcbf7da0ecb3da2059391c096db620ec85b
+ 14447ad832add8ecfafdce5384badd933697b559c4688d6b9e3d36ff36c62f08
+ 5bf54dd9bd2c211d2bfb34a49e2c741f2ed5e338767e9ce9f4d41254bf9f8276
+ d68529a6ff201b6ff5915318ab12fc16b8a0ebb77fda3308303fcc1e13398420
+ 17b41e7ee3673d8887dd25992417a398677533ab8827938aa41fad70df19af9b
+ eec64588622a82a5029b2776e218a75a3640bef4953f09d6ee1f4199670ad7e3
+ ed3ca21767303fc3de93934aa524c2e920787c506b601cc40a4897d4b094d903
+ d6fbc325f0b5dc54ddbe8ee43020bced8bd589ddffea59d128db14b2e52a8a11
+ 2c4de332b91eaf797abbbd6c79709690b5cbd48b12e8dfe748096dbd7bf474ea
+ 2943ee19688018296f2a04dbfe30b7138b889700efa8ff1c0524af271e0ee233
+ f5d7178d8da30799e01b83a0802018d913d6aa972dd2ddad3b927f3f3eb7099a
+ 5d6eee6514ee6e22a87bba8d22be0a8621a0ae119246f1c5a9a35db1f72af589
+ a517df2dda93b26d5cbf00effefea93e3a4ccd6652f152f4109170544ebfa05e
+ ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d
+ 4cf3b9fafb8a66d411dd5fc9120032533a4012df1dc6ee024c7833373e2ddc31"
+
+make_dirs="/etc/bash/bashrc.d 755 root root"
 conflicts="chroot-bash>=0"
 register_shell="/usr/bin/bash /bin/bash"
 
@@ -27,13 +53,11 @@ alternatives="
 
 CFLAGS="-DSYS_BASHRC='\"/etc/bash/bashrc\"'"
 
-pre_configure() {
-	local ver=$(echo ${_bash_distver}|sed "s|\.||g")
-
+post_patch() {
 	cd ${wrksrc}
 	for p in $(seq -w 001 ${_bash_patchlevel}); do
-		patch -sNp0 -i ${FILESDIR}/bash${ver}-${p}
-		msg_normal " Applying patch bash${ver}-$p.\n"
+		msg_normal " Applying patch bash${_major}${_minor}-$p.\n"
+		patch -sNp0 -i ${XBPS_SRCDISTDIR}/bash-$version/bash${_bash_distver/./}-${p}
 	done
 }
 

From 3bdb46726d5532a90165cc6dea74bd8950eda2e8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Tue, 28 Jul 2020 07:07:49 +0700
Subject: [PATCH 5/6] bash: update to 5.0.018.

Close: #23815
---
 srcpkgs/bash/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/bash/template b/srcpkgs/bash/template
index 1c15454b341..f8d332c4a83 100644
--- a/srcpkgs/bash/template
+++ b/srcpkgs/bash/template
@@ -1,7 +1,7 @@
 # Template file for 'bash'
 pkgname=bash
 _bash_distver=5.0
-_bash_patchlevel=017
+_bash_patchlevel=018
 version="${_bash_distver}.${_bash_patchlevel}"
 revision=1
 wrksrc="${pkgname}-${_bash_distver}"
@@ -41,7 +41,8 @@ checksum="b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
  5d6eee6514ee6e22a87bba8d22be0a8621a0ae119246f1c5a9a35db1f72af589
  a517df2dda93b26d5cbf00effefea93e3a4ccd6652f152f4109170544ebfa05e
  ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d
- 4cf3b9fafb8a66d411dd5fc9120032533a4012df1dc6ee024c7833373e2ddc31"
+ 4cf3b9fafb8a66d411dd5fc9120032533a4012df1dc6ee024c7833373e2ddc31
+ 7c314e375a105a6642e8ed44f3808b9def89d15f7492fe2029a21ba9c0de81d3"
 
 make_dirs="/etc/bash/bashrc.d 755 root root"
 conflicts="chroot-bash>=0"

From 42a2b0b34be515c22c64d7857be3d8baed53fca6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 12:13:07 +0700
Subject: [PATCH 6/6] libreadline8: verify patch's checksum

---
 srcpkgs/libreadline8/template | 25 +++++++++++--------------
 1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/srcpkgs/libreadline8/template b/srcpkgs/libreadline8/template
index 6200195be9e..c351f0db6e2 100644
--- a/srcpkgs/libreadline8/template
+++ b/srcpkgs/libreadline8/template
@@ -14,22 +14,19 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://tiswww.cwru.edu/php/chet/readline/rltop.html"
 distfiles="${GNU_SITE}/readline/readline-${_dist_ver}.tar.gz"
-checksum=e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461
 
-pre_configure() {
-	local url="${GNU_SITE}/readline/readline-${_dist_ver}-patches"
+_url="${GNU_SITE}/readline/readline-${_dist_ver}-patches"
+for _p in $(seq -w 001 ${_patch_ver}); do
+	distfiles+=" ${_url}/readline${_dist_ver/./}-${_p}"
+	skip_extraction+=" readline${_dist_ver/./}-${_p}"
+done
+unset _url
+unset _p
 
-	cd ${XBPS_SRCDISTDIR}/${pkgname}-${version}
-	if [ "${_patch_ver}" -gt 000 ]; then
-		for p in $(seq -w 001 ${_patch_ver}); do
-			if [ -f readline${version/./}-${p} ]; then
-				continue
-			fi
-			local patch_url="${url}/readline${_dist_ver/./}-${p}"
-			msg_normal " Fetching ${patch_url} ...\n"
-			$XBPS_FETCH_CMD "${patch_url}"
-		done
-	fi
+checksum="e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461
+ d8e5e98933cf5756f862243c0601cb69d3667bb33f2c7b751fe4e40b2c3fd069"
+
+post_patch() {
 	cd ${wrksrc}
 	for p in $(seq -w 001 ${_patch_ver}); do
 		patch -s -Np0 -i ${XBPS_SRCDISTDIR}/${pkgname}-${version}/readline${_dist_ver/./}-${p}

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] bash: stop vendoring patch
  2020-07-25  8:35 [PR PATCH] bash: stop vendoring patch sgn
                   ` (6 preceding siblings ...)
  2020-07-28  7:06 ` sgn
@ 2020-07-28  7:08 ` sgn
  2020-07-28  7:24 ` sgn
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: sgn @ 2020-07-28  7:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 416 bytes --]

There is an updated pull request by sgn against master on the void-packages repository

https://github.com/sgn/void-packages bash-no-vendor
https://github.com/void-linux/void-packages/pull/23826

bash: stop vendoring patch
- carry them along won't get us anywhere
- verify checksum for libreadline8

conflict with #23815 

A patch file from https://github.com/void-linux/void-packages/pull/23826.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-bash-no-vendor-23826.patch --]
[-- Type: text/x-diff, Size: 69943 bytes --]

From f03a1627470403d2f98ae77db4f548a89c0394eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 10:17:01 +0700
Subject: [PATCH 1/6] gitattributes: don't show whitespace error on patches

---
 .gitattributes | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.gitattributes b/.gitattributes
index 7f24a8f81d0..8ddae6fce45 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,2 +1,4 @@
 template linguist-language=bash
 common/shlibs merge=union
+*.patch whitespace=-space-before-tab,-trailing-space
+*.diff whitespace=-space-before-tab,-trailing-space

From cd845333cc0b099fb0553fd1ec53dbd22d2d7f25 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 10:28:57 +0700
Subject: [PATCH 2/6] chroot-bash: stop vendoring patch

---
 srcpkgs/chroot-bash/template | 36 ++++++++++++++++++++++++++++++------
 1 file changed, 30 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/chroot-bash/template b/srcpkgs/chroot-bash/template
index 97b8a9be81f..9c7f4f04809 100644
--- a/srcpkgs/chroot-bash/template
+++ b/srcpkgs/chroot-bash/template
@@ -15,18 +15,42 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="http://www.gnu.org/software/bash/bash.html"
 distfiles="${GNU_SITE}/bash/bash-${_bash_distver}.tar.gz"
-checksum=b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
+
+_url="${GNU_SITE}/bash/bash-${_bash_distver}-patches"
+for _p in $(seq -w 001 ${_bash_patchlevel}); do
+	distfiles+=" ${_url}/bash${_bash_distver/./}-${_p}"
+	skip_extraction+=" bash${_bash_distver/./}-${_p}"
+done
+unset _url
+unset _p
+
+checksum="b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
+ f2fe9e1f0faddf14ab9bfa88d450a75e5d028fedafad23b88716bd657c737289
+ 87e87d3542e598799adb3e7e01c8165bc743e136a400ed0de015845f7ff68707
+ 4eebcdc37b13793a232c5f2f498a5fcbf7da0ecb3da2059391c096db620ec85b
+ 14447ad832add8ecfafdce5384badd933697b559c4688d6b9e3d36ff36c62f08
+ 5bf54dd9bd2c211d2bfb34a49e2c741f2ed5e338767e9ce9f4d41254bf9f8276
+ d68529a6ff201b6ff5915318ab12fc16b8a0ebb77fda3308303fcc1e13398420
+ 17b41e7ee3673d8887dd25992417a398677533ab8827938aa41fad70df19af9b
+ eec64588622a82a5029b2776e218a75a3640bef4953f09d6ee1f4199670ad7e3
+ ed3ca21767303fc3de93934aa524c2e920787c506b601cc40a4897d4b094d903
+ d6fbc325f0b5dc54ddbe8ee43020bced8bd589ddffea59d128db14b2e52a8a11
+ 2c4de332b91eaf797abbbd6c79709690b5cbd48b12e8dfe748096dbd7bf474ea
+ 2943ee19688018296f2a04dbfe30b7138b889700efa8ff1c0524af271e0ee233
+ f5d7178d8da30799e01b83a0802018d913d6aa972dd2ddad3b927f3f3eb7099a
+ 5d6eee6514ee6e22a87bba8d22be0a8621a0ae119246f1c5a9a35db1f72af589
+ a517df2dda93b26d5cbf00effefea93e3a4ccd6652f152f4109170544ebfa05e
+ ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d"
 
 bootstrap=yes
 provides="bash-${version}_${revision}"
-conflicts="bash>=0 dash>=0"
+conflicts="bash>=0 dash>=0 busybox>=0 loksh>=0 mksh>=0 oksh>=0 yash>=0"
 
-pre_configure() {
-	local ver=${_bash_distver//./} p
+post_patch() {
 	cd ${wrksrc}
 	for p in $(seq -w 001 ${_bash_patchlevel}); do
-		msg_normal " Applying patch bash${ver}-$p.\n"
-		patch -sNp0 -i ${XBPS_SRCPKGDIR}/bash/files/bash${ver}-${p}
+		msg_normal " Applying patch bash${_bash_distver/./}-$p.\n"
+		patch -sNp0 -i ${XBPS_SRCDISTDIR}/chroot-bash-$version/bash${_bash_distver/./}-${p}
 	done
 }
 

From 5f559ce3a481ae62be04e469a61ede599764d810 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Tue, 28 Jul 2020 06:59:54 +0700
Subject: [PATCH 3/6] chroot-bash: update to 5.0.018.

---
 srcpkgs/chroot-bash/template | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/chroot-bash/template b/srcpkgs/chroot-bash/template
index 9c7f4f04809..7d9f34d7dc7 100644
--- a/srcpkgs/chroot-bash/template
+++ b/srcpkgs/chroot-bash/template
@@ -1,7 +1,7 @@
 # Template file for 'chroot-bash'
 pkgname=chroot-bash
 _bash_distver=5.0
-_bash_patchlevel=016
+_bash_patchlevel=018
 version="${_bash_distver}.${_bash_patchlevel}"
 revision=1
 wrksrc="bash-${_bash_distver}"
@@ -40,7 +40,9 @@ checksum="b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
  f5d7178d8da30799e01b83a0802018d913d6aa972dd2ddad3b927f3f3eb7099a
  5d6eee6514ee6e22a87bba8d22be0a8621a0ae119246f1c5a9a35db1f72af589
  a517df2dda93b26d5cbf00effefea93e3a4ccd6652f152f4109170544ebfa05e
- ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d"
+ ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d
+ 4cf3b9fafb8a66d411dd5fc9120032533a4012df1dc6ee024c7833373e2ddc31
+ 7c314e375a105a6642e8ed44f3808b9def89d15f7492fe2029a21ba9c0de81d3"
 
 bootstrap=yes
 provides="bash-${version}_${revision}"

From 1c20089a688838dbf3c14f1f4494adcdfb16b696 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 15:28:53 +0700
Subject: [PATCH 4/6] bash: stop vendoring patches

---
 srcpkgs/bash/files/bash50-001             | 167 -------------
 srcpkgs/bash/files/bash50-002             | 113 ---------
 srcpkgs/bash/files/bash50-003             | 239 ------------------
 srcpkgs/bash/files/bash50-004             |  53 ----
 srcpkgs/bash/files/bash50-005             | 110 --------
 srcpkgs/bash/files/bash50-006             |  47 ----
 srcpkgs/bash/files/bash50-007             |  62 -----
 srcpkgs/bash/files/bash50-008             |  68 -----
 srcpkgs/bash/files/bash50-009             |  42 ----
 srcpkgs/bash/files/bash50-010             | 172 -------------
 srcpkgs/bash/files/bash50-011             |  59 -----
 srcpkgs/bash/files/bash50-012             |  64 -----
 srcpkgs/bash/files/bash50-013             |  73 ------
 srcpkgs/bash/files/bash50-014             |  52 ----
 srcpkgs/bash/files/bash50-015             |  78 ------
 srcpkgs/bash/files/bash50-016             |  58 -----
 srcpkgs/bash/files/bash50-017             | 289 ----------------------
 srcpkgs/bash/files/update-bash-patches.sh |   7 -
 srcpkgs/bash/template                     |  38 ++-
 19 files changed, 31 insertions(+), 1760 deletions(-)
 delete mode 100644 srcpkgs/bash/files/bash50-001
 delete mode 100644 srcpkgs/bash/files/bash50-002
 delete mode 100644 srcpkgs/bash/files/bash50-003
 delete mode 100644 srcpkgs/bash/files/bash50-004
 delete mode 100644 srcpkgs/bash/files/bash50-005
 delete mode 100644 srcpkgs/bash/files/bash50-006
 delete mode 100644 srcpkgs/bash/files/bash50-007
 delete mode 100644 srcpkgs/bash/files/bash50-008
 delete mode 100644 srcpkgs/bash/files/bash50-009
 delete mode 100644 srcpkgs/bash/files/bash50-010
 delete mode 100644 srcpkgs/bash/files/bash50-011
 delete mode 100644 srcpkgs/bash/files/bash50-012
 delete mode 100644 srcpkgs/bash/files/bash50-013
 delete mode 100644 srcpkgs/bash/files/bash50-014
 delete mode 100644 srcpkgs/bash/files/bash50-015
 delete mode 100644 srcpkgs/bash/files/bash50-016
 delete mode 100644 srcpkgs/bash/files/bash50-017
 delete mode 100755 srcpkgs/bash/files/update-bash-patches.sh

diff --git a/srcpkgs/bash/files/bash50-001 b/srcpkgs/bash/files/bash50-001
deleted file mode 100644
index 087bd82cf72..00000000000
--- a/srcpkgs/bash/files/bash50-001
+++ /dev/null
@@ -1,167 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-001
-
-Bug-Reported-by:	axel@freakout.de
-Bug-Reference-ID:	<201901082050.x08KoShS006731@bongo.freakout.de>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00079.html
-
-Bug-Description:
-
-Under certain circumstances, the glob expansion code did not remove
-backslashes escaping characters in directory names (or portions of a
-pattern preceding a slash).
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0/bashline.c	2018-11-27 13:20:16.000000000 -0500
---- bashline.c	2019-01-16 16:06:03.000000000 -0500
-***************
-*** 232,235 ****
---- 232,236 ----
-  static int bash_possible_command_completions __P((int, int));
-  
-+ static int completion_glob_pattern __P((char *));
-  static char *glob_complete_word __P((const char *, int));
-  static int bash_glob_completion_internal __P((int));
-***************
-*** 1742,1746 ****
-    /* This could be a globbing pattern, so try to expand it using pathname
-       expansion. */
-!   if (!matches && glob_pattern_p (text))
-      {
-        matches = rl_completion_matches (text, glob_complete_word);
---- 1743,1747 ----
-    /* This could be a globbing pattern, so try to expand it using pathname
-       expansion. */
-!   if (!matches && completion_glob_pattern ((char *)text))
-      {
-        matches = rl_completion_matches (text, glob_complete_word);
-***************
-*** 1851,1855 ****
-  	}
-  
-!       globpat = glob_pattern_p (hint_text);
-  
-        /* If this is an absolute program name, do not check it against
---- 1852,1856 ----
-  	}
-  
-!       globpat = completion_glob_pattern ((char *)hint_text);
-  
-        /* If this is an absolute program name, do not check it against
-***************
-*** 3714,3717 ****
---- 3715,3773 ----
-  }
-  
-+ static int
-+ completion_glob_pattern (string)
-+      char *string;
-+ {
-+   register int c;
-+   char *send;
-+   int open;
-+ 
-+   DECLARE_MBSTATE;
-+ 
-+   open = 0;
-+   send = string + strlen (string);
-+ 
-+   while (c = *string++)
-+     {
-+       switch (c)
-+ 	{
-+ 	case '?':
-+ 	case '*':
-+ 	  return (1);
-+ 
-+ 	case '[':
-+ 	  open++;
-+ 	  continue;
-+ 
-+ 	case ']':
-+ 	  if (open)
-+ 	    return (1);
-+ 	  continue;
-+ 
-+ 	case '+':
-+ 	case '@':
-+ 	case '!':
-+ 	  if (*string == '(')	/*)*/
-+ 	    return (1);
-+ 	  continue;
-+ 
-+ 	case '\\':
-+ 	  if (*string == 0)
-+ 	    return (0);	 	  
-+ 	}
-+ 
-+       /* Advance one fewer byte than an entire multibyte character to
-+ 	 account for the auto-increment in the loop above. */
-+ #ifdef HANDLE_MULTIBYTE
-+       string--;
-+       ADVANCE_CHAR_P (string, send - string);
-+       string++;
-+ #else
-+       ADVANCE_CHAR_P (string, send - string);
-+ #endif
-+     }
-+   return (0);
-+ }
-+ 
-  static char *globtext;
-  static char *globorig;
-***************
-*** 3878,3882 ****
-      }      
-  
-!   if (t && glob_pattern_p (t) == 0)
-      rl_explicit_arg = 1;	/* XXX - force glob_complete_word to append `*' */
-    FREE (t);
---- 3934,3938 ----
-      }      
-  
-!   if (t && completion_glob_pattern (t) == 0)
-      rl_explicit_arg = 1;	/* XXX - force glob_complete_word to append `*' */
-    FREE (t);
-*** ../bash-5.0/lib/glob/glob_loop.c	2018-12-31 13:35:15.000000000 -0500
---- lib/glob/glob_loop.c	2019-01-09 09:44:36.000000000 -0500
-***************
-*** 55,59 ****
-  
-        case L('\\'):
-- #if 0
-  	/* Don't let the pattern end in a backslash (GMATCH returns no match
-  	   if the pattern ends in a backslash anyway), but otherwise return 1,
---- 55,58 ----
-***************
-*** 61,69 ****
-  	   and it can be removed. */
-  	return (*p != L('\0'));
-- #else
-- 	/* The pattern may not end with a backslash. */
-- 	if (*p++ == L('\0'))
-- 	  return 0;
-- #endif
-        }
-  
---- 60,63 ----
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 0
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 1
-  
-  #endif /* _PATCHLEVEL_H_ */
-
diff --git a/srcpkgs/bash/files/bash50-002 b/srcpkgs/bash/files/bash50-002
deleted file mode 100644
index 3fc8272f84a..00000000000
--- a/srcpkgs/bash/files/bash50-002
+++ /dev/null
@@ -1,113 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-002
-
-Bug-Reported-by:	Ante Peric <synthmeat@gmail.com>
-Bug-Reference-ID:	<B7E3B567-2467-4F7B-B6B9-CA4E75A9C93F@gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00095.html
-
-Bug-Description:
-
-When an alias value ends with an unquoted literal tab (not part of a quoted
-string or comment), alias expansion cannot correctly detect the end of the
-alias value after expanding it.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0/parser.h	2018-12-28 19:11:18.000000000 -0500
---- parser.h	2019-01-11 15:13:03.000000000 -0500
-***************
-*** 48,51 ****
---- 48,52 ----
-  #define PST_REDIRLIST	0x080000	/* parsing a list of redirections preceding a simple command name */
-  #define PST_COMMENT	0x100000	/* parsing a shell comment; used by aliases */
-+ #define PST_ENDALIAS	0x200000	/* just finished expanding and consuming an alias */
-  
-  /* Definition of the delimiter stack.  Needed by parse.y and bashhist.c. */
-*** ../bash-5.0/parse.y	2019-01-02 13:57:34.000000000 -0500
---- parse.y	2019-01-14 08:23:31.000000000 -0500
-***************
-*** 2558,2567 ****
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-        shell_input_line_index > 0 &&
-!       shell_input_line[shell_input_line_index-1] != ' ' &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-        return ' ';	/* END_ALIAS */
-      }
---- 2558,2569 ----
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-+       (parser_state & PST_ENDALIAS) == 0 &&	/* only once */
-        shell_input_line_index > 0 &&
-!       shellblank (shell_input_line[shell_input_line_index-1]) == 0 &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-+       parser_state |= PST_ENDALIAS;
-        return ' ';	/* END_ALIAS */
-      }
-***************
-*** 2572,2575 ****
---- 2574,2578 ----
-    if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE)
-      {
-+       parser_state &= ~PST_ENDALIAS;
-        pop_string ();
-        uc = shell_input_line[shell_input_line_index];
-*** ../bash-5.0/y.tab.c	2019-01-02 13:57:43.000000000 -0500
---- y.tab.c	2019-01-14 08:39:23.000000000 -0500
-***************
-*** 4874,4883 ****
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-        shell_input_line_index > 0 &&
-!       shell_input_line[shell_input_line_index-1] != ' ' &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-        return ' ';	/* END_ALIAS */
-      }
---- 4874,4885 ----
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-+       (parser_state & PST_ENDALIAS) == 0 &&	/* only once */
-        shell_input_line_index > 0 &&
-!       shellblank (shell_input_line[shell_input_line_index-1]) == 0 &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-+       parser_state |= PST_ENDALIAS;
-        return ' ';	/* END_ALIAS */
-      }
-***************
-*** 4888,4891 ****
---- 4890,4894 ----
-    if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE)
-      {
-+       parser_state &= ~PST_ENDALIAS;
-        pop_string ();
-        uc = shell_input_line[shell_input_line_index];
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 1
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 2
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-003 b/srcpkgs/bash/files/bash50-003
deleted file mode 100644
index f7e5677e540..00000000000
--- a/srcpkgs/bash/files/bash50-003
+++ /dev/null
@@ -1,239 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-003
-
-Bug-Reported-by:	Andrew Church <achurch+bash@achurch.org>
-Bug-Reference-ID:	<5c534aa2.04371@msgid.achurch.org>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00276.html
-
-Bug-Description:
-
-There are several incompatibilities in how bash-5.0 processes pathname
-expansion (globbing) of filename arguments that have backslashes in the
-directory portion.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/glob/glob_loop.c	2019-01-16 16:13:21.000000000 -0500
---- lib/glob/glob_loop.c	2019-02-01 09:45:11.000000000 -0500
-***************
-*** 27,34 ****
-    register const GCHAR *p;
-    register GCHAR c;
-!   int bopen;
-  
-    p = pattern;
-!   bopen = 0;
-  
-    while ((c = *p++) != L('\0'))
---- 27,34 ----
-    register const GCHAR *p;
-    register GCHAR c;
-!   int bopen, bsquote;
-  
-    p = pattern;
-!   bopen = bsquote = 0;
-  
-    while ((c = *p++) != L('\0'))
-***************
-*** 56,66 ****
-        case L('\\'):
-  	/* Don't let the pattern end in a backslash (GMATCH returns no match
-! 	   if the pattern ends in a backslash anyway), but otherwise return 1,
-! 	   since the matching engine uses backslash as an escape character
-! 	   and it can be removed. */
-! 	return (*p != L('\0'));
-        }
-  
-!   return 0;
-  }
-  
---- 56,75 ----
-        case L('\\'):
-  	/* Don't let the pattern end in a backslash (GMATCH returns no match
-! 	   if the pattern ends in a backslash anyway), but otherwise note that 
-! 	   we have seen this, since the matching engine uses backslash as an
-! 	   escape character and it can be removed. We return 2 later if we
-! 	   have seen only backslash-escaped characters, so interested callers
-! 	   know they can shortcut and just dequote the pathname. */
-! 	if (*p != L('\0'))
-! 	  {
-! 	    p++;
-! 	    bsquote = 1;
-! 	    continue;
-! 	  }
-! 	else 	/* (*p == L('\0')) */
-! 	  return 0;
-        }
-  
-!   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-03-07 14:23:43.000000000 -0500
-***************
-*** 1062,1066 ****
-    unsigned int directory_len;
-    int free_dirname;			/* flag */
-!   int dflags;
-  
-    result = (char **) malloc (sizeof (char *));
---- 1078,1082 ----
-    unsigned int directory_len;
-    int free_dirname;			/* flag */
-!   int dflags, hasglob;
-  
-    result = (char **) malloc (sizeof (char *));
-***************
-*** 1111,1117 ****
-      }
-  
-    /* If directory_name contains globbing characters, then we
-!      have to expand the previous levels.  Just recurse. */
-!   if (directory_len > 0 && glob_pattern_p (directory_name))
-      {
-        char **directories, *d, *p;
---- 1127,1136 ----
-      }
-  
-+   hasglob = 0;
-    /* If directory_name contains globbing characters, then we
-!      have to expand the previous levels.  Just recurse.
-!      If glob_pattern_p returns != [0,1] we have a pattern that has backslash
-!      quotes but no unquoted glob pattern characters. We dequote it below. */
-!   if (directory_len > 0 && (hasglob = glob_pattern_p (directory_name)) == 1)
-      {
-        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,1369 ----
-  	  return (NULL);
-  	}
-+       /* 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
---- pathexp.c	2019-01-31 20:19:41.000000000 -0500
-***************
-*** 66,74 ****
-    register int c;
-    char *send;
-!   int open;
-  
-    DECLARE_MBSTATE;
-  
-!   open = 0;
-    send = string + strlen (string);
-  
---- 66,74 ----
-    register int c;
-    char *send;
-!   int open, bsquote;
-  
-    DECLARE_MBSTATE;
-  
-!   open = bsquote = 0;
-    send = string + strlen (string);
-  
-***************
-*** 101,105 ****
-  	   globbing. */
-  	case '\\':
-! 	  return (*string != 0);
-  	 	  
-  	case CTLESC:
---- 101,112 ----
-  	   globbing. */
-  	case '\\':
-! 	  if (*string != '\0' && *string != '/')
-! 	    {
-! 	      bsquote = 1;
-! 	      string++;
-! 	      continue;
-! 	    }
-! 	  else if (*string == 0)
-! 	    return (0);
-  	 	  
-  	case CTLESC:
-***************
-*** 118,122 ****
-  #endif
-      }
-!   return (0);
-  }
-  
---- 125,130 ----
-  #endif
-      }
-! 
-!   return (bsquote ? 2 : 0);
-  }
-  
-*** ../bash-5.0-patched/bashline.c	2019-01-16 16:13:21.000000000 -0500
---- bashline.c	2019-02-22 09:29:08.000000000 -0500
-***************
-*** 3753,3757 ****
-  
-  	case '\\':
-! 	  if (*string == 0)
-  	    return (0);	 	  
-  	}
---- 3766,3770 ----
-  
-  	case '\\':
-! 	  if (*string++ == 0)
-  	    return (0);	 	  
-  	}
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 2
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 3
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-004 b/srcpkgs/bash/files/bash50-004
deleted file mode 100644
index fe3c764bd6c..00000000000
--- a/srcpkgs/bash/files/bash50-004
+++ /dev/null
@@ -1,53 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-004
-
-Bug-Reported-by:	Daniel Kahn Gillmor <dkg@fifthhorseman.net>
-Bug-Reference-ID:	<87lg0g8aiw.fsf@fifthhorseman.net>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-04/msg00076.html
-
-Bug-Description:
-
-In bash-5.0, the `wait' builtin without arguments waits for all children of the
-shell. This includes children it `inherited' at shell invocation time. This
-patch modifies the behavior to not wait for these inherited children, some
-of which might be long-lived.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/jobs.c	2018-12-06 11:44:34.000000000 -0500
---- jobs.c	2019-04-12 15:15:10.000000000 -0400
-***************
-*** 2489,2496 ****
-    wait_procsubs ();
-    reap_procsubs ();
-! #if 1
-    /* We don't want to wait indefinitely if we have stopped children. */
--   /* XXX - should add a loop that goes through the list of process
--      substitutions and waits for each proc in turn before this code. */
-    if (any_stopped == 0)
-      {
---- 2490,2495 ----
-    wait_procsubs ();
-    reap_procsubs ();
-! #if 0
-    /* We don't want to wait indefinitely if we have stopped children. */
-    if (any_stopped == 0)
-      {
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 3
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 4
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-005 b/srcpkgs/bash/files/bash50-005
deleted file mode 100644
index 9b1cd75b0b6..00000000000
--- a/srcpkgs/bash/files/bash50-005
+++ /dev/null
@@ -1,110 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-005
-
-Bug-Reported-by:	Brad Spencer <bspencer@blackberry.com>
-Bug-Reference-ID:	<1b993ff2-ce4f-662a-6be4-393457362e47@blackberry.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00250.html
-
-Bug-Description:
-
-In certain cases, bash optimizes out a fork() call too early and prevents
-traps from running.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/command.h	2018-07-20 21:16:31.000000000 -0400
---- command.h	2019-02-20 11:09:36.000000000 -0500
-***************
-*** 187,190 ****
---- 188,192 ----
-  #define CMD_LASTPIPE	    0x2000
-  #define CMD_STDPATH	    0x4000	/* use standard path for command lookup */
-+ #define CMD_TRY_OPTIMIZING  0x8000	/* try to optimize this simple command */
-  
-  /* What a command looks like. */
-*** ../bash-5.0-patched/builtins/evalstring.c	2018-12-26 11:19:21.000000000 -0500
---- builtins/evalstring.c	2019-01-29 14:15:19.000000000 -0500
-***************
-*** 101,104 ****
---- 101,113 ----
-  }
-  
-+ int
-+ can_optimize_connection (command)
-+      COMMAND *command;
-+ {
-+   return (*bash_input.location.string == '\0' &&
-+ 	  (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-+ 	  command->value.Connection->second->type == cm_simple);
-+ }
-+ 
-  void
-  optimize_fork (command)
-***************
-*** 106,110 ****
-  {
-    if (command->type == cm_connection &&
-!       (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR) &&
-        should_suppress_fork (command->value.Connection->second))
-      {
---- 115,120 ----
-  {
-    if (command->type == cm_connection &&
-!       (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-!       (command->value.Connection->second->flags & CMD_TRY_OPTIMIZING) &&
-        should_suppress_fork (command->value.Connection->second))
-      {
-***************
-*** 413,418 ****
-  		  command->value.Simple->flags |= CMD_NO_FORK;
-  		}
-! 	      else if (command->type == cm_connection)
-! 		optimize_fork (command);
-  #endif /* ONESHOT */
-  
---- 423,438 ----
-  		  command->value.Simple->flags |= CMD_NO_FORK;
-  		}
-! 
-! 	      /* Can't optimize forks out here execept for simple commands.
-! 		 This knows that the parser sets up commands as left-side heavy
-! 		 (&& and || are left-associative) and after the single parse,
-! 		 if we are at the end of the command string, the last in a
-! 		 series of connection commands is
-! 		 command->value.Connection->second. */
-! 	      else if (command->type == cm_connection && can_optimize_connection (command))
-! 		{
-! 		  command->value.Connection->second->flags |= CMD_TRY_OPTIMIZING;
-! 		  command->value.Connection->second->value.Simple->flags |= CMD_TRY_OPTIMIZING;
-! 		}
-  #endif /* ONESHOT */
-  
-*** ../bash-5.0-patched/execute_cmd.c	2018-12-05 09:05:14.000000000 -0500
---- execute_cmd.c	2019-01-25 15:59:00.000000000 -0500
-***************
-*** 2768,2771 ****
---- 2768,2773 ----
-  	   (exec_result != EXECUTION_SUCCESS)))
-  	{
-+ 	  optimize_fork (command);
-+ 
-  	  second = command->value.Connection->second;
-  	  if (ignore_return && second)
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 4
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 5
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-006 b/srcpkgs/bash/files/bash50-006
deleted file mode 100644
index 2ad1cd20090..00000000000
--- a/srcpkgs/bash/files/bash50-006
+++ /dev/null
@@ -1,47 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-006
-
-Bug-Reported-by:	Tomas Mozes <hydrapolic@gmail.com>
-Bug-Reference-ID:	<CAG6MAzQumLU2vhnmr1UrYAUQAFW5Yo8hfM_sEibX9RJQWJkRrA@mail.gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-03/msg00037.html
-
-Bug-Description:
-
-Bash-5.0 did not build successfully if SYSLOG_HISTORY was defined without
-also defining SYSLOG_SHOPT.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/builtins/shopt.def	2018-10-05 14:49:02.000000000 -0400
---- builtins/shopt.def	2019-01-23 09:55:22.000000000 -0500
-***************
-*** 123,127 ****
-  #endif
-  
-! #if defined (SYSLOG_HISTORY) && defined (SYSLOG_SHOPT)
-  extern int syslog_history;
-  #endif
---- 123,127 ----
-  #endif
-  
-! #if defined (SYSLOG_HISTORY)
-  extern int syslog_history;
-  #endif
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 5
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 6
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-007 b/srcpkgs/bash/files/bash50-007
deleted file mode 100644
index b9eb4150a2b..00000000000
--- a/srcpkgs/bash/files/bash50-007
+++ /dev/null
@@ -1,62 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-007
-
-Bug-Reported-by:	Grisha Levit <grishalevit@gmail.com>
-Bug-Reference-ID:	<CAMu=BroHapG1AS3xB5SQaCX2XKu=-E2Ob9uW6LNuHvd=YohrDw@mail.gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-02/msg00067.html
-
-Bug-Description:
-
-Running `exec' when job control was disabled, even temporarily, but after it
-had been initialized, could leave the terminal in the wrong process group for
-the executed process.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/jobs.c	2018-12-06 11:44:34.000000000 -0500
---- jobs.c	2019-04-12 15:15:10.000000000 -0400
-***************
-*** 4838,4850 ****
-  {
-    if (job_control)
-!     {
-!       terminate_stopped_jobs ();
-  
-!       if (original_pgrp >= 0)
-! 	give_terminal_to (original_pgrp, 1);
-!     }
-  
-!   if (original_pgrp >= 0)
-!     setpgid (0, original_pgrp);
-  }
-  
---- 4838,4848 ----
-  {
-    if (job_control)
-!     terminate_stopped_jobs ();
-  
-!   if (original_pgrp >= 0 && terminal_pgrp != original_pgrp)
-!     give_terminal_to (original_pgrp, 1);
-  
-!   if (original_pgrp >= 0 && setpgid (0, original_pgrp) == 0)
-!     shell_pgrp = original_pgrp;
-  }
-  
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 6
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 7
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-008 b/srcpkgs/bash/files/bash50-008
deleted file mode 100644
index b09d6b33ac7..00000000000
--- a/srcpkgs/bash/files/bash50-008
+++ /dev/null
@@ -1,68 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-008
-
-Bug-Reported-by:	Michael Albinus <michael.albinus@gmx.de>
-Bug-Reference-ID:	<87bm36k3kz.fsf@gmx.de>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-02/msg00111.html
-
-Bug-Description:
-
-When HISTSIZE is set to 0, history expansion can leave the history length
-set to an incorrect value, leading to subsequent attempts to access invalid
-memory.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/bashhist.c	2018-07-05 22:41:14.000000000 -0400
---- bashhist.c	2019-02-20 16:20:04.000000000 -0500
-***************
-*** 561,573 ****
-    if (!history_expansion_inhibited && history_expansion && history_expansion_p (line))
-      {
-        /* If we are expanding the second or later line of a multi-line
-  	 command, decrease history_length so references to history expansions
-  	 in these lines refer to the previous history entry and not the
-  	 current command. */
-        if (history_length > 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-          history_length--;
-        expanded = history_expand (line, &history_value);
-        if (history_length >= 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-!         history_length++;
-  
-        if (expanded)
---- 561,576 ----
-    if (!history_expansion_inhibited && history_expansion && history_expansion_p (line))
-      {
-+       int old_len;
-+ 
-        /* If we are expanding the second or later line of a multi-line
-  	 command, decrease history_length so references to history expansions
-  	 in these lines refer to the previous history entry and not the
-  	 current command. */
-+       old_len = history_length;
-        if (history_length > 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-          history_length--;
-        expanded = history_expand (line, &history_value);
-        if (history_length >= 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-!         history_length = old_len;
-  
-        if (expanded)
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 7
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 8
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-009 b/srcpkgs/bash/files/bash50-009
deleted file mode 100644
index aef4ce7b5ad..00000000000
--- a/srcpkgs/bash/files/bash50-009
+++ /dev/null
@@ -1,42 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-009
-
-Bug-Reported-by:	chet.ramey@case.edu
-Bug-Reference-ID:
-Bug-Reference-URL:
-
-Bug-Description:
-
-The history file reading code doesn't close the file descriptor open to
-the history file when it encounters a zero-length file.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/readline/histfile.c	2018-06-11 09:14:52.000000000 -0400
---- lib/readline/histfile.c	2019-05-16 15:55:57.000000000 -0400
-***************
-*** 306,309 ****
---- 312,316 ----
-      {
-        free (input);
-+       close (file);
-        return 0;	/* don't waste time if we don't have to */
-      }
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 8
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 9
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-010 b/srcpkgs/bash/files/bash50-010
deleted file mode 100644
index bac7aa92515..00000000000
--- a/srcpkgs/bash/files/bash50-010
+++ /dev/null
@@ -1,172 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-010
-
-Bug-Reported-by:	Thorsten Glaser <tg@mirbsd.de>
-Bug-Reference-ID:	<156622962831.19438.16374961114836556294.reportbug@tglase.lan.tarent.de>
-Bug-Reference-URL:	https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=935115
-
-Bug-Description:
-
-Bash-5.0 changed the way assignment statements preceding special builtins
-and shell functions were handled in posix mode. They automatically created
-or modified global variables instead of modifying existing local variables
-as in bash-4.4.
-
-The bash-4.4 posix-mode semantics were buggy, and resulted in creating
-local variables where they were not intended and modifying global variables
-and local variables simultaneously.
-
-The bash-5.0 changes were intended to fix this issue, but did not preserve
-enough backwards compatibility. The posix standard also changed what it
-required in these cases, so bash-5.0 is not bound by the strict conformance
-requirements that existed in previous issues of the standard.
-
-This patch modifies the bash-5.0 posix mode behavior in an effort to restore
-some backwards compatibility and rationalize the behavior in the presence of
-local variables. It
-
-1. Changes the assignment semantics to be more similar to standalone assignment
-   statements: assignments preceding a function call or special builtin while
-   executing in a shell function will modify the value of a local variable
-   with the same name for the duration of the function's execution;
-
-2. Changes assignments preceding shell function calls or special builtins
-   from within a shell function to no longer create or modify global variables
-   in the presence of a local variable with the same name;
-
-3. Assignment statements preceding a shell function call or special builtin
-   at the global scope continue to modify the (global) calling environment,
-   but are unaffected by assignments preceding function calls or special
-   builtins within a function, as described in item 2. This is also similar
-   to the behavior of a standalone assignment statement.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/variables.c	2018-12-18 11:07:21.000000000 -0500
---- variables.c	2019-08-22 10:53:44.000000000 -0400
-***************
-*** 4461,4467 ****
-  
-  /* Take a variable from an assignment statement preceding a posix special
-!    builtin (including `return') and create a global variable from it. This
-!    is called from merge_temporary_env, which is only called when in posix
-!    mode. */
-  static void
-  push_posix_temp_var (data)
---- 4461,4467 ----
-  
-  /* Take a variable from an assignment statement preceding a posix special
-!    builtin (including `return') and create a variable from it as if a
-!    standalone assignment statement had been performed. This is called from
-!    merge_temporary_env, which is only called when in posix mode. */
-  static void
-  push_posix_temp_var (data)
-***************
-*** 4473,4486 ****
-    var = (SHELL_VAR *)data;
-  
-!   binding_table = global_variables->table;
-!   if (binding_table == 0)
-!     binding_table = global_variables->table = hash_create (VARIABLES_HASH_BUCKETS);
-! 
-!   v = bind_variable_internal (var->name, value_cell (var), binding_table, 0, ASS_FORCE|ASS_NOLONGJMP);
-  
-    /* global variables are no longer temporary and don't need propagating. */
-!   var->attributes &= ~(att_tempvar|att_propagate);
-    if (v)
-!     v->attributes |= var->attributes;
-  
-    if (find_special_var (var->name) >= 0)
---- 4473,4497 ----
-    var = (SHELL_VAR *)data;
-  
-!   /* Just like do_assignment_internal(). This makes assignments preceding
-!      special builtins act like standalone assignment statements when in
-!      posix mode, satisfying the posix requirement that this affect the
-!      "current execution environment." */
-!   v = bind_variable (var->name, value_cell (var), ASS_FORCE|ASS_NOLONGJMP);
-! 
-!   /* If this modifies an existing local variable, v->context will be non-zero.
-!      If it comes back with v->context == 0, we bound at the global context.
-!      Set binding_table appropriately. It doesn't matter whether it's correct
-!      if the variable is local, only that it's not global_variables->table */
-!   binding_table = v->context ? shell_variables->table : global_variables->table;
-  
-    /* global variables are no longer temporary and don't need propagating. */
-!   if (binding_table == global_variables->table)
-!     var->attributes &= ~(att_tempvar|att_propagate);
-! 
-    if (v)
-!     {
-!       v->attributes |= var->attributes;
-!       v->attributes &= ~att_tempvar;	/* not a temp var now */
-!     }
-  
-    if (find_special_var (var->name) >= 0)
-***************
-*** 4576,4587 ****
-  {
-    int i;
-  
-    tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1);
-    tempvar_list[tvlist_ind = 0] = 0;
-!     
-!   hash_flush (temporary_env, pushf);
-!   hash_dispose (temporary_env);
-    temporary_env = (HASH_TABLE *)NULL;
-  
-    tempvar_list[tvlist_ind] = 0;
-  
---- 4587,4601 ----
-  {
-    int i;
-+   HASH_TABLE *disposer;
-  
-    tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1);
-    tempvar_list[tvlist_ind = 0] = 0;
-! 
-!   disposer = temporary_env;
-    temporary_env = (HASH_TABLE *)NULL;
-  
-+   hash_flush (disposer, pushf);
-+   hash_dispose (disposer);
-+ 
-    tempvar_list[tvlist_ind] = 0;
-  
-*** ../bash-5.0-patched/tests/varenv.right	2018-12-17 15:39:48.000000000 -0500
---- tests/varenv.right	2019-08-22 16:05:25.000000000 -0400
-***************
-*** 147,153 ****
-  outside: declare -- var="one"
-  inside: declare -x var="value"
-! outside: declare -x var="value"
-! inside: declare -- var="local"
-! outside: declare -x var="global"
-  foo=<unset> environment foo=
-  foo=foo environment foo=foo
---- 147,153 ----
-  outside: declare -- var="one"
-  inside: declare -x var="value"
-! outside: declare -- var="outside"
-! inside: declare -x var="global"
-! outside: declare -- var="outside"
-  foo=<unset> environment foo=
-  foo=foo environment foo=foo
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 9
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 10
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-011 b/srcpkgs/bash/files/bash50-011
deleted file mode 100644
index a9ae690e004..00000000000
--- a/srcpkgs/bash/files/bash50-011
+++ /dev/null
@@ -1,59 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-011
-
-Bug-Reported-by:	Matt Whitlock
-Bug-Reference-ID:	
-Bug-Reference-URL:	https://savannah.gnu.org/support/?109671
-
-Bug-Description:
-
-The conditional command did not perform appropriate quoted null character
-removal on its arguments, causing syntax errors and attempts to stat
-invalid pathnames.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/subst.c	2018-12-22 17:43:37.000000000 -0500
---- subst.c	2019-04-14 13:25:41.000000000 -0400
-***************
-*** 3626,3630 ****
-     SPECIAL is 2, this is an rhs argument for the =~ operator, and should
-     be quoted appropriately for regcomp/regexec.  The caller is responsible
-!    for removing the backslashes if the unquoted word is needed later. */   
-  char *
-  cond_expand_word (w, special)
---- 3642,3648 ----
-     SPECIAL is 2, this is an rhs argument for the =~ operator, and should
-     be quoted appropriately for regcomp/regexec.  The caller is responsible
-!    for removing the backslashes if the unquoted word is needed later. In
-!    any case, since we don't perform word splitting, we need to do quoted
-!    null character removal. */
-  char *
-  cond_expand_word (w, special)
-***************
-*** 3647,3650 ****
---- 3665,3670 ----
-        if (special == 0)			/* LHS */
-  	{
-+ 	  if (l->word)
-+ 	    word_list_remove_quoted_nulls (l);
-  	  dequote_list (l);
-  	  r = string_list (l);
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 10
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 11
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-012 b/srcpkgs/bash/files/bash50-012
deleted file mode 100644
index 7470e766550..00000000000
--- a/srcpkgs/bash/files/bash50-012
+++ /dev/null
@@ -1,64 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-012
-
-Bug-Reported-by:	lessbug@qq.com
-Bug-Reference-ID:	<tencent_6AA531D9A5CC4121D86BD5CDA2E0DA98C605@qq.com>
-Bug-Reference-URL:
-
-Bug-Description:
-
-When using previous-history to go back beyond the beginning of the history list,
-it's possible to move to an incorrect partial line.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/readline/misc.c	2017-07-07 17:30:12.000000000 -0400
---- lib/readline/misc.c	2019-05-16 11:43:46.000000000 -0400
-***************
-*** 577,580 ****
---- 590,594 ----
-  {
-    HIST_ENTRY *old_temp, *temp;
-+   int had_saved_line;
-  
-    if (count < 0)
-***************
-*** 589,592 ****
---- 603,607 ----
-  
-    /* If we don't have a line saved, then save this one. */
-+   had_saved_line = _rl_saved_line_for_history != 0;
-    rl_maybe_save_line ();
-  
-***************
-*** 612,616 ****
-    if (temp == 0)
-      {
-!       rl_maybe_unsave_line ();
-        rl_ding ();
-      }
---- 627,632 ----
-    if (temp == 0)
-      {
-!       if (had_saved_line == 0)
-!         _rl_free_saved_history_line ();
-        rl_ding ();
-      }
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 11
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 12
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-013 b/srcpkgs/bash/files/bash50-013
deleted file mode 100644
index e44fdb5053b..00000000000
--- a/srcpkgs/bash/files/bash50-013
+++ /dev/null
@@ -1,73 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-013
-
-Bug-Reported-by:	HIROSE Masaaki <hirose31@gmail.com>
-Bug-Reference-ID:	<CAGSOfA-RqiTe=+GsXsDKyZrrMWH4bDbXgMVVegMa6OjqC5xbnQ@mail.gmail.com>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00038.html
-
-Bug-Description:
-
-Reading history entries with timestamps can result in history entries joined
-by linefeeds.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/readline/histfile.c	2018-06-11 09:14:52.000000000 -0400
---- lib/readline/histfile.c	2019-05-16 15:55:57.000000000 -0400
-***************
-*** 370,376 ****
-  
-    has_timestamps = HIST_TIMESTAMP_START (buffer);
-!   history_multiline_entries += has_timestamps && history_write_timestamps;  
-  
-    /* Skip lines until we are at FROM. */
-    for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
-      if (*line_end == '\n')
---- 370,378 ----
-  
-    has_timestamps = HIST_TIMESTAMP_START (buffer);
-!   history_multiline_entries += has_timestamps && history_write_timestamps;
-  
-    /* Skip lines until we are at FROM. */
-+   if (has_timestamps)
-+     last_ts = buffer;
-    for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
-      if (*line_end == '\n')
-***************
-*** 381,385 ****
---- 383,398 ----
-  	if (HIST_TIMESTAMP_START(p) == 0)
-  	  current_line++;
-+ 	else
-+ 	  last_ts = p;
-  	line_start = p;
-+ 	/* If we are at the last line (current_line == from) but we have
-+ 	   timestamps (has_timestamps), then line_start points to the
-+ 	   text of the last command, and we need to skip to its end. */
-+ 	if (current_line >= from && has_timestamps)
-+ 	  {
-+ 	    for (line_end = p; line_end < bufend && *line_end != '\n'; line_end++)
-+ 	      ;
-+ 	    line_start = (*line_end == '\n') ? line_end + 1 : line_end;
-+ 	  }
-        }
-  
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 12
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 13
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-014 b/srcpkgs/bash/files/bash50-014
deleted file mode 100644
index 6cb49aae725..00000000000
--- a/srcpkgs/bash/files/bash50-014
+++ /dev/null
@@ -1,52 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-014
-
-Bug-Reported-by:	Johannes Hielscher <jhielscher@posteo.de>
-Bug-Reference-ID:	<20190208205048.77c25a83@hordevm>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-02/msg00032.html
-
-Bug-Description:
-
-If the current line is empty, using the emacs C-xC-e binding to enter the
-editor will edit the previous command instead of the current (empty) one.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/bashline.c	2019-01-16 16:13:21.000000000 -0500
---- bashline.c	2019-02-11 11:18:57.000000000 -0500
-***************
-*** 962,970 ****
-  	 finished with the command, so we should not ignore the last command */
-        using_history ();
-!       if (rl_line_buffer[0])
-! 	{
-! 	  current_command_line_count++;	/* for rl_newline above */
-! 	  bash_add_history (rl_line_buffer);
-! 	}
-        current_command_line_count = 0;	/* for dummy history entry */
-        bash_add_history ("");
---- 965,970 ----
-  	 finished with the command, so we should not ignore the last command */
-        using_history ();
-!       current_command_line_count++;	/* for rl_newline above */
-!       bash_add_history (rl_line_buffer);
-        current_command_line_count = 0;	/* for dummy history entry */
-        bash_add_history ("");
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 13
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 14
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-015 b/srcpkgs/bash/files/bash50-015
deleted file mode 100644
index ff6e5e69d6e..00000000000
--- a/srcpkgs/bash/files/bash50-015
+++ /dev/null
@@ -1,78 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-015
-
-Bug-Reported-by:	Yu Kou <ckyoog@gmail.com>
-Bug-Reference-ID:	<CAAqoF9Ko3nAShJXGzucafs-ByUagzZ4nbQonwEkwC7s9UqfWKw@mail.gmail.com>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00032.html
-
-Bug-Description:
-
-If alias expansion is enabled when processing the command argument to the
-`-c' option, an alias is defined in that command, and the command ends with
-the invocation of that alias, the shell's command parser can prematurely
-terminate before the entire command is executed.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-20190426/builtins/evalstring.c	2019-01-29 14:15:19.000000000 -0500
---- builtins/evalstring.c	2019-05-15 14:19:36.000000000 -0400
-***************
-*** 92,95 ****
---- 92,96 ----
-  	  running_trap == 0 &&
-  	  *bash_input.location.string == '\0' &&
-+ 	  parser_expanding_alias () == 0 &&
-  	  command->type == cm_simple &&
-  	  signal_is_trapped (EXIT_TRAP) == 0 &&
-***************
-*** 106,109 ****
---- 107,111 ----
-  {
-    return (*bash_input.location.string == '\0' &&
-+ 	  parser_expanding_alias () == 0 &&
-  	  (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-  	  command->value.Connection->second->type == cm_simple);
-***************
-*** 291,295 ****
-    with_input_from_string (string, from_file);
-    clear_shell_input_line ();
-!   while (*(bash_input.location.string))
-      {
-        command = (COMMAND *)NULL;
---- 293,297 ----
-    with_input_from_string (string, from_file);
-    clear_shell_input_line ();
-!   while (*(bash_input.location.string) || parser_expanding_alias ())
-      {
-        command = (COMMAND *)NULL;
-***************
-*** 546,550 ****
-  
-    with_input_from_string (string, from_file);
-!   while (*(bash_input.location.string))
-      {
-        command = (COMMAND *)NULL;
---- 548,552 ----
-  
-    with_input_from_string (string, from_file);
-!   while (*(bash_input.location.string))		/* XXX - parser_expanding_alias () ? */
-      {
-        command = (COMMAND *)NULL;
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 14
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 15
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-016 b/srcpkgs/bash/files/bash50-016
deleted file mode 100644
index 87f232d7ad4..00000000000
--- a/srcpkgs/bash/files/bash50-016
+++ /dev/null
@@ -1,58 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-016
-
-Bug-Reported-by:	sunnycemetery@gmail.com
-Bug-Reference-ID:	<20190316041534.GB22884@midnight>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-03/msg00070.html
-
-Bug-Description:
-
-Bash waits too long to reap /dev/fd process substitutions used as redirections
-with loops and group commands, which can lead to file descriptor exhaustion.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/execute_cmd.c	2019-04-19 15:46:36.000000000 -0400
---- execute_cmd.c	2019-07-01 16:45:49.000000000 -0400
-***************
-*** 1104,1107 ****
---- 1085,1104 ----
-        discard_unwind_frame ("internal_fifos");
-      }
-+ # if defined (HAVE_DEV_FD)
-+   /* Reap process substitutions at the end of loops */
-+   switch (command->type)
-+     {
-+     case cm_while:
-+     case cm_until:
-+     case cm_for:
-+     case cm_group:
-+ #    if defined (ARITH_FOR_COMMAND)
-+     case cm_arith_for:
-+ #    endif
-+       reap_procsubs ();
-+     default:
-+       break;
-+     }
-+ #  endif /* HAVE_DEV_FD */
-  #endif
-  
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 15
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 16
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-017 b/srcpkgs/bash/files/bash50-017
deleted file mode 100644
index adfcb6a8606..00000000000
--- a/srcpkgs/bash/files/bash50-017
+++ /dev/null
@@ -1,289 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-017
-
-Bug-Reported-by:	Valentin Lab <valentin.lab@kalysto.org>
-Bug-Reference-ID:	<ab981b9c-60a5-46d0-b7e6-a6d88b80df50@kalysto.org>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2020-03/msg00062.html
-
-Bug-Description:
-
-There were cases where patch 16 reaped process substitution file descriptors
-(or FIFOs) and processes to early. This is a better fix for the problem that
-bash50-016 attempted to solve.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/subst.c	2019-08-29 11:16:49.000000000 -0400
---- subst.c	2020-04-02 16:24:19.000000000 -0400
-***************
-*** 5337,5341 ****
-  }
-  
-! char *
-  copy_fifo_list (sizep)
-       int *sizep;
---- 5337,5341 ----
-  }
-  
-! void *
-  copy_fifo_list (sizep)
-       int *sizep;
-***************
-*** 5343,5347 ****
-    if (sizep)
-      *sizep = 0;
-!   return (char *)NULL;
-  }
-  
---- 5343,5347 ----
-    if (sizep)
-      *sizep = 0;
-!   return (void *)NULL;
-  }
-  
-***************
-*** 5409,5414 ****
-  	if (fifo_list[i].file)
-  	  {
-! 	    fifo_list[j].file = fifo_list[i].file;
-! 	    fifo_list[j].proc = fifo_list[i].proc;
-  	    j++;
-  	  }
---- 5409,5419 ----
-  	if (fifo_list[i].file)
-  	  {
-! 	    if (i != j)
-! 	      {
-! 		fifo_list[j].file = fifo_list[i].file;
-! 		fifo_list[j].proc = fifo_list[i].proc;
-! 		fifo_list[i].file = (char *)NULL;
-! 		fifo_list[i].proc = 0;
-! 	      }
-  	    j++;
-  	  }
-***************
-*** 5426,5433 ****
-  void
-  close_new_fifos (list, lsize)
-!      char *list;
-       int lsize;
-  {
-    int i;
-  
-    if (list == 0)
---- 5431,5439 ----
-  void
-  close_new_fifos (list, lsize)
-!      void *list;
-       int lsize;
-  {
-    int i;
-+   char *plist;
-  
-    if (list == 0)
-***************
-*** 5437,5442 ****
-      }
-  
-!   for (i = 0; i < lsize; i++)
-!     if (list[i] == 0 && i < fifo_list_size && fifo_list[i].proc != -1)
-        unlink_fifo (i);
-  
---- 5443,5448 ----
-      }
-  
-!   for (plist = (char *)list, i = 0; i < lsize; i++)
-!     if (plist[i] == 0 && i < fifo_list_size && fifo_list[i].proc != -1)
-        unlink_fifo (i);
-  
-***************
-*** 5560,5568 ****
-  }
-  
-! char *
-  copy_fifo_list (sizep)
-       int *sizep;
-  {
-!   char *ret;
-  
-    if (nfds == 0 || totfds == 0)
---- 5566,5574 ----
-  }
-  
-! void *
-  copy_fifo_list (sizep)
-       int *sizep;
-  {
-!   void *ret;
-  
-    if (nfds == 0 || totfds == 0)
-***************
-*** 5570,5579 ****
-        if (sizep)
-  	*sizep = 0;
-!       return (char *)NULL;
-      }
-  
-    if (sizep)
-      *sizep = totfds;
-!   ret = (char *)xmalloc (totfds * sizeof (pid_t));
-    return (memcpy (ret, dev_fd_list, totfds * sizeof (pid_t)));
-  }
---- 5576,5585 ----
-        if (sizep)
-  	*sizep = 0;
-!       return (void *)NULL;
-      }
-  
-    if (sizep)
-      *sizep = totfds;
-!   ret = xmalloc (totfds * sizeof (pid_t));
-    return (memcpy (ret, dev_fd_list, totfds * sizeof (pid_t)));
-  }
-***************
-*** 5648,5655 ****
-  void
-  close_new_fifos (list, lsize)
-!      char *list;
-       int lsize;
-  {
-    int i;
-  
-    if (list == 0)
---- 5654,5662 ----
-  void
-  close_new_fifos (list, lsize)
-!      void *list;
-       int lsize;
-  {
-    int i;
-+   pid_t *plist;
-  
-    if (list == 0)
-***************
-*** 5659,5664 ****
-      }
-  
-!   for (i = 0; i < lsize; i++)
-!     if (list[i] == 0 && i < totfds && dev_fd_list[i])
-        unlink_fifo (i);
-  
---- 5666,5671 ----
-      }
-  
-!   for (plist = (pid_t *)list, i = 0; i < lsize; i++)
-!     if (plist[i] == 0 && i < totfds && dev_fd_list[i])
-        unlink_fifo (i);
-  
-*** ../bash-5.0-patched/subst.h	2018-10-21 18:46:09.000000000 -0400
---- subst.h	2020-04-02 16:29:28.000000000 -0400
-***************
-*** 274,280 ****
-  extern void unlink_fifo __P((int));
-  
-! extern char *copy_fifo_list __P((int *));
-! extern void unlink_new_fifos __P((char *, int));
-! extern void close_new_fifos __P((char *, int));
-  
-  extern void clear_fifo_list __P((void));
---- 274,279 ----
-  extern void unlink_fifo __P((int));
-  
-! extern void *copy_fifo_list __P((int *));
-! extern void close_new_fifos __P((void *, int));
-  
-  extern void clear_fifo_list __P((void));
-*** ../bash-5.0-patched/execute_cmd.c	2020-02-06 20:16:48.000000000 -0500
---- execute_cmd.c	2020-04-02 17:00:10.000000000 -0400
-***************
-*** 565,569 ****
-  #if defined (PROCESS_SUBSTITUTION)
-    volatile int ofifo, nfifo, osize, saved_fifo;
-!   volatile char *ofifo_list;
-  #endif
-  
---- 565,569 ----
-  #if defined (PROCESS_SUBSTITUTION)
-    volatile int ofifo, nfifo, osize, saved_fifo;
-!   volatile void *ofifo_list;
-  #endif
-  
-***************
-*** 751,760 ****
-  #  endif
-  
-!   if (variable_context != 0)	/* XXX - also if sourcelevel != 0? */
-      {
-        ofifo = num_fifos ();
-        ofifo_list = copy_fifo_list ((int *)&osize);
-        begin_unwind_frame ("internal_fifos");
-!       add_unwind_protect (xfree, ofifo_list);
-        saved_fifo = 1;
-      }
---- 751,762 ----
-  #  endif
-  
-!   /* XXX - also if sourcelevel != 0? */
-!   if (variable_context != 0)
-      {
-        ofifo = num_fifos ();
-        ofifo_list = copy_fifo_list ((int *)&osize);
-        begin_unwind_frame ("internal_fifos");
-!       if (ofifo_list)
-! 	add_unwind_protect (xfree, ofifo_list);
-        saved_fifo = 1;
-      }
-***************
-*** 1100,1123 ****
-        nfifo = num_fifos ();
-        if (nfifo > ofifo)
-! 	close_new_fifos ((char *)ofifo_list, osize);
-        free ((void *)ofifo_list);
-        discard_unwind_frame ("internal_fifos");
-      }
-- # if defined (HAVE_DEV_FD)
--   /* Reap process substitutions at the end of loops */
--   switch (command->type)
--     {
--     case cm_while:
--     case cm_until:
--     case cm_for:
--     case cm_group:
-- #    if defined (ARITH_FOR_COMMAND)
--     case cm_arith_for:
-- #    endif
--       reap_procsubs ();
--     default:
--       break;
--     }
-- #  endif /* HAVE_DEV_FD */
-  #endif
-  
---- 1102,1109 ----
-        nfifo = num_fifos ();
-        if (nfifo > ofifo)
-! 	close_new_fifos ((void *)ofifo_list, osize);
-        free ((void *)ofifo_list);
-        discard_unwind_frame ("internal_fifos");
-      }
-  #endif
-  
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 16
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 17
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/update-bash-patches.sh b/srcpkgs/bash/files/update-bash-patches.sh
deleted file mode 100755
index 63c5e20c233..00000000000
--- a/srcpkgs/bash/files/update-bash-patches.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-source ../template
-
-for i in $(seq -w 001 ${_bash_patchlevel}); do
-	curl https://ftp.gnu.org/gnu/bash/bash-$_bash_distver-patches/bash${_bash_distver//./}-$i \
-		> bash${_bash_distver//./}-${_bash_patchlevel}
-done
diff --git a/srcpkgs/bash/template b/srcpkgs/bash/template
index 91e2e4c1ca3..45a8919a6dc 100644
--- a/srcpkgs/bash/template
+++ b/srcpkgs/bash/template
@@ -15,9 +15,35 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.gnu.org/software/bash/bash.html"
 distfiles="${GNU_SITE}/${pkgname}/${pkgname}-${_bash_distver}.tar.gz"
-make_dirs="/etc/bash/bashrc.d 755 root root"
-checksum=b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
 
+_url="${GNU_SITE}/bash/bash-${_bash_distver}-patches"
+for _p in $(seq -w 001 ${_bash_patchlevel}); do
+	distfiles+=" ${_url}/bash${_bash_distver/./}-${_p}"
+	skip_extraction+=" bash${_bash_distver/./}-${_p}"
+done
+unset _url
+unset _p
+
+checksum="b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
+ f2fe9e1f0faddf14ab9bfa88d450a75e5d028fedafad23b88716bd657c737289
+ 87e87d3542e598799adb3e7e01c8165bc743e136a400ed0de015845f7ff68707
+ 4eebcdc37b13793a232c5f2f498a5fcbf7da0ecb3da2059391c096db620ec85b
+ 14447ad832add8ecfafdce5384badd933697b559c4688d6b9e3d36ff36c62f08
+ 5bf54dd9bd2c211d2bfb34a49e2c741f2ed5e338767e9ce9f4d41254bf9f8276
+ d68529a6ff201b6ff5915318ab12fc16b8a0ebb77fda3308303fcc1e13398420
+ 17b41e7ee3673d8887dd25992417a398677533ab8827938aa41fad70df19af9b
+ eec64588622a82a5029b2776e218a75a3640bef4953f09d6ee1f4199670ad7e3
+ ed3ca21767303fc3de93934aa524c2e920787c506b601cc40a4897d4b094d903
+ d6fbc325f0b5dc54ddbe8ee43020bced8bd589ddffea59d128db14b2e52a8a11
+ 2c4de332b91eaf797abbbd6c79709690b5cbd48b12e8dfe748096dbd7bf474ea
+ 2943ee19688018296f2a04dbfe30b7138b889700efa8ff1c0524af271e0ee233
+ f5d7178d8da30799e01b83a0802018d913d6aa972dd2ddad3b927f3f3eb7099a
+ 5d6eee6514ee6e22a87bba8d22be0a8621a0ae119246f1c5a9a35db1f72af589
+ a517df2dda93b26d5cbf00effefea93e3a4ccd6652f152f4109170544ebfa05e
+ ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d
+ 4cf3b9fafb8a66d411dd5fc9120032533a4012df1dc6ee024c7833373e2ddc31"
+
+make_dirs="/etc/bash/bashrc.d 755 root root"
 conflicts="chroot-bash>=0"
 register_shell="/usr/bin/bash /bin/bash"
 
@@ -27,13 +53,11 @@ alternatives="
 
 CFLAGS="-DSYS_BASHRC='\"/etc/bash/bashrc\"'"
 
-pre_configure() {
-	local ver=$(echo ${_bash_distver}|sed "s|\.||g")
-
+post_patch() {
 	cd ${wrksrc}
 	for p in $(seq -w 001 ${_bash_patchlevel}); do
-		patch -sNp0 -i ${FILESDIR}/bash${ver}-${p}
-		msg_normal " Applying patch bash${ver}-$p.\n"
+		msg_normal " Applying patch bash${_bash_distver/./}-$p.\n"
+		patch -sNp0 -i ${XBPS_SRCDISTDIR}/bash-$version/bash${_bash_distver/./}-${p}
 	done
 }
 

From dbcfd6397746954dc0500dfe02e2b6d28e36f28b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Tue, 28 Jul 2020 07:07:49 +0700
Subject: [PATCH 5/6] bash: update to 5.0.018.

Close: #23815
---
 srcpkgs/bash/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/bash/template b/srcpkgs/bash/template
index 45a8919a6dc..c1a1f4d121c 100644
--- a/srcpkgs/bash/template
+++ b/srcpkgs/bash/template
@@ -1,7 +1,7 @@
 # Template file for 'bash'
 pkgname=bash
 _bash_distver=5.0
-_bash_patchlevel=017
+_bash_patchlevel=018
 version="${_bash_distver}.${_bash_patchlevel}"
 revision=1
 wrksrc="${pkgname}-${_bash_distver}"
@@ -41,7 +41,8 @@ checksum="b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
  5d6eee6514ee6e22a87bba8d22be0a8621a0ae119246f1c5a9a35db1f72af589
  a517df2dda93b26d5cbf00effefea93e3a4ccd6652f152f4109170544ebfa05e
  ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d
- 4cf3b9fafb8a66d411dd5fc9120032533a4012df1dc6ee024c7833373e2ddc31"
+ 4cf3b9fafb8a66d411dd5fc9120032533a4012df1dc6ee024c7833373e2ddc31
+ 7c314e375a105a6642e8ed44f3808b9def89d15f7492fe2029a21ba9c0de81d3"
 
 make_dirs="/etc/bash/bashrc.d 755 root root"
 conflicts="chroot-bash>=0"

From d2f8d8695b82eb07d7acd9ec1f24cda93ba0f24f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 12:13:07 +0700
Subject: [PATCH 6/6] libreadline8: verify patch's checksum

---
 srcpkgs/libreadline8/template | 25 +++++++++++--------------
 1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/srcpkgs/libreadline8/template b/srcpkgs/libreadline8/template
index 6200195be9e..c351f0db6e2 100644
--- a/srcpkgs/libreadline8/template
+++ b/srcpkgs/libreadline8/template
@@ -14,22 +14,19 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://tiswww.cwru.edu/php/chet/readline/rltop.html"
 distfiles="${GNU_SITE}/readline/readline-${_dist_ver}.tar.gz"
-checksum=e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461
 
-pre_configure() {
-	local url="${GNU_SITE}/readline/readline-${_dist_ver}-patches"
+_url="${GNU_SITE}/readline/readline-${_dist_ver}-patches"
+for _p in $(seq -w 001 ${_patch_ver}); do
+	distfiles+=" ${_url}/readline${_dist_ver/./}-${_p}"
+	skip_extraction+=" readline${_dist_ver/./}-${_p}"
+done
+unset _url
+unset _p
 
-	cd ${XBPS_SRCDISTDIR}/${pkgname}-${version}
-	if [ "${_patch_ver}" -gt 000 ]; then
-		for p in $(seq -w 001 ${_patch_ver}); do
-			if [ -f readline${version/./}-${p} ]; then
-				continue
-			fi
-			local patch_url="${url}/readline${_dist_ver/./}-${p}"
-			msg_normal " Fetching ${patch_url} ...\n"
-			$XBPS_FETCH_CMD "${patch_url}"
-		done
-	fi
+checksum="e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461
+ d8e5e98933cf5756f862243c0601cb69d3667bb33f2c7b751fe4e40b2c3fd069"
+
+post_patch() {
 	cd ${wrksrc}
 	for p in $(seq -w 001 ${_patch_ver}); do
 		patch -s -Np0 -i ${XBPS_SRCDISTDIR}/${pkgname}-${version}/readline${_dist_ver/./}-${p}

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] bash: stop vendoring patch
  2020-07-25  8:35 [PR PATCH] bash: stop vendoring patch sgn
                   ` (7 preceding siblings ...)
  2020-07-28  7:08 ` sgn
@ 2020-07-28  7:24 ` sgn
  2020-07-29  1:56 ` fosslinux
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: sgn @ 2020-07-28  7:24 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 416 bytes --]

There is an updated pull request by sgn against master on the void-packages repository

https://github.com/sgn/void-packages bash-no-vendor
https://github.com/void-linux/void-packages/pull/23826

bash: stop vendoring patch
- carry them along won't get us anywhere
- verify checksum for libreadline8

conflict with #23815 

A patch file from https://github.com/void-linux/void-packages/pull/23826.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-bash-no-vendor-23826.patch --]
[-- Type: text/x-diff, Size: 70765 bytes --]

From f03a1627470403d2f98ae77db4f548a89c0394eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 10:17:01 +0700
Subject: [PATCH 1/6] gitattributes: don't show whitespace error on patches

---
 .gitattributes | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.gitattributes b/.gitattributes
index 7f24a8f81d0..8ddae6fce45 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,2 +1,4 @@
 template linguist-language=bash
 common/shlibs merge=union
+*.patch whitespace=-space-before-tab,-trailing-space
+*.diff whitespace=-space-before-tab,-trailing-space

From 707494f3d8495621ee74df7f0751891db9004731 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 10:28:57 +0700
Subject: [PATCH 2/6] chroot-bash: stop vendoring patch

---
 srcpkgs/chroot-bash/template | 46 ++++++++++++++++++++++++++++--------
 1 file changed, 36 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/chroot-bash/template b/srcpkgs/chroot-bash/template
index 97b8a9be81f..11b2414ba41 100644
--- a/srcpkgs/chroot-bash/template
+++ b/srcpkgs/chroot-bash/template
@@ -1,9 +1,10 @@
 # Template file for 'chroot-bash'
 pkgname=chroot-bash
-_bash_distver=5.0
-_bash_patchlevel=016
-version="${_bash_distver}.${_bash_patchlevel}"
+version=5.0.016
 revision=1
+_bash_distver=${version%.*}
+_bash_patchlevel=${version##*.}
+_patchprefix="bash${_bash_distver/./}"
 wrksrc="bash-${_bash_distver}"
 build_style=gnu-configure
 # need 'bash_cv_termcap_lib=gnutermcap' in order to force bash to use the
@@ -15,18 +16,43 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="http://www.gnu.org/software/bash/bash.html"
 distfiles="${GNU_SITE}/bash/bash-${_bash_distver}.tar.gz"
-checksum=b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
+
+_url="${GNU_SITE}/bash/bash-${_bash_distver}-patches"
+for _p in $(seq -w 001 ${_bash_patchlevel}); do
+	distfiles+=" ${_url}/${_patchprefix}-${_p}"
+	skip_extraction+=" ${_patchprefix}-${_p}"
+done
+unset _url
+unset _p
+
+checksum="b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
+ f2fe9e1f0faddf14ab9bfa88d450a75e5d028fedafad23b88716bd657c737289
+ 87e87d3542e598799adb3e7e01c8165bc743e136a400ed0de015845f7ff68707
+ 4eebcdc37b13793a232c5f2f498a5fcbf7da0ecb3da2059391c096db620ec85b
+ 14447ad832add8ecfafdce5384badd933697b559c4688d6b9e3d36ff36c62f08
+ 5bf54dd9bd2c211d2bfb34a49e2c741f2ed5e338767e9ce9f4d41254bf9f8276
+ d68529a6ff201b6ff5915318ab12fc16b8a0ebb77fda3308303fcc1e13398420
+ 17b41e7ee3673d8887dd25992417a398677533ab8827938aa41fad70df19af9b
+ eec64588622a82a5029b2776e218a75a3640bef4953f09d6ee1f4199670ad7e3
+ ed3ca21767303fc3de93934aa524c2e920787c506b601cc40a4897d4b094d903
+ d6fbc325f0b5dc54ddbe8ee43020bced8bd589ddffea59d128db14b2e52a8a11
+ 2c4de332b91eaf797abbbd6c79709690b5cbd48b12e8dfe748096dbd7bf474ea
+ 2943ee19688018296f2a04dbfe30b7138b889700efa8ff1c0524af271e0ee233
+ f5d7178d8da30799e01b83a0802018d913d6aa972dd2ddad3b927f3f3eb7099a
+ 5d6eee6514ee6e22a87bba8d22be0a8621a0ae119246f1c5a9a35db1f72af589
+ a517df2dda93b26d5cbf00effefea93e3a4ccd6652f152f4109170544ebfa05e
+ ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d"
 
 bootstrap=yes
 provides="bash-${version}_${revision}"
-conflicts="bash>=0 dash>=0"
+conflicts="bash>=0 dash>=0 busybox>=0 loksh>=0 mksh>=0 oksh>=0 yash>=0"
 
-pre_configure() {
-	local ver=${_bash_distver//./} p
+post_patch() {
+	local _p
 	cd ${wrksrc}
-	for p in $(seq -w 001 ${_bash_patchlevel}); do
-		msg_normal " Applying patch bash${ver}-$p.\n"
-		patch -sNp0 -i ${XBPS_SRCPKGDIR}/bash/files/bash${ver}-${p}
+	for _p in $(seq -w 001 ${_bash_patchlevel}); do
+		msg_normal " Applying patch ${_patchprefix}-${_p}.\n"
+		patch -sNp0 -i ${XBPS_SRCDISTDIR}/chroot-bash-$version/${_patchprefix}-${_p}
 	done
 }
 

From 0775265b6579e20d8d26f786449fd9852ff93150 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Tue, 28 Jul 2020 06:59:54 +0700
Subject: [PATCH 3/6] chroot-bash: update to 5.0.018.

---
 srcpkgs/chroot-bash/template | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/chroot-bash/template b/srcpkgs/chroot-bash/template
index 11b2414ba41..29e49720304 100644
--- a/srcpkgs/chroot-bash/template
+++ b/srcpkgs/chroot-bash/template
@@ -1,6 +1,6 @@
 # Template file for 'chroot-bash'
 pkgname=chroot-bash
-version=5.0.016
+version=5.0.018
 revision=1
 _bash_distver=${version%.*}
 _bash_patchlevel=${version##*.}
@@ -41,7 +41,9 @@ checksum="b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
  f5d7178d8da30799e01b83a0802018d913d6aa972dd2ddad3b927f3f3eb7099a
  5d6eee6514ee6e22a87bba8d22be0a8621a0ae119246f1c5a9a35db1f72af589
  a517df2dda93b26d5cbf00effefea93e3a4ccd6652f152f4109170544ebfa05e
- ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d"
+ ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d
+ 4cf3b9fafb8a66d411dd5fc9120032533a4012df1dc6ee024c7833373e2ddc31
+ 7c314e375a105a6642e8ed44f3808b9def89d15f7492fe2029a21ba9c0de81d3"
 
 bootstrap=yes
 provides="bash-${version}_${revision}"

From 3338dba8d815e53d2bc086d4a7b89f47ec1c3870 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 15:28:53 +0700
Subject: [PATCH 4/6] bash: stop vendoring patches

---
 srcpkgs/bash/files/bash50-001             | 167 -------------
 srcpkgs/bash/files/bash50-002             | 113 ---------
 srcpkgs/bash/files/bash50-003             | 239 ------------------
 srcpkgs/bash/files/bash50-004             |  53 ----
 srcpkgs/bash/files/bash50-005             | 110 --------
 srcpkgs/bash/files/bash50-006             |  47 ----
 srcpkgs/bash/files/bash50-007             |  62 -----
 srcpkgs/bash/files/bash50-008             |  68 -----
 srcpkgs/bash/files/bash50-009             |  42 ----
 srcpkgs/bash/files/bash50-010             | 172 -------------
 srcpkgs/bash/files/bash50-011             |  59 -----
 srcpkgs/bash/files/bash50-012             |  64 -----
 srcpkgs/bash/files/bash50-013             |  73 ------
 srcpkgs/bash/files/bash50-014             |  52 ----
 srcpkgs/bash/files/bash50-015             |  78 ------
 srcpkgs/bash/files/bash50-016             |  58 -----
 srcpkgs/bash/files/bash50-017             | 289 ----------------------
 srcpkgs/bash/files/update-bash-patches.sh |   7 -
 srcpkgs/bash/template                     |  48 +++-
 19 files changed, 37 insertions(+), 1764 deletions(-)
 delete mode 100644 srcpkgs/bash/files/bash50-001
 delete mode 100644 srcpkgs/bash/files/bash50-002
 delete mode 100644 srcpkgs/bash/files/bash50-003
 delete mode 100644 srcpkgs/bash/files/bash50-004
 delete mode 100644 srcpkgs/bash/files/bash50-005
 delete mode 100644 srcpkgs/bash/files/bash50-006
 delete mode 100644 srcpkgs/bash/files/bash50-007
 delete mode 100644 srcpkgs/bash/files/bash50-008
 delete mode 100644 srcpkgs/bash/files/bash50-009
 delete mode 100644 srcpkgs/bash/files/bash50-010
 delete mode 100644 srcpkgs/bash/files/bash50-011
 delete mode 100644 srcpkgs/bash/files/bash50-012
 delete mode 100644 srcpkgs/bash/files/bash50-013
 delete mode 100644 srcpkgs/bash/files/bash50-014
 delete mode 100644 srcpkgs/bash/files/bash50-015
 delete mode 100644 srcpkgs/bash/files/bash50-016
 delete mode 100644 srcpkgs/bash/files/bash50-017
 delete mode 100755 srcpkgs/bash/files/update-bash-patches.sh

diff --git a/srcpkgs/bash/files/bash50-001 b/srcpkgs/bash/files/bash50-001
deleted file mode 100644
index 087bd82cf72..00000000000
--- a/srcpkgs/bash/files/bash50-001
+++ /dev/null
@@ -1,167 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-001
-
-Bug-Reported-by:	axel@freakout.de
-Bug-Reference-ID:	<201901082050.x08KoShS006731@bongo.freakout.de>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00079.html
-
-Bug-Description:
-
-Under certain circumstances, the glob expansion code did not remove
-backslashes escaping characters in directory names (or portions of a
-pattern preceding a slash).
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0/bashline.c	2018-11-27 13:20:16.000000000 -0500
---- bashline.c	2019-01-16 16:06:03.000000000 -0500
-***************
-*** 232,235 ****
---- 232,236 ----
-  static int bash_possible_command_completions __P((int, int));
-  
-+ static int completion_glob_pattern __P((char *));
-  static char *glob_complete_word __P((const char *, int));
-  static int bash_glob_completion_internal __P((int));
-***************
-*** 1742,1746 ****
-    /* This could be a globbing pattern, so try to expand it using pathname
-       expansion. */
-!   if (!matches && glob_pattern_p (text))
-      {
-        matches = rl_completion_matches (text, glob_complete_word);
---- 1743,1747 ----
-    /* This could be a globbing pattern, so try to expand it using pathname
-       expansion. */
-!   if (!matches && completion_glob_pattern ((char *)text))
-      {
-        matches = rl_completion_matches (text, glob_complete_word);
-***************
-*** 1851,1855 ****
-  	}
-  
-!       globpat = glob_pattern_p (hint_text);
-  
-        /* If this is an absolute program name, do not check it against
---- 1852,1856 ----
-  	}
-  
-!       globpat = completion_glob_pattern ((char *)hint_text);
-  
-        /* If this is an absolute program name, do not check it against
-***************
-*** 3714,3717 ****
---- 3715,3773 ----
-  }
-  
-+ static int
-+ completion_glob_pattern (string)
-+      char *string;
-+ {
-+   register int c;
-+   char *send;
-+   int open;
-+ 
-+   DECLARE_MBSTATE;
-+ 
-+   open = 0;
-+   send = string + strlen (string);
-+ 
-+   while (c = *string++)
-+     {
-+       switch (c)
-+ 	{
-+ 	case '?':
-+ 	case '*':
-+ 	  return (1);
-+ 
-+ 	case '[':
-+ 	  open++;
-+ 	  continue;
-+ 
-+ 	case ']':
-+ 	  if (open)
-+ 	    return (1);
-+ 	  continue;
-+ 
-+ 	case '+':
-+ 	case '@':
-+ 	case '!':
-+ 	  if (*string == '(')	/*)*/
-+ 	    return (1);
-+ 	  continue;
-+ 
-+ 	case '\\':
-+ 	  if (*string == 0)
-+ 	    return (0);	 	  
-+ 	}
-+ 
-+       /* Advance one fewer byte than an entire multibyte character to
-+ 	 account for the auto-increment in the loop above. */
-+ #ifdef HANDLE_MULTIBYTE
-+       string--;
-+       ADVANCE_CHAR_P (string, send - string);
-+       string++;
-+ #else
-+       ADVANCE_CHAR_P (string, send - string);
-+ #endif
-+     }
-+   return (0);
-+ }
-+ 
-  static char *globtext;
-  static char *globorig;
-***************
-*** 3878,3882 ****
-      }      
-  
-!   if (t && glob_pattern_p (t) == 0)
-      rl_explicit_arg = 1;	/* XXX - force glob_complete_word to append `*' */
-    FREE (t);
---- 3934,3938 ----
-      }      
-  
-!   if (t && completion_glob_pattern (t) == 0)
-      rl_explicit_arg = 1;	/* XXX - force glob_complete_word to append `*' */
-    FREE (t);
-*** ../bash-5.0/lib/glob/glob_loop.c	2018-12-31 13:35:15.000000000 -0500
---- lib/glob/glob_loop.c	2019-01-09 09:44:36.000000000 -0500
-***************
-*** 55,59 ****
-  
-        case L('\\'):
-- #if 0
-  	/* Don't let the pattern end in a backslash (GMATCH returns no match
-  	   if the pattern ends in a backslash anyway), but otherwise return 1,
---- 55,58 ----
-***************
-*** 61,69 ****
-  	   and it can be removed. */
-  	return (*p != L('\0'));
-- #else
-- 	/* The pattern may not end with a backslash. */
-- 	if (*p++ == L('\0'))
-- 	  return 0;
-- #endif
-        }
-  
---- 60,63 ----
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 0
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 1
-  
-  #endif /* _PATCHLEVEL_H_ */
-
diff --git a/srcpkgs/bash/files/bash50-002 b/srcpkgs/bash/files/bash50-002
deleted file mode 100644
index 3fc8272f84a..00000000000
--- a/srcpkgs/bash/files/bash50-002
+++ /dev/null
@@ -1,113 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-002
-
-Bug-Reported-by:	Ante Peric <synthmeat@gmail.com>
-Bug-Reference-ID:	<B7E3B567-2467-4F7B-B6B9-CA4E75A9C93F@gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00095.html
-
-Bug-Description:
-
-When an alias value ends with an unquoted literal tab (not part of a quoted
-string or comment), alias expansion cannot correctly detect the end of the
-alias value after expanding it.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0/parser.h	2018-12-28 19:11:18.000000000 -0500
---- parser.h	2019-01-11 15:13:03.000000000 -0500
-***************
-*** 48,51 ****
---- 48,52 ----
-  #define PST_REDIRLIST	0x080000	/* parsing a list of redirections preceding a simple command name */
-  #define PST_COMMENT	0x100000	/* parsing a shell comment; used by aliases */
-+ #define PST_ENDALIAS	0x200000	/* just finished expanding and consuming an alias */
-  
-  /* Definition of the delimiter stack.  Needed by parse.y and bashhist.c. */
-*** ../bash-5.0/parse.y	2019-01-02 13:57:34.000000000 -0500
---- parse.y	2019-01-14 08:23:31.000000000 -0500
-***************
-*** 2558,2567 ****
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-        shell_input_line_index > 0 &&
-!       shell_input_line[shell_input_line_index-1] != ' ' &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-        return ' ';	/* END_ALIAS */
-      }
---- 2558,2569 ----
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-+       (parser_state & PST_ENDALIAS) == 0 &&	/* only once */
-        shell_input_line_index > 0 &&
-!       shellblank (shell_input_line[shell_input_line_index-1]) == 0 &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-+       parser_state |= PST_ENDALIAS;
-        return ' ';	/* END_ALIAS */
-      }
-***************
-*** 2572,2575 ****
---- 2574,2578 ----
-    if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE)
-      {
-+       parser_state &= ~PST_ENDALIAS;
-        pop_string ();
-        uc = shell_input_line[shell_input_line_index];
-*** ../bash-5.0/y.tab.c	2019-01-02 13:57:43.000000000 -0500
---- y.tab.c	2019-01-14 08:39:23.000000000 -0500
-***************
-*** 4874,4883 ****
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-        shell_input_line_index > 0 &&
-!       shell_input_line[shell_input_line_index-1] != ' ' &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-        return ' ';	/* END_ALIAS */
-      }
---- 4874,4885 ----
-        pushed_string_list->flags != PSH_DPAREN &&
-        (parser_state & PST_COMMENT) == 0 &&
-+       (parser_state & PST_ENDALIAS) == 0 &&	/* only once */
-        shell_input_line_index > 0 &&
-!       shellblank (shell_input_line[shell_input_line_index-1]) == 0 &&
-        shell_input_line[shell_input_line_index-1] != '\n' &&
-        shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-        (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-      {
-+       parser_state |= PST_ENDALIAS;
-        return ' ';	/* END_ALIAS */
-      }
-***************
-*** 4888,4891 ****
---- 4890,4894 ----
-    if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE)
-      {
-+       parser_state &= ~PST_ENDALIAS;
-        pop_string ();
-        uc = shell_input_line[shell_input_line_index];
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 1
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 2
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-003 b/srcpkgs/bash/files/bash50-003
deleted file mode 100644
index f7e5677e540..00000000000
--- a/srcpkgs/bash/files/bash50-003
+++ /dev/null
@@ -1,239 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-003
-
-Bug-Reported-by:	Andrew Church <achurch+bash@achurch.org>
-Bug-Reference-ID:	<5c534aa2.04371@msgid.achurch.org>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00276.html
-
-Bug-Description:
-
-There are several incompatibilities in how bash-5.0 processes pathname
-expansion (globbing) of filename arguments that have backslashes in the
-directory portion.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/glob/glob_loop.c	2019-01-16 16:13:21.000000000 -0500
---- lib/glob/glob_loop.c	2019-02-01 09:45:11.000000000 -0500
-***************
-*** 27,34 ****
-    register const GCHAR *p;
-    register GCHAR c;
-!   int bopen;
-  
-    p = pattern;
-!   bopen = 0;
-  
-    while ((c = *p++) != L('\0'))
---- 27,34 ----
-    register const GCHAR *p;
-    register GCHAR c;
-!   int bopen, bsquote;
-  
-    p = pattern;
-!   bopen = bsquote = 0;
-  
-    while ((c = *p++) != L('\0'))
-***************
-*** 56,66 ****
-        case L('\\'):
-  	/* Don't let the pattern end in a backslash (GMATCH returns no match
-! 	   if the pattern ends in a backslash anyway), but otherwise return 1,
-! 	   since the matching engine uses backslash as an escape character
-! 	   and it can be removed. */
-! 	return (*p != L('\0'));
-        }
-  
-!   return 0;
-  }
-  
---- 56,75 ----
-        case L('\\'):
-  	/* Don't let the pattern end in a backslash (GMATCH returns no match
-! 	   if the pattern ends in a backslash anyway), but otherwise note that 
-! 	   we have seen this, since the matching engine uses backslash as an
-! 	   escape character and it can be removed. We return 2 later if we
-! 	   have seen only backslash-escaped characters, so interested callers
-! 	   know they can shortcut and just dequote the pathname. */
-! 	if (*p != L('\0'))
-! 	  {
-! 	    p++;
-! 	    bsquote = 1;
-! 	    continue;
-! 	  }
-! 	else 	/* (*p == L('\0')) */
-! 	  return 0;
-        }
-  
-!   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-03-07 14:23:43.000000000 -0500
-***************
-*** 1062,1066 ****
-    unsigned int directory_len;
-    int free_dirname;			/* flag */
-!   int dflags;
-  
-    result = (char **) malloc (sizeof (char *));
---- 1078,1082 ----
-    unsigned int directory_len;
-    int free_dirname;			/* flag */
-!   int dflags, hasglob;
-  
-    result = (char **) malloc (sizeof (char *));
-***************
-*** 1111,1117 ****
-      }
-  
-    /* If directory_name contains globbing characters, then we
-!      have to expand the previous levels.  Just recurse. */
-!   if (directory_len > 0 && glob_pattern_p (directory_name))
-      {
-        char **directories, *d, *p;
---- 1127,1136 ----
-      }
-  
-+   hasglob = 0;
-    /* If directory_name contains globbing characters, then we
-!      have to expand the previous levels.  Just recurse.
-!      If glob_pattern_p returns != [0,1] we have a pattern that has backslash
-!      quotes but no unquoted glob pattern characters. We dequote it below. */
-!   if (directory_len > 0 && (hasglob = glob_pattern_p (directory_name)) == 1)
-      {
-        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,1369 ----
-  	  return (NULL);
-  	}
-+       /* 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
---- pathexp.c	2019-01-31 20:19:41.000000000 -0500
-***************
-*** 66,74 ****
-    register int c;
-    char *send;
-!   int open;
-  
-    DECLARE_MBSTATE;
-  
-!   open = 0;
-    send = string + strlen (string);
-  
---- 66,74 ----
-    register int c;
-    char *send;
-!   int open, bsquote;
-  
-    DECLARE_MBSTATE;
-  
-!   open = bsquote = 0;
-    send = string + strlen (string);
-  
-***************
-*** 101,105 ****
-  	   globbing. */
-  	case '\\':
-! 	  return (*string != 0);
-  	 	  
-  	case CTLESC:
---- 101,112 ----
-  	   globbing. */
-  	case '\\':
-! 	  if (*string != '\0' && *string != '/')
-! 	    {
-! 	      bsquote = 1;
-! 	      string++;
-! 	      continue;
-! 	    }
-! 	  else if (*string == 0)
-! 	    return (0);
-  	 	  
-  	case CTLESC:
-***************
-*** 118,122 ****
-  #endif
-      }
-!   return (0);
-  }
-  
---- 125,130 ----
-  #endif
-      }
-! 
-!   return (bsquote ? 2 : 0);
-  }
-  
-*** ../bash-5.0-patched/bashline.c	2019-01-16 16:13:21.000000000 -0500
---- bashline.c	2019-02-22 09:29:08.000000000 -0500
-***************
-*** 3753,3757 ****
-  
-  	case '\\':
-! 	  if (*string == 0)
-  	    return (0);	 	  
-  	}
---- 3766,3770 ----
-  
-  	case '\\':
-! 	  if (*string++ == 0)
-  	    return (0);	 	  
-  	}
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 2
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 3
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-004 b/srcpkgs/bash/files/bash50-004
deleted file mode 100644
index fe3c764bd6c..00000000000
--- a/srcpkgs/bash/files/bash50-004
+++ /dev/null
@@ -1,53 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-004
-
-Bug-Reported-by:	Daniel Kahn Gillmor <dkg@fifthhorseman.net>
-Bug-Reference-ID:	<87lg0g8aiw.fsf@fifthhorseman.net>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-04/msg00076.html
-
-Bug-Description:
-
-In bash-5.0, the `wait' builtin without arguments waits for all children of the
-shell. This includes children it `inherited' at shell invocation time. This
-patch modifies the behavior to not wait for these inherited children, some
-of which might be long-lived.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/jobs.c	2018-12-06 11:44:34.000000000 -0500
---- jobs.c	2019-04-12 15:15:10.000000000 -0400
-***************
-*** 2489,2496 ****
-    wait_procsubs ();
-    reap_procsubs ();
-! #if 1
-    /* We don't want to wait indefinitely if we have stopped children. */
--   /* XXX - should add a loop that goes through the list of process
--      substitutions and waits for each proc in turn before this code. */
-    if (any_stopped == 0)
-      {
---- 2490,2495 ----
-    wait_procsubs ();
-    reap_procsubs ();
-! #if 0
-    /* We don't want to wait indefinitely if we have stopped children. */
-    if (any_stopped == 0)
-      {
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 3
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 4
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-005 b/srcpkgs/bash/files/bash50-005
deleted file mode 100644
index 9b1cd75b0b6..00000000000
--- a/srcpkgs/bash/files/bash50-005
+++ /dev/null
@@ -1,110 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-005
-
-Bug-Reported-by:	Brad Spencer <bspencer@blackberry.com>
-Bug-Reference-ID:	<1b993ff2-ce4f-662a-6be4-393457362e47@blackberry.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00250.html
-
-Bug-Description:
-
-In certain cases, bash optimizes out a fork() call too early and prevents
-traps from running.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/command.h	2018-07-20 21:16:31.000000000 -0400
---- command.h	2019-02-20 11:09:36.000000000 -0500
-***************
-*** 187,190 ****
---- 188,192 ----
-  #define CMD_LASTPIPE	    0x2000
-  #define CMD_STDPATH	    0x4000	/* use standard path for command lookup */
-+ #define CMD_TRY_OPTIMIZING  0x8000	/* try to optimize this simple command */
-  
-  /* What a command looks like. */
-*** ../bash-5.0-patched/builtins/evalstring.c	2018-12-26 11:19:21.000000000 -0500
---- builtins/evalstring.c	2019-01-29 14:15:19.000000000 -0500
-***************
-*** 101,104 ****
---- 101,113 ----
-  }
-  
-+ int
-+ can_optimize_connection (command)
-+      COMMAND *command;
-+ {
-+   return (*bash_input.location.string == '\0' &&
-+ 	  (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-+ 	  command->value.Connection->second->type == cm_simple);
-+ }
-+ 
-  void
-  optimize_fork (command)
-***************
-*** 106,110 ****
-  {
-    if (command->type == cm_connection &&
-!       (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR) &&
-        should_suppress_fork (command->value.Connection->second))
-      {
---- 115,120 ----
-  {
-    if (command->type == cm_connection &&
-!       (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-!       (command->value.Connection->second->flags & CMD_TRY_OPTIMIZING) &&
-        should_suppress_fork (command->value.Connection->second))
-      {
-***************
-*** 413,418 ****
-  		  command->value.Simple->flags |= CMD_NO_FORK;
-  		}
-! 	      else if (command->type == cm_connection)
-! 		optimize_fork (command);
-  #endif /* ONESHOT */
-  
---- 423,438 ----
-  		  command->value.Simple->flags |= CMD_NO_FORK;
-  		}
-! 
-! 	      /* Can't optimize forks out here execept for simple commands.
-! 		 This knows that the parser sets up commands as left-side heavy
-! 		 (&& and || are left-associative) and after the single parse,
-! 		 if we are at the end of the command string, the last in a
-! 		 series of connection commands is
-! 		 command->value.Connection->second. */
-! 	      else if (command->type == cm_connection && can_optimize_connection (command))
-! 		{
-! 		  command->value.Connection->second->flags |= CMD_TRY_OPTIMIZING;
-! 		  command->value.Connection->second->value.Simple->flags |= CMD_TRY_OPTIMIZING;
-! 		}
-  #endif /* ONESHOT */
-  
-*** ../bash-5.0-patched/execute_cmd.c	2018-12-05 09:05:14.000000000 -0500
---- execute_cmd.c	2019-01-25 15:59:00.000000000 -0500
-***************
-*** 2768,2771 ****
---- 2768,2773 ----
-  	   (exec_result != EXECUTION_SUCCESS)))
-  	{
-+ 	  optimize_fork (command);
-+ 
-  	  second = command->value.Connection->second;
-  	  if (ignore_return && second)
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 4
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 5
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-006 b/srcpkgs/bash/files/bash50-006
deleted file mode 100644
index 2ad1cd20090..00000000000
--- a/srcpkgs/bash/files/bash50-006
+++ /dev/null
@@ -1,47 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-006
-
-Bug-Reported-by:	Tomas Mozes <hydrapolic@gmail.com>
-Bug-Reference-ID:	<CAG6MAzQumLU2vhnmr1UrYAUQAFW5Yo8hfM_sEibX9RJQWJkRrA@mail.gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-03/msg00037.html
-
-Bug-Description:
-
-Bash-5.0 did not build successfully if SYSLOG_HISTORY was defined without
-also defining SYSLOG_SHOPT.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/builtins/shopt.def	2018-10-05 14:49:02.000000000 -0400
---- builtins/shopt.def	2019-01-23 09:55:22.000000000 -0500
-***************
-*** 123,127 ****
-  #endif
-  
-! #if defined (SYSLOG_HISTORY) && defined (SYSLOG_SHOPT)
-  extern int syslog_history;
-  #endif
---- 123,127 ----
-  #endif
-  
-! #if defined (SYSLOG_HISTORY)
-  extern int syslog_history;
-  #endif
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 5
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 6
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-007 b/srcpkgs/bash/files/bash50-007
deleted file mode 100644
index b9eb4150a2b..00000000000
--- a/srcpkgs/bash/files/bash50-007
+++ /dev/null
@@ -1,62 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-007
-
-Bug-Reported-by:	Grisha Levit <grishalevit@gmail.com>
-Bug-Reference-ID:	<CAMu=BroHapG1AS3xB5SQaCX2XKu=-E2Ob9uW6LNuHvd=YohrDw@mail.gmail.com>
-Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2019-02/msg00067.html
-
-Bug-Description:
-
-Running `exec' when job control was disabled, even temporarily, but after it
-had been initialized, could leave the terminal in the wrong process group for
-the executed process.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/jobs.c	2018-12-06 11:44:34.000000000 -0500
---- jobs.c	2019-04-12 15:15:10.000000000 -0400
-***************
-*** 4838,4850 ****
-  {
-    if (job_control)
-!     {
-!       terminate_stopped_jobs ();
-  
-!       if (original_pgrp >= 0)
-! 	give_terminal_to (original_pgrp, 1);
-!     }
-  
-!   if (original_pgrp >= 0)
-!     setpgid (0, original_pgrp);
-  }
-  
---- 4838,4848 ----
-  {
-    if (job_control)
-!     terminate_stopped_jobs ();
-  
-!   if (original_pgrp >= 0 && terminal_pgrp != original_pgrp)
-!     give_terminal_to (original_pgrp, 1);
-  
-!   if (original_pgrp >= 0 && setpgid (0, original_pgrp) == 0)
-!     shell_pgrp = original_pgrp;
-  }
-  
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 6
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 7
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-008 b/srcpkgs/bash/files/bash50-008
deleted file mode 100644
index b09d6b33ac7..00000000000
--- a/srcpkgs/bash/files/bash50-008
+++ /dev/null
@@ -1,68 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-008
-
-Bug-Reported-by:	Michael Albinus <michael.albinus@gmx.de>
-Bug-Reference-ID:	<87bm36k3kz.fsf@gmx.de>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-02/msg00111.html
-
-Bug-Description:
-
-When HISTSIZE is set to 0, history expansion can leave the history length
-set to an incorrect value, leading to subsequent attempts to access invalid
-memory.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/bashhist.c	2018-07-05 22:41:14.000000000 -0400
---- bashhist.c	2019-02-20 16:20:04.000000000 -0500
-***************
-*** 561,573 ****
-    if (!history_expansion_inhibited && history_expansion && history_expansion_p (line))
-      {
-        /* If we are expanding the second or later line of a multi-line
-  	 command, decrease history_length so references to history expansions
-  	 in these lines refer to the previous history entry and not the
-  	 current command. */
-        if (history_length > 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-          history_length--;
-        expanded = history_expand (line, &history_value);
-        if (history_length >= 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-!         history_length++;
-  
-        if (expanded)
---- 561,576 ----
-    if (!history_expansion_inhibited && history_expansion && history_expansion_p (line))
-      {
-+       int old_len;
-+ 
-        /* If we are expanding the second or later line of a multi-line
-  	 command, decrease history_length so references to history expansions
-  	 in these lines refer to the previous history entry and not the
-  	 current command. */
-+       old_len = history_length;
-        if (history_length > 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-          history_length--;
-        expanded = history_expand (line, &history_value);
-        if (history_length >= 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
-!         history_length = old_len;
-  
-        if (expanded)
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 7
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 8
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-009 b/srcpkgs/bash/files/bash50-009
deleted file mode 100644
index aef4ce7b5ad..00000000000
--- a/srcpkgs/bash/files/bash50-009
+++ /dev/null
@@ -1,42 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-009
-
-Bug-Reported-by:	chet.ramey@case.edu
-Bug-Reference-ID:
-Bug-Reference-URL:
-
-Bug-Description:
-
-The history file reading code doesn't close the file descriptor open to
-the history file when it encounters a zero-length file.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/readline/histfile.c	2018-06-11 09:14:52.000000000 -0400
---- lib/readline/histfile.c	2019-05-16 15:55:57.000000000 -0400
-***************
-*** 306,309 ****
---- 312,316 ----
-      {
-        free (input);
-+       close (file);
-        return 0;	/* don't waste time if we don't have to */
-      }
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 8
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 9
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-010 b/srcpkgs/bash/files/bash50-010
deleted file mode 100644
index bac7aa92515..00000000000
--- a/srcpkgs/bash/files/bash50-010
+++ /dev/null
@@ -1,172 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-010
-
-Bug-Reported-by:	Thorsten Glaser <tg@mirbsd.de>
-Bug-Reference-ID:	<156622962831.19438.16374961114836556294.reportbug@tglase.lan.tarent.de>
-Bug-Reference-URL:	https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=935115
-
-Bug-Description:
-
-Bash-5.0 changed the way assignment statements preceding special builtins
-and shell functions were handled in posix mode. They automatically created
-or modified global variables instead of modifying existing local variables
-as in bash-4.4.
-
-The bash-4.4 posix-mode semantics were buggy, and resulted in creating
-local variables where they were not intended and modifying global variables
-and local variables simultaneously.
-
-The bash-5.0 changes were intended to fix this issue, but did not preserve
-enough backwards compatibility. The posix standard also changed what it
-required in these cases, so bash-5.0 is not bound by the strict conformance
-requirements that existed in previous issues of the standard.
-
-This patch modifies the bash-5.0 posix mode behavior in an effort to restore
-some backwards compatibility and rationalize the behavior in the presence of
-local variables. It
-
-1. Changes the assignment semantics to be more similar to standalone assignment
-   statements: assignments preceding a function call or special builtin while
-   executing in a shell function will modify the value of a local variable
-   with the same name for the duration of the function's execution;
-
-2. Changes assignments preceding shell function calls or special builtins
-   from within a shell function to no longer create or modify global variables
-   in the presence of a local variable with the same name;
-
-3. Assignment statements preceding a shell function call or special builtin
-   at the global scope continue to modify the (global) calling environment,
-   but are unaffected by assignments preceding function calls or special
-   builtins within a function, as described in item 2. This is also similar
-   to the behavior of a standalone assignment statement.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/variables.c	2018-12-18 11:07:21.000000000 -0500
---- variables.c	2019-08-22 10:53:44.000000000 -0400
-***************
-*** 4461,4467 ****
-  
-  /* Take a variable from an assignment statement preceding a posix special
-!    builtin (including `return') and create a global variable from it. This
-!    is called from merge_temporary_env, which is only called when in posix
-!    mode. */
-  static void
-  push_posix_temp_var (data)
---- 4461,4467 ----
-  
-  /* Take a variable from an assignment statement preceding a posix special
-!    builtin (including `return') and create a variable from it as if a
-!    standalone assignment statement had been performed. This is called from
-!    merge_temporary_env, which is only called when in posix mode. */
-  static void
-  push_posix_temp_var (data)
-***************
-*** 4473,4486 ****
-    var = (SHELL_VAR *)data;
-  
-!   binding_table = global_variables->table;
-!   if (binding_table == 0)
-!     binding_table = global_variables->table = hash_create (VARIABLES_HASH_BUCKETS);
-! 
-!   v = bind_variable_internal (var->name, value_cell (var), binding_table, 0, ASS_FORCE|ASS_NOLONGJMP);
-  
-    /* global variables are no longer temporary and don't need propagating. */
-!   var->attributes &= ~(att_tempvar|att_propagate);
-    if (v)
-!     v->attributes |= var->attributes;
-  
-    if (find_special_var (var->name) >= 0)
---- 4473,4497 ----
-    var = (SHELL_VAR *)data;
-  
-!   /* Just like do_assignment_internal(). This makes assignments preceding
-!      special builtins act like standalone assignment statements when in
-!      posix mode, satisfying the posix requirement that this affect the
-!      "current execution environment." */
-!   v = bind_variable (var->name, value_cell (var), ASS_FORCE|ASS_NOLONGJMP);
-! 
-!   /* If this modifies an existing local variable, v->context will be non-zero.
-!      If it comes back with v->context == 0, we bound at the global context.
-!      Set binding_table appropriately. It doesn't matter whether it's correct
-!      if the variable is local, only that it's not global_variables->table */
-!   binding_table = v->context ? shell_variables->table : global_variables->table;
-  
-    /* global variables are no longer temporary and don't need propagating. */
-!   if (binding_table == global_variables->table)
-!     var->attributes &= ~(att_tempvar|att_propagate);
-! 
-    if (v)
-!     {
-!       v->attributes |= var->attributes;
-!       v->attributes &= ~att_tempvar;	/* not a temp var now */
-!     }
-  
-    if (find_special_var (var->name) >= 0)
-***************
-*** 4576,4587 ****
-  {
-    int i;
-  
-    tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1);
-    tempvar_list[tvlist_ind = 0] = 0;
-!     
-!   hash_flush (temporary_env, pushf);
-!   hash_dispose (temporary_env);
-    temporary_env = (HASH_TABLE *)NULL;
-  
-    tempvar_list[tvlist_ind] = 0;
-  
---- 4587,4601 ----
-  {
-    int i;
-+   HASH_TABLE *disposer;
-  
-    tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1);
-    tempvar_list[tvlist_ind = 0] = 0;
-! 
-!   disposer = temporary_env;
-    temporary_env = (HASH_TABLE *)NULL;
-  
-+   hash_flush (disposer, pushf);
-+   hash_dispose (disposer);
-+ 
-    tempvar_list[tvlist_ind] = 0;
-  
-*** ../bash-5.0-patched/tests/varenv.right	2018-12-17 15:39:48.000000000 -0500
---- tests/varenv.right	2019-08-22 16:05:25.000000000 -0400
-***************
-*** 147,153 ****
-  outside: declare -- var="one"
-  inside: declare -x var="value"
-! outside: declare -x var="value"
-! inside: declare -- var="local"
-! outside: declare -x var="global"
-  foo=<unset> environment foo=
-  foo=foo environment foo=foo
---- 147,153 ----
-  outside: declare -- var="one"
-  inside: declare -x var="value"
-! outside: declare -- var="outside"
-! inside: declare -x var="global"
-! outside: declare -- var="outside"
-  foo=<unset> environment foo=
-  foo=foo environment foo=foo
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 9
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 10
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-011 b/srcpkgs/bash/files/bash50-011
deleted file mode 100644
index a9ae690e004..00000000000
--- a/srcpkgs/bash/files/bash50-011
+++ /dev/null
@@ -1,59 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-011
-
-Bug-Reported-by:	Matt Whitlock
-Bug-Reference-ID:	
-Bug-Reference-URL:	https://savannah.gnu.org/support/?109671
-
-Bug-Description:
-
-The conditional command did not perform appropriate quoted null character
-removal on its arguments, causing syntax errors and attempts to stat
-invalid pathnames.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/subst.c	2018-12-22 17:43:37.000000000 -0500
---- subst.c	2019-04-14 13:25:41.000000000 -0400
-***************
-*** 3626,3630 ****
-     SPECIAL is 2, this is an rhs argument for the =~ operator, and should
-     be quoted appropriately for regcomp/regexec.  The caller is responsible
-!    for removing the backslashes if the unquoted word is needed later. */   
-  char *
-  cond_expand_word (w, special)
---- 3642,3648 ----
-     SPECIAL is 2, this is an rhs argument for the =~ operator, and should
-     be quoted appropriately for regcomp/regexec.  The caller is responsible
-!    for removing the backslashes if the unquoted word is needed later. In
-!    any case, since we don't perform word splitting, we need to do quoted
-!    null character removal. */
-  char *
-  cond_expand_word (w, special)
-***************
-*** 3647,3650 ****
---- 3665,3670 ----
-        if (special == 0)			/* LHS */
-  	{
-+ 	  if (l->word)
-+ 	    word_list_remove_quoted_nulls (l);
-  	  dequote_list (l);
-  	  r = string_list (l);
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 10
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 11
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-012 b/srcpkgs/bash/files/bash50-012
deleted file mode 100644
index 7470e766550..00000000000
--- a/srcpkgs/bash/files/bash50-012
+++ /dev/null
@@ -1,64 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-012
-
-Bug-Reported-by:	lessbug@qq.com
-Bug-Reference-ID:	<tencent_6AA531D9A5CC4121D86BD5CDA2E0DA98C605@qq.com>
-Bug-Reference-URL:
-
-Bug-Description:
-
-When using previous-history to go back beyond the beginning of the history list,
-it's possible to move to an incorrect partial line.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/readline/misc.c	2017-07-07 17:30:12.000000000 -0400
---- lib/readline/misc.c	2019-05-16 11:43:46.000000000 -0400
-***************
-*** 577,580 ****
---- 590,594 ----
-  {
-    HIST_ENTRY *old_temp, *temp;
-+   int had_saved_line;
-  
-    if (count < 0)
-***************
-*** 589,592 ****
---- 603,607 ----
-  
-    /* If we don't have a line saved, then save this one. */
-+   had_saved_line = _rl_saved_line_for_history != 0;
-    rl_maybe_save_line ();
-  
-***************
-*** 612,616 ****
-    if (temp == 0)
-      {
-!       rl_maybe_unsave_line ();
-        rl_ding ();
-      }
---- 627,632 ----
-    if (temp == 0)
-      {
-!       if (had_saved_line == 0)
-!         _rl_free_saved_history_line ();
-        rl_ding ();
-      }
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 11
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 12
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-013 b/srcpkgs/bash/files/bash50-013
deleted file mode 100644
index e44fdb5053b..00000000000
--- a/srcpkgs/bash/files/bash50-013
+++ /dev/null
@@ -1,73 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-013
-
-Bug-Reported-by:	HIROSE Masaaki <hirose31@gmail.com>
-Bug-Reference-ID:	<CAGSOfA-RqiTe=+GsXsDKyZrrMWH4bDbXgMVVegMa6OjqC5xbnQ@mail.gmail.com>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00038.html
-
-Bug-Description:
-
-Reading history entries with timestamps can result in history entries joined
-by linefeeds.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/lib/readline/histfile.c	2018-06-11 09:14:52.000000000 -0400
---- lib/readline/histfile.c	2019-05-16 15:55:57.000000000 -0400
-***************
-*** 370,376 ****
-  
-    has_timestamps = HIST_TIMESTAMP_START (buffer);
-!   history_multiline_entries += has_timestamps && history_write_timestamps;  
-  
-    /* Skip lines until we are at FROM. */
-    for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
-      if (*line_end == '\n')
---- 370,378 ----
-  
-    has_timestamps = HIST_TIMESTAMP_START (buffer);
-!   history_multiline_entries += has_timestamps && history_write_timestamps;
-  
-    /* Skip lines until we are at FROM. */
-+   if (has_timestamps)
-+     last_ts = buffer;
-    for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
-      if (*line_end == '\n')
-***************
-*** 381,385 ****
---- 383,398 ----
-  	if (HIST_TIMESTAMP_START(p) == 0)
-  	  current_line++;
-+ 	else
-+ 	  last_ts = p;
-  	line_start = p;
-+ 	/* If we are at the last line (current_line == from) but we have
-+ 	   timestamps (has_timestamps), then line_start points to the
-+ 	   text of the last command, and we need to skip to its end. */
-+ 	if (current_line >= from && has_timestamps)
-+ 	  {
-+ 	    for (line_end = p; line_end < bufend && *line_end != '\n'; line_end++)
-+ 	      ;
-+ 	    line_start = (*line_end == '\n') ? line_end + 1 : line_end;
-+ 	  }
-        }
-  
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 12
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 13
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-014 b/srcpkgs/bash/files/bash50-014
deleted file mode 100644
index 6cb49aae725..00000000000
--- a/srcpkgs/bash/files/bash50-014
+++ /dev/null
@@ -1,52 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-014
-
-Bug-Reported-by:	Johannes Hielscher <jhielscher@posteo.de>
-Bug-Reference-ID:	<20190208205048.77c25a83@hordevm>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-02/msg00032.html
-
-Bug-Description:
-
-If the current line is empty, using the emacs C-xC-e binding to enter the
-editor will edit the previous command instead of the current (empty) one.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/bashline.c	2019-01-16 16:13:21.000000000 -0500
---- bashline.c	2019-02-11 11:18:57.000000000 -0500
-***************
-*** 962,970 ****
-  	 finished with the command, so we should not ignore the last command */
-        using_history ();
-!       if (rl_line_buffer[0])
-! 	{
-! 	  current_command_line_count++;	/* for rl_newline above */
-! 	  bash_add_history (rl_line_buffer);
-! 	}
-        current_command_line_count = 0;	/* for dummy history entry */
-        bash_add_history ("");
---- 965,970 ----
-  	 finished with the command, so we should not ignore the last command */
-        using_history ();
-!       current_command_line_count++;	/* for rl_newline above */
-!       bash_add_history (rl_line_buffer);
-        current_command_line_count = 0;	/* for dummy history entry */
-        bash_add_history ("");
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 13
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 14
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-015 b/srcpkgs/bash/files/bash50-015
deleted file mode 100644
index ff6e5e69d6e..00000000000
--- a/srcpkgs/bash/files/bash50-015
+++ /dev/null
@@ -1,78 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-015
-
-Bug-Reported-by:	Yu Kou <ckyoog@gmail.com>
-Bug-Reference-ID:	<CAAqoF9Ko3nAShJXGzucafs-ByUagzZ4nbQonwEkwC7s9UqfWKw@mail.gmail.com>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00032.html
-
-Bug-Description:
-
-If alias expansion is enabled when processing the command argument to the
-`-c' option, an alias is defined in that command, and the command ends with
-the invocation of that alias, the shell's command parser can prematurely
-terminate before the entire command is executed.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-20190426/builtins/evalstring.c	2019-01-29 14:15:19.000000000 -0500
---- builtins/evalstring.c	2019-05-15 14:19:36.000000000 -0400
-***************
-*** 92,95 ****
---- 92,96 ----
-  	  running_trap == 0 &&
-  	  *bash_input.location.string == '\0' &&
-+ 	  parser_expanding_alias () == 0 &&
-  	  command->type == cm_simple &&
-  	  signal_is_trapped (EXIT_TRAP) == 0 &&
-***************
-*** 106,109 ****
---- 107,111 ----
-  {
-    return (*bash_input.location.string == '\0' &&
-+ 	  parser_expanding_alias () == 0 &&
-  	  (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-  	  command->value.Connection->second->type == cm_simple);
-***************
-*** 291,295 ****
-    with_input_from_string (string, from_file);
-    clear_shell_input_line ();
-!   while (*(bash_input.location.string))
-      {
-        command = (COMMAND *)NULL;
---- 293,297 ----
-    with_input_from_string (string, from_file);
-    clear_shell_input_line ();
-!   while (*(bash_input.location.string) || parser_expanding_alias ())
-      {
-        command = (COMMAND *)NULL;
-***************
-*** 546,550 ****
-  
-    with_input_from_string (string, from_file);
-!   while (*(bash_input.location.string))
-      {
-        command = (COMMAND *)NULL;
---- 548,552 ----
-  
-    with_input_from_string (string, from_file);
-!   while (*(bash_input.location.string))		/* XXX - parser_expanding_alias () ? */
-      {
-        command = (COMMAND *)NULL;
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 14
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 15
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-016 b/srcpkgs/bash/files/bash50-016
deleted file mode 100644
index 87f232d7ad4..00000000000
--- a/srcpkgs/bash/files/bash50-016
+++ /dev/null
@@ -1,58 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-016
-
-Bug-Reported-by:	sunnycemetery@gmail.com
-Bug-Reference-ID:	<20190316041534.GB22884@midnight>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-03/msg00070.html
-
-Bug-Description:
-
-Bash waits too long to reap /dev/fd process substitutions used as redirections
-with loops and group commands, which can lead to file descriptor exhaustion.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/execute_cmd.c	2019-04-19 15:46:36.000000000 -0400
---- execute_cmd.c	2019-07-01 16:45:49.000000000 -0400
-***************
-*** 1104,1107 ****
---- 1085,1104 ----
-        discard_unwind_frame ("internal_fifos");
-      }
-+ # if defined (HAVE_DEV_FD)
-+   /* Reap process substitutions at the end of loops */
-+   switch (command->type)
-+     {
-+     case cm_while:
-+     case cm_until:
-+     case cm_for:
-+     case cm_group:
-+ #    if defined (ARITH_FOR_COMMAND)
-+     case cm_arith_for:
-+ #    endif
-+       reap_procsubs ();
-+     default:
-+       break;
-+     }
-+ #  endif /* HAVE_DEV_FD */
-  #endif
-  
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 15
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 16
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/bash50-017 b/srcpkgs/bash/files/bash50-017
deleted file mode 100644
index adfcb6a8606..00000000000
--- a/srcpkgs/bash/files/bash50-017
+++ /dev/null
@@ -1,289 +0,0 @@
-			     BASH PATCH REPORT
-			     =================
-
-Bash-Release:	5.0
-Patch-ID:	bash50-017
-
-Bug-Reported-by:	Valentin Lab <valentin.lab@kalysto.org>
-Bug-Reference-ID:	<ab981b9c-60a5-46d0-b7e6-a6d88b80df50@kalysto.org>
-Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2020-03/msg00062.html
-
-Bug-Description:
-
-There were cases where patch 16 reaped process substitution file descriptors
-(or FIFOs) and processes to early. This is a better fix for the problem that
-bash50-016 attempted to solve.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/subst.c	2019-08-29 11:16:49.000000000 -0400
---- subst.c	2020-04-02 16:24:19.000000000 -0400
-***************
-*** 5337,5341 ****
-  }
-  
-! char *
-  copy_fifo_list (sizep)
-       int *sizep;
---- 5337,5341 ----
-  }
-  
-! void *
-  copy_fifo_list (sizep)
-       int *sizep;
-***************
-*** 5343,5347 ****
-    if (sizep)
-      *sizep = 0;
-!   return (char *)NULL;
-  }
-  
---- 5343,5347 ----
-    if (sizep)
-      *sizep = 0;
-!   return (void *)NULL;
-  }
-  
-***************
-*** 5409,5414 ****
-  	if (fifo_list[i].file)
-  	  {
-! 	    fifo_list[j].file = fifo_list[i].file;
-! 	    fifo_list[j].proc = fifo_list[i].proc;
-  	    j++;
-  	  }
---- 5409,5419 ----
-  	if (fifo_list[i].file)
-  	  {
-! 	    if (i != j)
-! 	      {
-! 		fifo_list[j].file = fifo_list[i].file;
-! 		fifo_list[j].proc = fifo_list[i].proc;
-! 		fifo_list[i].file = (char *)NULL;
-! 		fifo_list[i].proc = 0;
-! 	      }
-  	    j++;
-  	  }
-***************
-*** 5426,5433 ****
-  void
-  close_new_fifos (list, lsize)
-!      char *list;
-       int lsize;
-  {
-    int i;
-  
-    if (list == 0)
---- 5431,5439 ----
-  void
-  close_new_fifos (list, lsize)
-!      void *list;
-       int lsize;
-  {
-    int i;
-+   char *plist;
-  
-    if (list == 0)
-***************
-*** 5437,5442 ****
-      }
-  
-!   for (i = 0; i < lsize; i++)
-!     if (list[i] == 0 && i < fifo_list_size && fifo_list[i].proc != -1)
-        unlink_fifo (i);
-  
---- 5443,5448 ----
-      }
-  
-!   for (plist = (char *)list, i = 0; i < lsize; i++)
-!     if (plist[i] == 0 && i < fifo_list_size && fifo_list[i].proc != -1)
-        unlink_fifo (i);
-  
-***************
-*** 5560,5568 ****
-  }
-  
-! char *
-  copy_fifo_list (sizep)
-       int *sizep;
-  {
-!   char *ret;
-  
-    if (nfds == 0 || totfds == 0)
---- 5566,5574 ----
-  }
-  
-! void *
-  copy_fifo_list (sizep)
-       int *sizep;
-  {
-!   void *ret;
-  
-    if (nfds == 0 || totfds == 0)
-***************
-*** 5570,5579 ****
-        if (sizep)
-  	*sizep = 0;
-!       return (char *)NULL;
-      }
-  
-    if (sizep)
-      *sizep = totfds;
-!   ret = (char *)xmalloc (totfds * sizeof (pid_t));
-    return (memcpy (ret, dev_fd_list, totfds * sizeof (pid_t)));
-  }
---- 5576,5585 ----
-        if (sizep)
-  	*sizep = 0;
-!       return (void *)NULL;
-      }
-  
-    if (sizep)
-      *sizep = totfds;
-!   ret = xmalloc (totfds * sizeof (pid_t));
-    return (memcpy (ret, dev_fd_list, totfds * sizeof (pid_t)));
-  }
-***************
-*** 5648,5655 ****
-  void
-  close_new_fifos (list, lsize)
-!      char *list;
-       int lsize;
-  {
-    int i;
-  
-    if (list == 0)
---- 5654,5662 ----
-  void
-  close_new_fifos (list, lsize)
-!      void *list;
-       int lsize;
-  {
-    int i;
-+   pid_t *plist;
-  
-    if (list == 0)
-***************
-*** 5659,5664 ****
-      }
-  
-!   for (i = 0; i < lsize; i++)
-!     if (list[i] == 0 && i < totfds && dev_fd_list[i])
-        unlink_fifo (i);
-  
---- 5666,5671 ----
-      }
-  
-!   for (plist = (pid_t *)list, i = 0; i < lsize; i++)
-!     if (plist[i] == 0 && i < totfds && dev_fd_list[i])
-        unlink_fifo (i);
-  
-*** ../bash-5.0-patched/subst.h	2018-10-21 18:46:09.000000000 -0400
---- subst.h	2020-04-02 16:29:28.000000000 -0400
-***************
-*** 274,280 ****
-  extern void unlink_fifo __P((int));
-  
-! extern char *copy_fifo_list __P((int *));
-! extern void unlink_new_fifos __P((char *, int));
-! extern void close_new_fifos __P((char *, int));
-  
-  extern void clear_fifo_list __P((void));
---- 274,279 ----
-  extern void unlink_fifo __P((int));
-  
-! extern void *copy_fifo_list __P((int *));
-! extern void close_new_fifos __P((void *, int));
-  
-  extern void clear_fifo_list __P((void));
-*** ../bash-5.0-patched/execute_cmd.c	2020-02-06 20:16:48.000000000 -0500
---- execute_cmd.c	2020-04-02 17:00:10.000000000 -0400
-***************
-*** 565,569 ****
-  #if defined (PROCESS_SUBSTITUTION)
-    volatile int ofifo, nfifo, osize, saved_fifo;
-!   volatile char *ofifo_list;
-  #endif
-  
---- 565,569 ----
-  #if defined (PROCESS_SUBSTITUTION)
-    volatile int ofifo, nfifo, osize, saved_fifo;
-!   volatile void *ofifo_list;
-  #endif
-  
-***************
-*** 751,760 ****
-  #  endif
-  
-!   if (variable_context != 0)	/* XXX - also if sourcelevel != 0? */
-      {
-        ofifo = num_fifos ();
-        ofifo_list = copy_fifo_list ((int *)&osize);
-        begin_unwind_frame ("internal_fifos");
-!       add_unwind_protect (xfree, ofifo_list);
-        saved_fifo = 1;
-      }
---- 751,762 ----
-  #  endif
-  
-!   /* XXX - also if sourcelevel != 0? */
-!   if (variable_context != 0)
-      {
-        ofifo = num_fifos ();
-        ofifo_list = copy_fifo_list ((int *)&osize);
-        begin_unwind_frame ("internal_fifos");
-!       if (ofifo_list)
-! 	add_unwind_protect (xfree, ofifo_list);
-        saved_fifo = 1;
-      }
-***************
-*** 1100,1123 ****
-        nfifo = num_fifos ();
-        if (nfifo > ofifo)
-! 	close_new_fifos ((char *)ofifo_list, osize);
-        free ((void *)ofifo_list);
-        discard_unwind_frame ("internal_fifos");
-      }
-- # if defined (HAVE_DEV_FD)
--   /* Reap process substitutions at the end of loops */
--   switch (command->type)
--     {
--     case cm_while:
--     case cm_until:
--     case cm_for:
--     case cm_group:
-- #    if defined (ARITH_FOR_COMMAND)
--     case cm_arith_for:
-- #    endif
--       reap_procsubs ();
--     default:
--       break;
--     }
-- #  endif /* HAVE_DEV_FD */
-  #endif
-  
---- 1102,1109 ----
-        nfifo = num_fifos ();
-        if (nfifo > ofifo)
-! 	close_new_fifos ((void *)ofifo_list, osize);
-        free ((void *)ofifo_list);
-        discard_unwind_frame ("internal_fifos");
-      }
-  #endif
-  
-
-*** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h	2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 16
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 17
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/srcpkgs/bash/files/update-bash-patches.sh b/srcpkgs/bash/files/update-bash-patches.sh
deleted file mode 100755
index 63c5e20c233..00000000000
--- a/srcpkgs/bash/files/update-bash-patches.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-source ../template
-
-for i in $(seq -w 001 ${_bash_patchlevel}); do
-	curl https://ftp.gnu.org/gnu/bash/bash-$_bash_distver-patches/bash${_bash_distver//./}-$i \
-		> bash${_bash_distver//./}-${_bash_patchlevel}
-done
diff --git a/srcpkgs/bash/template b/srcpkgs/bash/template
index 91e2e4c1ca3..b5c6c01790f 100644
--- a/srcpkgs/bash/template
+++ b/srcpkgs/bash/template
@@ -1,9 +1,10 @@
 # Template file for 'bash'
 pkgname=bash
-_bash_distver=5.0
-_bash_patchlevel=017
-version="${_bash_distver}.${_bash_patchlevel}"
+version=5.0.017
 revision=1
+_bash_distver=${version%.*}
+_bash_patchlevel=${version##*.}
+_patchprefix="bash${_bash_distver/./}"
 wrksrc="${pkgname}-${_bash_distver}"
 build_style=gnu-configure
 configure_args="--without-bash-malloc --with-curses --without-installed-readline"
@@ -15,9 +16,35 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.gnu.org/software/bash/bash.html"
 distfiles="${GNU_SITE}/${pkgname}/${pkgname}-${_bash_distver}.tar.gz"
-make_dirs="/etc/bash/bashrc.d 755 root root"
-checksum=b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
 
+_url="${GNU_SITE}/bash/bash-${_bash_distver}-patches"
+for _p in $(seq -w 001 ${_bash_patchlevel}); do
+	distfiles+=" ${_url}/${_patchprefix}-${_p}"
+	skip_extraction+=" ${_patchprefix}-${_p}"
+done
+unset _url
+unset _p
+
+checksum="b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
+ f2fe9e1f0faddf14ab9bfa88d450a75e5d028fedafad23b88716bd657c737289
+ 87e87d3542e598799adb3e7e01c8165bc743e136a400ed0de015845f7ff68707
+ 4eebcdc37b13793a232c5f2f498a5fcbf7da0ecb3da2059391c096db620ec85b
+ 14447ad832add8ecfafdce5384badd933697b559c4688d6b9e3d36ff36c62f08
+ 5bf54dd9bd2c211d2bfb34a49e2c741f2ed5e338767e9ce9f4d41254bf9f8276
+ d68529a6ff201b6ff5915318ab12fc16b8a0ebb77fda3308303fcc1e13398420
+ 17b41e7ee3673d8887dd25992417a398677533ab8827938aa41fad70df19af9b
+ eec64588622a82a5029b2776e218a75a3640bef4953f09d6ee1f4199670ad7e3
+ ed3ca21767303fc3de93934aa524c2e920787c506b601cc40a4897d4b094d903
+ d6fbc325f0b5dc54ddbe8ee43020bced8bd589ddffea59d128db14b2e52a8a11
+ 2c4de332b91eaf797abbbd6c79709690b5cbd48b12e8dfe748096dbd7bf474ea
+ 2943ee19688018296f2a04dbfe30b7138b889700efa8ff1c0524af271e0ee233
+ f5d7178d8da30799e01b83a0802018d913d6aa972dd2ddad3b927f3f3eb7099a
+ 5d6eee6514ee6e22a87bba8d22be0a8621a0ae119246f1c5a9a35db1f72af589
+ a517df2dda93b26d5cbf00effefea93e3a4ccd6652f152f4109170544ebfa05e
+ ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d
+ 4cf3b9fafb8a66d411dd5fc9120032533a4012df1dc6ee024c7833373e2ddc31"
+
+make_dirs="/etc/bash/bashrc.d 755 root root"
 conflicts="chroot-bash>=0"
 register_shell="/usr/bin/bash /bin/bash"
 
@@ -27,13 +54,12 @@ alternatives="
 
 CFLAGS="-DSYS_BASHRC='\"/etc/bash/bashrc\"'"
 
-pre_configure() {
-	local ver=$(echo ${_bash_distver}|sed "s|\.||g")
-
+post_patch() {
+	local _p
 	cd ${wrksrc}
-	for p in $(seq -w 001 ${_bash_patchlevel}); do
-		patch -sNp0 -i ${FILESDIR}/bash${ver}-${p}
-		msg_normal " Applying patch bash${ver}-$p.\n"
+	for _p in $(seq -w 001 ${_bash_patchlevel}); do
+		msg_normal " Applying patch ${_patchprefix}-${_p}.\n"
+		patch -sNp0 -i ${XBPS_SRCDISTDIR}/bash-$version/${_patchprefix}-${_p}
 	done
 }
 

From 63bde1d905bc4e2f2706126fb9041ed073b63e70 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Tue, 28 Jul 2020 07:07:49 +0700
Subject: [PATCH 5/6] bash: update to 5.0.018.

Close: #23815
---
 srcpkgs/bash/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/bash/template b/srcpkgs/bash/template
index b5c6c01790f..76e1b0e8471 100644
--- a/srcpkgs/bash/template
+++ b/srcpkgs/bash/template
@@ -1,6 +1,6 @@
 # Template file for 'bash'
 pkgname=bash
-version=5.0.017
+version=5.0.018
 revision=1
 _bash_distver=${version%.*}
 _bash_patchlevel=${version##*.}
@@ -42,7 +42,8 @@ checksum="b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d
  5d6eee6514ee6e22a87bba8d22be0a8621a0ae119246f1c5a9a35db1f72af589
  a517df2dda93b26d5cbf00effefea93e3a4ccd6652f152f4109170544ebfa05e
  ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d
- 4cf3b9fafb8a66d411dd5fc9120032533a4012df1dc6ee024c7833373e2ddc31"
+ 4cf3b9fafb8a66d411dd5fc9120032533a4012df1dc6ee024c7833373e2ddc31
+ 7c314e375a105a6642e8ed44f3808b9def89d15f7492fe2029a21ba9c0de81d3"
 
 make_dirs="/etc/bash/bashrc.d 755 root root"
 conflicts="chroot-bash>=0"

From 47553406b67df0cee514cf7969a1fc1eeaef4b1b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sat, 25 Jul 2020 12:13:07 +0700
Subject: [PATCH 6/6] libreadline8: verify patch's checksum

---
 srcpkgs/libreadline8/template | 25 +++++++++++--------------
 1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/srcpkgs/libreadline8/template b/srcpkgs/libreadline8/template
index 6200195be9e..c351f0db6e2 100644
--- a/srcpkgs/libreadline8/template
+++ b/srcpkgs/libreadline8/template
@@ -14,22 +14,19 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://tiswww.cwru.edu/php/chet/readline/rltop.html"
 distfiles="${GNU_SITE}/readline/readline-${_dist_ver}.tar.gz"
-checksum=e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461
 
-pre_configure() {
-	local url="${GNU_SITE}/readline/readline-${_dist_ver}-patches"
+_url="${GNU_SITE}/readline/readline-${_dist_ver}-patches"
+for _p in $(seq -w 001 ${_patch_ver}); do
+	distfiles+=" ${_url}/readline${_dist_ver/./}-${_p}"
+	skip_extraction+=" readline${_dist_ver/./}-${_p}"
+done
+unset _url
+unset _p
 
-	cd ${XBPS_SRCDISTDIR}/${pkgname}-${version}
-	if [ "${_patch_ver}" -gt 000 ]; then
-		for p in $(seq -w 001 ${_patch_ver}); do
-			if [ -f readline${version/./}-${p} ]; then
-				continue
-			fi
-			local patch_url="${url}/readline${_dist_ver/./}-${p}"
-			msg_normal " Fetching ${patch_url} ...\n"
-			$XBPS_FETCH_CMD "${patch_url}"
-		done
-	fi
+checksum="e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461
+ d8e5e98933cf5756f862243c0601cb69d3667bb33f2c7b751fe4e40b2c3fd069"
+
+post_patch() {
 	cd ${wrksrc}
 	for p in $(seq -w 001 ${_patch_ver}); do
 		patch -s -Np0 -i ${XBPS_SRCDISTDIR}/${pkgname}-${version}/readline${_dist_ver/./}-${p}

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: bash: stop vendoring patch
  2020-07-25  8:35 [PR PATCH] bash: stop vendoring patch sgn
                   ` (8 preceding siblings ...)
  2020-07-28  7:24 ` sgn
@ 2020-07-29  1:56 ` fosslinux
  2020-07-29  2:12 ` sgn
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: fosslinux @ 2020-07-29  1:56 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 208 bytes --]

New comment by fosslinux on void-packages repository

https://github.com/void-linux/void-packages/pull/23826#issuecomment-665385245

Comment:
`xbps-src` and templates are full of a bunch of bashisms already.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: bash: stop vendoring patch
  2020-07-25  8:35 [PR PATCH] bash: stop vendoring patch sgn
                   ` (9 preceding siblings ...)
  2020-07-29  1:56 ` fosslinux
@ 2020-07-29  2:12 ` sgn
  2020-07-29  6:35 ` fosslinux
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: sgn @ 2020-07-29  2:12 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 367 bytes --]

New comment by sgn on void-packages repository

https://github.com/void-linux/void-packages/pull/23826#issuecomment-665389452

Comment:
On 2020-07-28 18:56:45-0700, fosslinux <notifications@github.com> wrote:
> `xbps-src` and templates are full of a bunch of bashisms already.

I meant bootstrapping packages, which will be run by foreign distribution/OS.

-- 
Danh


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: bash: stop vendoring patch
  2020-07-25  8:35 [PR PATCH] bash: stop vendoring patch sgn
                   ` (10 preceding siblings ...)
  2020-07-29  2:12 ` sgn
@ 2020-07-29  6:35 ` fosslinux
  2020-08-04  0:07 ` sgn
  2020-08-04 17:03 ` [PR PATCH] [Merged]: " Chocimier
  13 siblings, 0 replies; 15+ messages in thread
From: fosslinux @ 2020-07-29  6:35 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 405 bytes --]

New comment by fosslinux on void-packages repository

https://github.com/void-linux/void-packages/pull/23826#issuecomment-665463724

Comment:
Ah, I see; although, that doesn't discount the bashisms already in xbps-src. Any foreign distribution/OS will still require bash, due to xbps-src. I don't really see any reason as a result to even bother with removing bashisms if we think xbps-src is ok on bash.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: bash: stop vendoring patch
  2020-07-25  8:35 [PR PATCH] bash: stop vendoring patch sgn
                   ` (11 preceding siblings ...)
  2020-07-29  6:35 ` fosslinux
@ 2020-08-04  0:07 ` sgn
  2020-08-04 17:03 ` [PR PATCH] [Merged]: " Chocimier
  13 siblings, 0 replies; 15+ messages in thread
From: sgn @ 2020-08-04  0:07 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 630 bytes --]

New comment by sgn on void-packages repository

https://github.com/void-linux/void-packages/pull/23826#issuecomment-668299760

Comment:
> Ah, I see; although, that doesn't discount the bashisms already in xbps-src. Any foreign distribution/OS will still require bash, due to xbps-src. I don't really see any reason as a result to even bother with removing bashisms if we think xbps-src is ok on bash.

Yes, hence I changed my mind

> Looks ok. I would commit update separately form dropping patches. Can you also change to `version=5.0.018` and derive rest of variables from it?

@Chocimier Anything else should be changed?

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Merged]: bash: stop vendoring patch
  2020-07-25  8:35 [PR PATCH] bash: stop vendoring patch sgn
                   ` (12 preceding siblings ...)
  2020-08-04  0:07 ` sgn
@ 2020-08-04 17:03 ` Chocimier
  13 siblings, 0 replies; 15+ messages in thread
From: Chocimier @ 2020-08-04 17:03 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 261 bytes --]

There's a merged pull request on the void-packages repository

bash: stop vendoring patch
https://github.com/void-linux/void-packages/pull/23826

Description:
- carry them along won't get us anywhere
- verify checksum for libreadline8

conflict with #23815 

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2020-08-04 17:03 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-25  8:35 [PR PATCH] bash: stop vendoring patch sgn
2020-07-25  8:40 ` [PR PATCH] [Updated] " sgn
2020-07-25 11:06 ` sgn
2020-07-26  5:06 ` sgn
2020-07-27 18:23 ` Chocimier
2020-07-27 23:44 ` sgn
2020-07-28  0:11 ` [PR PATCH] [Updated] " sgn
2020-07-28  7:06 ` sgn
2020-07-28  7:08 ` sgn
2020-07-28  7:24 ` sgn
2020-07-29  1:56 ` fosslinux
2020-07-29  2:12 ` sgn
2020-07-29  6:35 ` fosslinux
2020-08-04  0:07 ` sgn
2020-08-04 17:03 ` [PR PATCH] [Merged]: " Chocimier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).