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: 06-Mar-2006 23:32:58 Branch: HEAD Handle: 2006030622325800 Modified files: openpkg-src/openpkg HISTORY bash.patch openpkg.spec Log: fixed building of Bash by reducing dependency to Bison/Yacc Summary: Revision Changes Path 1.315 +1 -0 openpkg-src/openpkg/HISTORY 1.10 +186 -35 openpkg-src/openpkg/bash.patch 1.469 +3 -1 openpkg-src/openpkg/openpkg.spec ____________________________________________________________________________ patch -p0 <<'@@ .' Index: openpkg-src/openpkg/HISTORY ============================================================================ $ cvs diff -u -r1.314 -r1.315 HISTORY --- openpkg-src/openpkg/HISTORY 27 Feb 2006 21:24:58 -0000 1.314 +++ openpkg-src/openpkg/HISTORY 6 Mar 2006 22:32:58 -0000 1.315 @@ -2,6 +2,7 @@ 2005 ==== +20060306 fixed building of Bash by reducing dependency to Bison/Yacc 20060227 upgrade to cURL 7.15.2 20060207 upgrade to OSSP uuid 1.4.1 20060207 upgrade to GNU shtool 2.0.5 @@ . patch -p0 <<'@@ .' Index: openpkg-src/openpkg/bash.patch ============================================================================ $ cvs diff -u -r1.9 -r1.10 bash.patch --- openpkg-src/openpkg/bash.patch 4 Feb 2006 09:39:16 -0000 1.9 +++ openpkg-src/openpkg/bash.patch 6 Mar 2006 22:32:58 -0000 1.10 @@ -113,13 +113,36 @@ ----------------------------------------------------------------------------- -Accumulated vendor patches Bash 3.1 001-007 -(but without documentation changes to reduce size) +Accumulated vendor patches Bash 3.1 001-011 +Generated via: + +$ cat bash31-* | patch -p0 -Vt -b +$ shtool move -e '*.~1~' '%1.orig' +$ mv y.tab.c y.tab.c.orig +$ mv y.tab.h y.tab.h.orig +$ /tmp/bison/bin/bison -y -d parse.y +$ shtool subst -b.dummy \ + -e 's;parse\.y;/usr/src/local/chet/src/bash/src/parse.y;g' \ + -e 's;/tmp/bison/share/bison\.simple;/usr/share/bison.simple;g' y.tab.c +$ svs diff Index: jobs.c --- jobs.c.orig 2005-11-12 05:13:27 +0100 -+++ jobs.c 2006-02-04 10:16:23 +0100 -@@ -844,9 +844,10 @@ ++++ jobs.c 2006-03-06 23:11:10 +0100 +@@ -619,8 +619,11 @@ + * once in the parent and once in each child. This is where + * the parent gives it away. + * ++ * Don't give the terminal away if this shell is an asynchronous ++ * subshell. ++ * + */ +- if (job_control && newjob->pgrp) ++ if (job_control && newjob->pgrp && (subshell_environment&SUBSHELL_ASYNC) == 0) + give_terminal_to (newjob->pgrp, 0); + } + } +@@ -844,9 +847,10 @@ realloc_jobs_list () { sigset_t set, oset; @@ -131,7 +154,7 @@ nsize = ((js.j_njobs + JOB_SLOTS - 1) / JOB_SLOTS); nsize *= JOB_SLOTS; i = js.j_njobs % JOB_SLOTS; -@@ -854,17 +855,51 @@ +@@ -854,17 +858,51 @@ nsize += JOB_SLOTS; BLOCK_CHILD (set, oset); @@ -188,32 +211,54 @@ UNBLOCK_CHILD (oset); } -Index: lib/readline/terminal.c ---- lib/readline/terminal.c.orig 2005-11-13 02:46:54 +0100 -+++ lib/readline/terminal.c 2006-02-04 10:16:22 +0100 -@@ -122,7 +122,7 @@ - static char *_rl_visible_bell; - - /* Non-zero means the terminal can auto-wrap lines. */ --int _rl_term_autowrap; -+int _rl_term_autowrap = -1; - - /* Non-zero means that this terminal has a meta key. */ - static int term_has_meta; -@@ -274,6 +274,9 @@ - _rl_set_screen_size (rows, cols) - int rows, cols; - { -+ if (_rl_term_autowrap == -1) -+ _rl_init_terminal_io (rl_terminal_name); -+ - if (rows > 0) - _rl_screenheight = rows; - if (cols > 0) +@@ -1655,7 +1693,7 @@ + In this case, we don't want to give the terminal to the + shell's process group (we could be in the middle of a + pipeline, for example). */ +- if (async_p == 0 && pipeline_pgrp != shell_pgrp) ++ if (async_p == 0 && pipeline_pgrp != shell_pgrp && ((subshell_environment&SUBSHELL_ASYNC) == 0)) + give_terminal_to (pipeline_pgrp, 0); + + #if defined (PGRP_PIPE) +@@ -2198,7 +2236,11 @@ + /* This is possibly a race condition -- should it go in stop_pipeline? */ + wait_sigint_received = 0; + if (job_control == 0) +- old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler); ++ { ++ old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler); ++ if (old_sigint_handler == SIG_IGN) ++ set_signal_handler (SIGINT, old_sigint_handler); ++ } + + termination_state = last_command_exit_value; + Index: parse.y --- parse.y.orig 2005-11-12 05:14:18 +0100 -+++ parse.y 2006-02-04 10:16:22 +0100 -@@ -3695,7 +3695,9 @@ ++++ parse.y 2006-03-06 23:11:10 +0100 +@@ -2898,7 +2898,11 @@ + } + else if MBTEST(qc == '`' && (ch == '"' || ch == '\'') && in_comment == 0) + { +- nestret = parse_matched_pair (0, ch, ch, &nestlen, rflags); ++ /* Add P_ALLOWESC so backslash quotes the next character and ++ shell_getc does the right thing with \<newline>. We do this for ++ a measure of backwards compatibility -- it's not strictly the ++ right POSIX thing. */ ++ nestret = parse_matched_pair (0, ch, ch, &nestlen, rflags|P_ALLOWESC); + goto add_nestret; + } + else if MBTEST(was_dollar && (ch == '(' || ch == '{' || ch == '[')) /* ) } ] */ +@@ -2907,7 +2911,7 @@ + if (open == ch) /* undo previous increment */ + count--; + if (ch == '(') /* ) */ +- nestret = parse_matched_pair (0, '(', ')', &nestlen, rflags); ++ nestret = parse_matched_pair (0, '(', ')', &nestlen, rflags & ~P_DQUOTE); + else if (ch == '{') /* } */ + nestret = parse_matched_pair (0, '{', '}', &nestlen, P_FIRSTCLOSE|rflags); + else if (ch == '[') /* ] */ +@@ -3695,7 +3699,9 @@ struct builtin *b; b = builtin_address_internal (token, 0); if (b && (b->flags & ASSIGNMENT_BUILTIN)) @@ -224,7 +269,7 @@ } yylval.word = the_word; -@@ -4686,18 +4688,21 @@ +@@ -4686,18 +4692,21 @@ int *retlenp; { WORD_LIST *wl, *rl; @@ -247,7 +292,7 @@ wl = (WORD_LIST *)NULL; /* ( */ parser_state |= PST_COMPASSIGN; -@@ -4740,7 +4745,7 @@ +@@ -4740,7 +4749,7 @@ jump_to_top_level (DISCARD); } @@ -256,7 +301,7 @@ if (wl) { rl = REVERSE_LIST (wl, WORD_LIST *); -@@ -4752,6 +4757,10 @@ +@@ -4752,6 +4761,10 @@ if (retlenp) *retlenp = (ret && *ret) ? strlen (ret) : 0; @@ -267,9 +312,29 @@ return ret; } +Index: patchlevel.h +--- patchlevel.h.orig 2005-07-20 19:58:20 +0200 ++++ patchlevel.h 2006-03-06 23:11:10 +0100 +@@ -25,6 +25,6 @@ + regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh + looks for to find the patch level (for the sccs version string). */ + +-#define PATCHLEVEL 0 ++#define PATCHLEVEL 11 + + #endif /* _PATCHLEVEL_H_ */ Index: subst.c ---- subst.c.orig 2006-02-04 10:16:22 +0100 -+++ subst.c 2006-02-04 10:16:22 +0100 +--- subst.c.orig 2005-10-24 15:51:13 +0200 ++++ subst.c 2006-03-06 23:11:09 +0100 +@@ -2187,7 +2187,7 @@ + if (mklocal && variable_context) + { + v = find_variable (name); +- if (v == 0 || array_p (v) == 0) ++ if (v == 0 || array_p (v) == 0 || v->context != variable_context) + v = make_local_array_variable (name); + v = assign_array_var_from_string (v, value, flags); + } @@ -6795,6 +6795,12 @@ if (temp && *temp && t_index > 0) { @@ -285,7 +350,7 @@ sindex += t_index; Index: variables.c --- variables.c.orig 2005-11-13 03:22:37 +0100 -+++ variables.c 2006-02-04 10:16:22 +0100 ++++ variables.c 2006-03-06 23:11:09 +0100 @@ -860,9 +860,11 @@ { char val[INT_STRLEN_BOUND(int) + 1], *v; @@ -298,3 +363,89 @@ v = inttostr (lines, val, sizeof (val)); bind_variable ("LINES", v, 0); +Index: y.tab.c +--- y.tab.c.orig 2005-11-14 15:53:30 +0100 ++++ y.tab.c 2006-03-06 23:11:41 +0100 +@@ -1,5 +1,5 @@ + +-/* A Bison parser, made from /usr/src/local/chet/src/bash/src/parse.y ++/* A Bison parser, made from parse.y + by GNU Bison version 1.28 */ + + #define YYBISON 1 /* Identify Bison output. */ +@@ -4228,7 +4228,11 @@ + } + else if MBTEST(qc == '`' && (ch == '"' || ch == '\'') && in_comment == 0) + { +- nestret = parse_matched_pair (0, ch, ch, &nestlen, rflags); ++ /* Add P_ALLOWESC so backslash quotes the next character and ++ shell_getc does the right thing with \<newline>. We do this for ++ a measure of backwards compatibility -- it's not strictly the ++ right POSIX thing. */ ++ nestret = parse_matched_pair (0, ch, ch, &nestlen, rflags|P_ALLOWESC); + goto add_nestret; + } + else if MBTEST(was_dollar && (ch == '(' || ch == '{' || ch == '[')) /* ) } ] */ +@@ -4237,7 +4241,7 @@ + if (open == ch) /* undo previous increment */ + count--; + if (ch == '(') /* ) */ +- nestret = parse_matched_pair (0, '(', ')', &nestlen, rflags); ++ nestret = parse_matched_pair (0, '(', ')', &nestlen, rflags & ~P_DQUOTE); + else if (ch == '{') /* } */ + nestret = parse_matched_pair (0, '{', '}', &nestlen, P_FIRSTCLOSE|rflags); + else if (ch == '[') /* ] */ +@@ -5025,7 +5029,9 @@ + struct builtin *b; + b = builtin_address_internal (token, 0); + if (b && (b->flags & ASSIGNMENT_BUILTIN)) +- parser_state |= PST_ASSIGNOK; ++ parser_state |= PST_ASSIGNOK; ++ else if (STREQ (token, "eval") || STREQ (token, "let")) ++ parser_state |= PST_ASSIGNOK; + } + + yylval.word = the_word; +@@ -6016,18 +6022,21 @@ + int *retlenp; + { + WORD_LIST *wl, *rl; +- int tok, orig_line_number, orig_token_size; ++ int tok, orig_line_number, orig_token_size, orig_last_token, assignok; + char *saved_token, *ret; + + saved_token = token; + orig_token_size = token_buffer_size; + orig_line_number = line_number; ++ orig_last_token = last_read_token; + + last_read_token = WORD; /* WORD to allow reserved words here */ + + token = (char *)NULL; + token_buffer_size = 0; + ++ assignok = parser_state&PST_ASSIGNOK; /* XXX */ ++ + wl = (WORD_LIST *)NULL; /* ( */ + parser_state |= PST_COMPASSIGN; + +@@ -6070,7 +6079,7 @@ + jump_to_top_level (DISCARD); + } + +- last_read_token = WORD; ++ last_read_token = orig_last_token; /* XXX - was WORD? */ + if (wl) + { + rl = REVERSE_LIST (wl, WORD_LIST *); +@@ -6082,6 +6091,10 @@ + + if (retlenp) + *retlenp = (ret && *ret) ? strlen (ret) : 0; ++ ++ if (assignok) ++ parser_state |= PST_ASSIGNOK; ++ + return ret; + } + @@ . patch -p0 <<'@@ .' Index: openpkg-src/openpkg/openpkg.spec ============================================================================ $ cvs diff -u -r1.468 -r1.469 openpkg.spec --- openpkg-src/openpkg/openpkg.spec 27 Feb 2006 21:24:58 -0000 1.468 +++ openpkg-src/openpkg/openpkg.spec 6 Mar 2006 22:32:58 -0000 1.469 @@ -38,7 +38,7 @@ # o any cc(1) # the package version/release -%define V_openpkg 20060227 +%define V_openpkg 20060306 # the used software versions %define V_rpm 4.2.1 @@ -569,6 +569,8 @@ sh $shtool subst \ -e 's;@l_openpkg_release@;OpenPKG;' \ version.c + sleep 1 + touch y.tab.[ch] ) || exit $? ( cd beecrypt-%{V_beecrypt} ${l_patch} -p0 <`SOURCE beecrypt.patch` @@ . ______________________________________________________________________ The OpenPKG Project www.openpkg.org CVS Repository Commit List openpkg-cvs@openpkg.org