OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall
Root: /v/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-src Date: 30-Apr-2008 19:44:28
Branch: HEAD Handle: 2008043018442700
Modified files:
openpkg-src/bash bash.patch bash.spec
Log:
upgrading package: bash 3.2.33 -> 3.2.39
Summary:
Revision Changes Path
1.18 +137 -0 openpkg-src/bash/bash.patch
1.99 +10 -4 openpkg-src/bash/bash.spec
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-src/bash/bash.patch
============================================================================
$ cvs diff -u -r1.17 -r1.18 bash.patch
--- openpkg-src/bash/bash.patch 28 Mar 2008 14:32:19 -0000 1.17
+++ openpkg-src/bash/bash.patch 30 Apr 2008 17:44:27 -0000 1.18
@@ -88,3 +88,140 @@
# for chet
reconfig: force
+-----------------------------------------------------------------------------
+
+Provide the y.tab.[ch] patches corresponding to what Bash 3.2 patches
+001-039 apply to parse.y in order to not require that this package has
+dependencies to the GNU bison package.
+
+--- y.tab.c.orig 2008-04-30 19:34:48 +0200
++++ y.tab.c 2008-04-30 19:39:08 +0200
+@@ -2359,6 +2359,7 @@
+ #define PST_CMDTOKEN 0x1000 /* command token OK - unused */
+ #define PST_COMPASSIGN 0x2000 /* parsing x=(...) compound
assignment */
+ #define PST_ASSIGNOK 0x4000 /* assignment statement ok in
this context */
++#define PST_REGEXP 0x8000 /* parsing an ERE/BRE as a single word
*/
+
+ /* Initial size to allocate for tokens, and the
+ amount to grow them by. */
+@@ -3921,6 +3922,9 @@
+ return (character);
+ }
+
++ if (parser_state & PST_REGEXP)
++ goto tokword;
++
+ /* Shell meta-characters. */
+ if MBTEST(shellmeta (character) && ((parser_state & PST_DBLPAREN) == 0))
+ {
+@@ -4028,6 +4032,7 @@
+ if MBTEST(character == '-' && (last_read_token == LESS_AND ||
last_read_token == GREATER_AND))
+ return (character);
+
++tokword:
+ /* Okay, if we got this far, we have to read a word. Read one,
+ and then check it against the known ones. */
+ result = read_token_word (character);
+@@ -4065,7 +4070,7 @@
+ /* itrace("parse_matched_pair: open = %c close = %c", open, close); */
+ count = 1;
+ pass_next_character = backq_backslash = was_dollar = in_comment = 0;
+- check_comment = (flags & P_COMMAND) && qc != '\'' && qc != '"' && (flags
& P_DQUOTE) == 0;
++ check_comment = (flags & P_COMMAND) && qc != '`' && qc != '\'' && qc !=
'"' && (flags & P_DQUOTE) == 0;
+
+ /* RFLAGS is the set of flags we want to pass to recursive calls. */
+ rflags = (qc == '"') ? P_DQUOTE : (flags & P_DQUOTE);
+@@ -4532,8 +4537,11 @@
+ if (tok == WORD && test_binop (yylval.word->word))
+ op = yylval.word;
+ #if defined (COND_REGEXP)
+- else if (tok == WORD && STREQ (yylval.word->word,"=~"))
+- op = yylval.word;
++ else if (tok == WORD && STREQ (yylval.word->word, "=~"))
++ {
++ op = yylval.word;
++ parser_state |= PST_REGEXP;
++ }
+ #endif
+ else if (tok == '<' || tok == '>')
+ op = make_word_from_token (tok); /* ( */
+@@ -4564,6 +4572,7 @@
+
+ /* rhs */
+ tok = read_token (READ);
++ parser_state &= ~PST_REGEXP;
+ if (tok == WORD)
+ {
+ tright = make_cond_node (COND_TERM, yylval.word, (COND_COM *)NULL,
(COND_COM *)NULL);
+@@ -4697,7 +4706,7 @@
+ if (pass_next_character)
+ {
+ pass_next_character = 0;
+- goto got_character;
++ goto got_escaped_character;
+ }
+
+ cd = current_delimiter (dstack);
+@@ -4749,9 +4758,34 @@
+ goto next_character;
+ }
+
++#ifdef COND_REGEXP
++ /* When parsing a regexp as a single word inside a conditional
command,
++ we need to special-case characters special to both the shell and
++ regular expressions. Right now, that is only '(' and '|'. */ /*)*/
++ if MBTEST((parser_state & PST_REGEXP) && (character == '(' ||
character == '|')) /*)*/
++ {
++ if (character == '|')
++ goto got_character;
++
++ push_delimiter (dstack, character);
++ ttok = parse_matched_pair (cd, '(', ')', &ttoklen, 0);
++ pop_delimiter (dstack);
++ if (ttok == &matched_pair_error)
++ return -1; /* Bail immediately. */
++ RESIZE_MALLOCED_BUFFER (token, token_index, ttoklen + 2,
++ token_buffer_size, TOKEN_DEFAULT_GROW_SIZE);
++ token[token_index++] = character;
++ strcpy (token + token_index, ttok);
++ token_index += ttoklen;
++ FREE (ttok);
++ dollar_present = all_digit_token = 0;
++ goto next_character;
++ }
++#endif /* COND_REGEXP */
++
+ #ifdef EXTENDED_GLOB
+ /* Parse a ksh-style extended pattern matching specification. */
+- if (extended_glob && PATTERN_CHAR (character))
++ if MBTEST(extended_glob && PATTERN_CHAR (character))
+ {
+ peek_char = shell_getc (1);
+ if MBTEST(peek_char == '(') /* ) */
+@@ -4946,12 +4980,14 @@
+
+ got_character:
+
+- all_digit_token &= DIGIT (character);
+- dollar_present |= character == '$';
+-
+ if (character == CTLESC || character == CTLNUL)
+ token[token_index++] = CTLESC;
+
++ got_escaped_character:
++
++ all_digit_token &= DIGIT (character);
++ dollar_present |= character == '$';
++
+ token[token_index++] = character;
+
+ RESIZE_MALLOCED_BUFFER (token, token_index, 1, token_buffer_size,
+@@ -5660,7 +5696,7 @@
+ if (promptvars || posixly_correct)
+ {
+ last_exit_value = last_command_exit_value;
+- list = expand_prompt_string (result, Q_DOUBLE_QUOTES);
++ list = expand_prompt_string (result, Q_DOUBLE_QUOTES, 0);
+ free (result);
+ result = string_list (list);
+ dispose_words (list);
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/bash/bash.spec
============================================================================
$ cvs diff -u -r1.98 -r1.99 bash.spec
--- openpkg-src/bash/bash.spec 28 Mar 2008 14:32:19 -0000 1.98
+++ openpkg-src/bash/bash.spec 30 Apr 2008 17:44:27 -0000 1.99
@@ -24,8 +24,8 @@
# package version
%define V_base_real 3.2
%define V_base_comp 32
-%define V_plvl_raw 33
-%define V_plvl_pad 033
+%define V_plvl_raw 39
+%define V_plvl_pad 039
# package information
Name: bash
@@ -38,7 +38,7 @@
Group: Shell
License: GPL
Version: %{V_base_real}.%{V_plvl_raw}
-Release: 20080328
+Release: 20080430
# list of sources
Source0: ftp://ftp.cwru.edu/pub/bash/bash-%{V_base_real}.tar.gz
@@ -77,6 +77,12 @@
Patch31:
ftp://ftp.cwru.edu/pub/bash/bash-%{V_base_real}-patches/bash%{V_base_comp}-031
Patch32:
ftp://ftp.cwru.edu/pub/bash/bash-%{V_base_real}-patches/bash%{V_base_comp}-032
Patch33:
ftp://ftp.cwru.edu/pub/bash/bash-%{V_base_real}-patches/bash%{V_base_comp}-033
+Patch34:
ftp://ftp.cwru.edu/pub/bash/bash-%{V_base_real}-patches/bash%{V_base_comp}-034
+Patch35:
ftp://ftp.cwru.edu/pub/bash/bash-%{V_base_real}-patches/bash%{V_base_comp}-035
+Patch36:
ftp://ftp.cwru.edu/pub/bash/bash-%{V_base_real}-patches/bash%{V_base_comp}-036
+Patch37:
ftp://ftp.cwru.edu/pub/bash/bash-%{V_base_real}-patches/bash%{V_base_comp}-037
+Patch38:
ftp://ftp.cwru.edu/pub/bash/bash-%{V_base_real}-patches/bash%{V_base_comp}-038
+Patch39:
ftp://ftp.cwru.edu/pub/bash/bash-%{V_base_real}-patches/bash%{V_base_comp}-039
# build information
Prefix: %{l_prefix}
@@ -109,7 +115,7 @@
%prep
# unpack and patch distribution
%setup -q -n bash-%{V_base_real}
- %patch -p0 -P 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
23 24 25 26 27 28 29 30 31 32 33
+ %patch -p0 -P 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
sleep 1
touch y.tab.[ch]
touch configure config.h.in
@@ .
______________________________________________________________________
OpenPKG http://openpkg.org
CVS Repository Commit List [email protected]