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

Reply via email to