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: 04-Feb-2006 10:39:17 Branch: HEAD Handle: 2006020409391600 Modified files: openpkg-src/openpkg HISTORY bash.patch openpkg.spec Log: apply Bash 3.1 vendor patches 001 to 007 Summary: Revision Changes Path 1.309 +1 -0 openpkg-src/openpkg/HISTORY 1.9 +187 -0 openpkg-src/openpkg/bash.patch 1.464 +1 -1 openpkg-src/openpkg/openpkg.spec ____________________________________________________________________________ patch -p0 <<'@@ .' Index: openpkg-src/openpkg/HISTORY ============================================================================ $ cvs diff -u -r1.308 -r1.309 HISTORY --- openpkg-src/openpkg/HISTORY 15 Jan 2006 19:08:32 -0000 1.308 +++ openpkg-src/openpkg/HISTORY 4 Feb 2006 09:39:16 -0000 1.309 @@ -2,6 +2,7 @@ 2005 ==== +20060204 apply Bash 3.1 vendor patches 001 to 007 20060115 upgrade to OSSP uuid 1.4.0 20060101 upgrade to GNU config 20051231 20060101 adjust copyright year in all messages to cover new year 2005 @@ . patch -p0 <<'@@ .' Index: openpkg-src/openpkg/bash.patch ============================================================================ $ cvs diff -u -r1.8 -r1.9 bash.patch --- openpkg-src/openpkg/bash.patch 9 Dec 2005 11:02:16 -0000 1.8 +++ openpkg-src/openpkg/bash.patch 4 Feb 2006 09:39:16 -0000 1.9 @@ -111,3 +111,190 @@ printf (_("Copyright (C) 2004 Free Software Foundation, Inc.\n")); } +----------------------------------------------------------------------------- + +Accumulated vendor patches Bash 3.1 001-007 +(but without documentation changes to reduce size) + +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 @@ + realloc_jobs_list () + { + sigset_t set, oset; +- int nsize, i, j; ++ int nsize, i, j, ncur, nprev; + JOB **nlist; + ++ ncur = nprev = NO_JOB; + nsize = ((js.j_njobs + JOB_SLOTS - 1) / JOB_SLOTS); + nsize *= JOB_SLOTS; + i = js.j_njobs % JOB_SLOTS; +@@ -854,17 +855,51 @@ + nsize += JOB_SLOTS; + + BLOCK_CHILD (set, oset); +- nlist = (JOB **) xmalloc (nsize * sizeof (JOB *)); ++ nlist = (js.j_jobslots == nsize) ? jobs : (JOB **) xmalloc (nsize * sizeof (JOB *)); ++ + for (i = j = 0; i < js.j_jobslots; i++) + if (jobs[i]) +- nlist[j++] = jobs[i]; ++ { ++ if (i == js.j_current) ++ ncur = j; ++ if (i == js.j_previous) ++ nprev = j; ++ nlist[j++] = jobs[i]; ++ } ++ ++#if defined (DEBUG) ++ itrace ("realloc_jobs_list: resize jobs list from %d to %d", js.j_jobslots, nsize); ++ itrace ("realloc_jobs_list: j_lastj changed from %d to %d", js.j_lastj, (j > 0) ? j - 1 : 0); ++ itrace ("realloc_jobs_list: j_njobs changed from %d to %d", js.j_njobs, (j > 0) ? j - 1 : 0); ++#endif + + js.j_firstj = 0; +- js.j_lastj = (j > 0) ? j - 1: 0; ++ js.j_lastj = (j > 0) ? j - 1 : 0; ++ js.j_njobs = j; + js.j_jobslots = nsize; + +- free (jobs); +- jobs = nlist; ++ /* Zero out remaining slots in new jobs list */ ++ for ( ; j < nsize; j++) ++ nlist[j] = (JOB *)NULL; ++ ++ if (jobs != nlist) ++ { ++ free (jobs); ++ jobs = nlist; ++ } ++ ++ if (ncur != NO_JOB) ++ js.j_current = ncur; ++ if (nprev != NO_JOB) ++ js.j_previous = nprev; ++ ++ /* Need to reset these */ ++ if (js.j_current == NO_JOB || js.j_previous == NO_JOB || js.j_current > js.j_lastj || js.j_previous > js.j_lastj) ++ reset_current (); ++ ++#ifdef DEBUG ++ itrace ("realloc_jobs_list: reset js.j_current (%d) and js.j_previous (%d)", js.j_current, js.j_previous); ++#endif + + 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) +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 @@ + 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; +@@ -4686,18 +4688,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; + +@@ -4740,7 +4745,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 *); +@@ -4752,6 +4757,10 @@ + + if (retlenp) + *retlenp = (ret && *ret) ? strlen (ret) : 0; ++ ++ if (assignok) ++ parser_state |= PST_ASSIGNOK; ++ + return ret; + } + +Index: subst.c +--- subst.c.orig 2006-02-04 10:16:22 +0100 ++++ subst.c 2006-02-04 10:16:22 +0100 +@@ -6795,6 +6795,12 @@ + if (temp && *temp && t_index > 0) + { + temp1 = bash_tilde_expand (temp, tflag); ++ if (temp1 && *temp1 == '~' && STREQ (temp, temp1)) ++ { ++ FREE (temp); ++ FREE (temp1); ++ goto add_character; /* tilde expansion failed */ ++ } + free (temp); + temp = temp1; + 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 +@@ -860,9 +860,11 @@ + { + char val[INT_STRLEN_BOUND(int) + 1], *v; + ++#if defined (READLINE) + /* If we are currently assigning to LINES or COLUMNS, don't do anything. */ + if (winsize_assignment) + return; ++#endif + + v = inttostr (lines, val, sizeof (val)); + bind_variable ("LINES", v, 0); @@ . patch -p0 <<'@@ .' Index: openpkg-src/openpkg/openpkg.spec ============================================================================ $ cvs diff -u -r1.463 -r1.464 openpkg.spec --- openpkg-src/openpkg/openpkg.spec 15 Jan 2006 19:08:32 -0000 1.463 +++ openpkg-src/openpkg/openpkg.spec 4 Feb 2006 09:39:16 -0000 1.464 @@ -38,7 +38,7 @@ # o any cc(1) # the package version/release -%define V_openpkg 20060115 +%define V_openpkg 20060204 # the used software versions %define V_rpm 4.2.1 @@ . ______________________________________________________________________ The OpenPKG Project www.openpkg.org CVS Repository Commit List openpkg-cvs@openpkg.org