Hello community,

here is the log from the commit of package bash for openSUSE:Factory checked in 
at 2019-02-14 14:10:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/bash (Old)
 and      /work/SRC/openSUSE:Factory/.bash.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "bash"

Thu Feb 14 14:10:51 2019 rev:150 rq:672490 version:5.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/bash/bash.changes        2019-01-29 
14:38:18.891558750 +0100
+++ /work/SRC/openSUSE:Factory/.bash.new.28833/bash.changes     2019-02-14 
14:10:57.296293219 +0100
@@ -1,0 +2,5 @@
+Thu Feb  7 15:06:12 UTC 2019 - Dr. Werner Fink <[email protected]>
+
+- Add upstream patches bash50-001 and bash50-002
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ bash-5.0-patches.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bash-5.0-patches/bash50-001 
new/bash-5.0-patches/bash50-001
--- old/bash-5.0-patches/bash50-001     1970-01-01 01:00:00.000000000 +0100
+++ new/bash-5.0-patches/bash50-001     2019-01-18 21:02:46.000000000 +0100
@@ -0,0 +1,166 @@
+                            BASH PATCH REPORT
+                            =================
+
+Bash-Release:  5.0
+Patch-ID:      bash50-001
+
+Bug-Reported-by:       [email protected]
+Bug-Reference-ID:      <[email protected]>
+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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bash-5.0-patches/bash50-002 
new/bash-5.0-patches/bash50-002
--- old/bash-5.0-patches/bash50-002     1970-01-01 01:00:00.000000000 +0100
+++ new/bash-5.0-patches/bash50-002     2019-01-18 21:03:00.000000000 +0100
@@ -0,0 +1,113 @@
+                            BASH PATCH REPORT
+                            =================
+
+Bash-Release:  5.0
+Patch-ID:      bash50-002
+
+Bug-Reported-by:       Ante Peric <[email protected]>
+Bug-Reference-ID:      <[email protected]>
+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_ */


Reply via email to