Hello community, here is the log from the commit of package ksh for openSUSE:Factory checked in at 2011-11-18 15:45:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ksh (Old) and /work/SRC/openSUSE:Factory/.ksh.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ksh", Maintainer is "wer...@suse.com" Changes: -------- --- /work/SRC/openSUSE:Factory/ksh/ksh.changes 2011-09-23 02:07:19.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.ksh.new/ksh.changes 2011-11-18 15:46:03.000000000 +0100 @@ -1,0 +2,23 @@ +Tue Aug 30 16:44:06 UTC 2011 - wer...@suse.de + +- Implement a patch for both regressions reported here + mailman.research.att.com/pipermail/ast-developers/2011q3/000951.html + +------------------------------------------------------------------- +Mon Aug 15 16:46:10 UTC 2011 - wer...@suse.de + +- Add patch from mailing list to avoid stupid crahs on empty job list. + +------------------------------------------------------------------- +Fri Jul 22 14:56:27 UTC 2011 - wer...@suse.de + +- Fix a typo in the patch + +------------------------------------------------------------------- +Fri Jul 22 11:29:02 UTC 2011 - wer...@suse.de + +- Add and modify a patch from David korn to be able to handle multi + byte characters at the boundary of the buffer used for parsing + here documents (bnc#705032) + +------------------------------------------------------------------- @@ -23,0 +47,47 @@ +Thu Jun 30 16:04:22 CEST 2011 - wer...@suse.de + +- Update to 2011-06-30 of ksh93u which includes our patches for + several problems (e.g. Shift.JIS, S390, bnc#697394): + 11-06-22 The shell compiler now supports process substitution. + 11-06-22 +Added code to support process substitution on systems that do + not supply the /dev/fd directory. + 11-06-21 Fixed extraneous jobs Done messages when builin is at the end of a + pipeline. + 11-06-20 Fixed two regression tests. + 11-06-20 Fixed a bug introduced on last update. + 11-06-14 A bug with pipefail in which the shell would wait for background + jobs to complete has been fixed. + 11-06-09 A bug which caused the options.sh regression test to fail on OS390 + Linux has been fixed. The bug could also have affected other systems. + 11-06-07 A number of changes to support the still undocuments namespace option + have been added. + 11-06-06 A bug in which command substitution of eval would hang when it had + standard error redirected to standard output has been fixed. + 11-06-01 A bug in case statement fall through (;&) ignoring set -e was fixed. + 11-06-01 A bug in which creating a left or right justified upper or lowercase + variable with an empty string has been fixed. + 11-06-01 A bug in which the .paths directory wasn't read when a subshell was + executed before any other command has been fixed. + 11-05-31 The shell now gives an error when a type variable is assigned to + an array instance when the array has been declared a compound variable + array. + 11-05-31 A bug in which typeset -m of an array instance did not remove the + original instance has been fixed. + 11-05-28 A bug in which typeset -m dest=src fails when src and are passed as + name references was fixed. + 11-05-28 A bug in which typeset -m "c.board[1][i]=el", where el is a compound + variable core dumps has been fixed. + 11-05-28 Two bugs in the display of arrays of compound variables with print -v + have been fixed. + 11-05-27 A bug with command substitution with the shift jis locale has been + fixed. + 11-05-25 A bug in which unset -f foo, called within function foo could cause + the shell to core dump has been fixed. + 11-05-24 A bug in unsetting arrays of compound variables that could lead to + a core dump has been fixed. + 11-05-24 A scoping bug in with typeset -m for variables passed as references + has been fixed. + 11-05-09 A bug in which 'typeset +p array[$i]' in a subshell could cause an + exception has been fixed. + +------------------------------------------------------------------- @@ -58,0 +129,375 @@ + +------------------------------------------------------------------- +Thu May 05 15:44:33 CEST 2011 - wer...@suse.de + +- Update to 2011-05-05 of ksh93u which includes various fixes for + e.g. bnc#690623, bnc#661875, and bnc#636389, from RELEASE notes: + 11-05-03 Two more scoping bug with name references and read -C were fixed. + 11-05-03 A potential race condition which occurs when here-documents are + processed in asynchronous blocks has been eliminated. + 11-05-02 Another scoping bug with name references defined in a function has + been fixed. + 11-05-02 A bug in which the shell discards saved exit status of a job if it is + followed by a subshell execution has been fixed. + 11-04-28 The shell now checks for numerical overflows with process ids. + 11-04-28 Another scoping bug with compound variables defined by name references + inside a function has been fixed. + 11-04-28 A bug which caused a core dump on 32 bit systems with the basic.sh + regression test has been fixed. + 11-04-27 A scope binding error for name references has been fixed. + 11-04-27 Assignment of compound variable to compound array element by name + is now working. + 11-04-25 A bug in the references to two domensional compound arrays has + been fixed. + 11-04-20 A bug in which a name reference to a multidimentional index array + index, nameref x=foo[3][4], did not work correctly has been fixed. + 11-04-18 Changes were added to allow fixed size arrays of variable sized + objects when the SHOPT_FIXEDARRAY compile option defined on 10-09-28. + 11-04-18 A bug in which name references to array elements could fail has + been fixed. + 11-04-11 A bug in which readonly var, where var is exported could cause var + to be unset has been fixed. + 11-04-06 A tokenizer bug in which ${x/{3}(\d)/ } would cause in infinite + loop has been fixed. + 11-04-05 A bug in which ${!x.} could cause a core dump has been fixed. + 11-04-04 A bug in which cleaning out the history file could terminate before + keeping all the recent history events has been fixed. + 11-03-29 A bug in which ${#array[@]} was 1 rather than 0 after issuing + typeset array[7] has been fixed. + 11-03-29 The subscript out or range message for fixed arrays has been fixed. + 11-03-29 A bug in which suspend could cause a core dump has been fixed. + 11-03-24 For the showme option added 09-09-09, commands beginning with a ; + inside an arithmetic for loop, no longer produce syntax errors. + 11-03-18 A bug in _WINIX ~domain/user expansion has been fixed. + 11-03-16 A bug in the pipefail option which could cause a script to hang + has been fixed. + 11-03-12 The shell no longer treats ${##pattern} as a syntax error. + 11-03-11 A bug in typeset -u on systems that don't supply the towctrans() + function has been fixed. + 11-03-11 A bug in which a compound assignment of the form var[sub]=(...) + would evaluate sub for each assignment has been fixed. + 11-03-07 A bug in which reassigning a compound variable to an associative + array index could incorrectly increase the count of the number + of elements has been fixed. + 11-03-04 +The tilde expansion on windows has been modifed to handle user + names of the form domain/user so that ~domain/user now expands + to the home directory of that domain user. + 11-03-03 A bug in which the width of the prompt was calculated incorectly + which cause the wrong line length for edit commands has been fixed. + 11-03-02 A bug in which a global variables set from within a function inside + a subshell can leave side effects in parent shell has been fixed. + 11-03-01 A bug in which whence -a could dump core when the first match + was due to : in PATH and the program was in the current directory. + 11-02-28 A bug in emacs mode with SHOPT_EDPREDICT (added on 10-05-20) which + disabled prediction on a line starting with # when the cursor was not + at the end of line has been fixed. + 11-02-28 The output format for compound variables with set has been fixed. + 11-02-25 A bug which could lead to a core dump occurred when a shell script + without #! is invoked by name from a parent shell that has name + references defined and the script creates name references of the + same name. + 11-02-21 The shell now fails with a syntax error when a here-document in a + command substition is not completed before the closing ) + 11-02-18 A bug in which the value of $0 in a function defined by name() + was changed to name has been fixed. + 11-02-17 A bug in which the declaration typeset var[100] did not work + correctly has been fixed. + 11-02-15 A bug in which [[ -v sh.match ]] did not work correctly has been + fixed. + 11-02-08 A bug in which opening standard output after it has been closed with + exec 1>&- doesn't work has been fixed. + 11-02-07 A bug on some systems for which a command subtitution could hang + has been fixed. + 11-01-28 A bug in file name completion for files containing both multibyte + characters shell special characters has been fixed. + 11-01-18 The .sh.match variable now shows elements that do not match as + as not set rather than an empty string. + 11-01-18 A bug with typeset -m of an array into an element of an indexed + array has been fixed. + 11-01-13 A bug in handling of arrays of compound variables inside ((...)) which + reported a syntax error been fixed. + 11-01-10 A bug in arithmetic assignment operators of the form op= for array + variables when the same array was referenced on the left and the + right hand side with different indices has been fixed. + 11-01-10 A bug in which the output of time was lost when { time...;} 2>&1 + occured inside command substition has been fixed. + 11-01-07 [[ -v sh.match[i] ]] was returning false when sh.match[i] was set. + 11-01-05 Added and modified warning messages with sh -n. + 11-01-02 Fixed bugs with typeset -l/-u/-M and arrays. + 10-12-28 Fixed a bug with typeset -l/-u/-M values in arithmetric expressions. + 10-12-26 Fixed a time parsing bug in sleep and localeconv() initialization. + 10-12-23 Prevented the shell from generating a core dump when it sends itself + a termination signal because the last command terminated with that + signal. This prevents a core dump to be overwritten by the shell. + 10-12-22 A bug in the expansion of ${A[@]} ${B[@]}, introduced in 10-12-01 + when A="" B=B has been fixed. + 10-12-21 +Use MS_3D in b_vpath() for setting win32 WoW mount defaults. + 10-12-17 A bug in the expansion of ${var:i:j} which caused a core dump when + i > ${#var} has been fixed. + 10-12-16 +sleep now treats . as decimal point even in locales that use comma. + 10-12-16 +typeset -M mapname was added to generalize on toupper and tolowwer + mapping as provided with wctrans(). + 10-12-10 A bug in which typeset -l displayed namespaces as well as lower case + variables has been fixed. + 10-12-06 A bug in which a pipeline could terminate prematurely for a pipeline + whose right hand side is a builtin, and whose left hand side ends in + a simple command that has standard output redirected has been fixed. + 10-12-06 A bug in hexfloat assignments when the right hand side is a string + variable starting with 0x has been fixed. + 10-12-01 A bug in the expansion of ${$1+"$@"} which causes the last positional + parameter to disappear when it is empty has been fixed. + 10-12-01 A number of changes were made to reduce the startup time. + 10-11-29 When wait is interrupted by a signal that is caught, it now exits + with a non-zero exit status. + 10-11-29 An incorrect warning message was eliminated with the -n option for + arithmetic expressions with associative arrays. ++++ 250 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/ksh/ksh.changes ++++ and /work/SRC/openSUSE:Factory/.ksh.new/ksh.changes Old: ---- INIT.2010-06-21.tar.bz2 ast-ksh.2010-06-21.tar.bz2 ast-msgcc.2010-06-21.tar.bz2 ksh93-argv.dif ksh93-argv0.dif ksh93-array.dif ksh93-eintr.dif ksh93-export.dif ksh93-fdfn.dif ksh93-fdleak.dif ksh93-ifs.dif ksh93-leak.dif ksh93-pipe.dif ksh93-sigpipe.dif New: ---- INIT.2011-06-30.tar.bz2 ast-ksh.2011-06-30.tar.bz2 ast-msgcc.2011-06-30.tar.bz2 ksh93-gcc.dif ksh93-heredoc.dif ksh93-jobs.dif ksh93-reg.dif ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ksh.spec ++++++ --- /var/tmp/diff_new_pack.2LTE7n/_old 2011-11-18 15:46:10.000000000 +0100 +++ /var/tmp/diff_new_pack.2LTE7n/_new 2011-11-18 15:46:10.000000000 +0100 @@ -36,13 +36,13 @@ Requires(preun): update-alternatives %endif AutoReqProv: on -Version: 93t -Release: 202 +Version: 93u +Release: 1 Summary: Korn Shell BuildRoot: %{_tmppath}/%{name}-%{version}-build -Source: INIT.2010-06-21.tar.bz2 -Source1: ast-ksh.2010-06-21.tar.bz2 -Source2: ast-msgcc.2010-06-21.tar.bz2 +Source: INIT.2011-06-30.tar.bz2 +Source1: ast-ksh.2011-06-30.tar.bz2 +Source2: ast-msgcc.2011-06-30.tar.bz2 Source3: CPL Source10: leak1.sh Source11: leak2.sh @@ -64,20 +64,13 @@ Patch10: ksh93-suid_exec.dif Patch11: ksh93-signals.dif Patch12: ksh93-limits.dif -Patch13: ksh93-sigpipe.dif +Patch13: ksh93-unset-f.dif Patch14: ksh93-ia64.dif Patch15: ksh93-s390.dif -Patch16: ksh93-leak.dif -Patch17: ksh93-ifs.dif -Patch18: ksh93-fdfn.dif -Patch19: ksh93-fdleak.dif -Patch20: ksh93-argv0.dif -Patch21: ksh93-export.dif -Patch22: ksh93-eintr.dif -Patch23: ksh93-array.dif -Patch24: ksh93-pipe.dif -Patch25: ksh93-argv.dif -Patch26: ksh93-unset-f.dif +Patch16: ksh93-gcc.dif +Patch17: ksh93-heredoc.dif +Patch18: ksh93-jobs.dif +Patch19: ksh93-reg.dif Patch42: ksh-locale.patch %global use_suid_exe 0 %global use_locale 0 @@ -150,13 +143,6 @@ %patch17 %patch18 %patch19 -%patch20 -%patch21 -%patch22 -%patch23 -%patch24 -%patch25 -%patch26 %build AR="ar" @@ -403,6 +389,7 @@ pushd ${test} typeset -i failed=0 ln -sf ${root}/lib ${test}/../ + rm -f pty.sh ${root}/bin/ksh.test shtests ${root}/bin/ksh.test %{S:10} ${root}/bin/ksh.test %{S:11} @@ -447,7 +434,9 @@ mkdir -p %{buildroot}%{_mandir} mkdir %{buildroot}%{_mandir}/man1 mkdir %{buildroot}%{_mandir}/man3 +%if %use_locale mkdir -p %{buildroot}%{_datadir}/locale +%endif mkdir -p %{buildroot}%{_datadir}/ksh/fun mkdir -p %{buildroot}%{_sysconfdir}/permissions.d install bin/ksh %{buildroot}/%{_lib}/ast/bin/ @@ -496,20 +485,14 @@ install -m 0644 include/ast/* %{buildroot}%{_includedir}/ast/ popd %if %use_locale - for msg in share/lib/locale/* ; do - test -d $msg || continue - mkdir -p %{buildroot}%{_datadir}/locale/${msg##*/}/LC_MESSAGES - cp -vp ${msg}/LC_MESSAGES/* %{buildroot}%{_datadir}/locale/${msg##*/}/LC_MESSAGES/ - done -%else for msg in share/locale/* ; do test -d $msg || continue mkdir -p %{buildroot}%{_datadir}/locale/${msg##*/}/LC_MESSAGES cp -vp ${msg}/LC_MESSAGES/* %{buildroot}%{_datadir}/locale/${msg##*/}/LC_MESSAGES/ done -%endif echo %%dir %{_datadir}/locale/C > ksh.lang echo %%dir %{_datadir}/locale/C/LC_MESSAGES >> ksh.lang +%endif find %{buildroot}/ -type f -o -type l | sed -r ' s:%{buildroot}:: s:(%{_datadir}/locale/)([^/_]+)(.*$):%%lang\(\2\) \1\2\3: ++++++ INIT.2010-06-21.tar.bz2 -> INIT.2011-06-30.tar.bz2 ++++++ ++++ 5891 lines of diff (skipped) ++++++ ast-ksh.2010-06-21.tar.bz2 -> ast-ksh.2011-06-30.tar.bz2 ++++++ ++++ 73537 lines of diff (skipped) ++++++ ast-msgcc.2010-06-21.tar.bz2 -> ast-msgcc.2011-06-30.tar.bz2 ++++++ ++++ 1870 lines of diff (skipped) ++++++ ksh-locale.patch ++++++ --- /var/tmp/diff_new_pack.2LTE7n/_old 2011-11-18 15:46:11.000000000 +0100 +++ /var/tmp/diff_new_pack.2LTE7n/_new 2011-11-18 15:46:11.000000000 +0100 @@ -1,8 +1,8 @@ --- lib/package/ast-ksh.pkg +++ lib/package/ast-ksh.pkg 2011-07-05 16:29:57.891926052 +0000 @@ -1,4 +1,4 @@ --ast-ksh :PACKAGE: ksh93 libast libcmd libsum libdll -+ast-ksh :PACKAGE: msgcc ksh93 libpp libast libcmd libsum libdll +-ast-ksh :PACKAGE: ksh93 libast libcmd libcoshell libsum libdll ++ast-ksh :PACKAGE: msgcc ksh93 libpp libast libcmd libcoshell libsum libdll :COVERS: ksh ++++++ ksh93-gcc.dif ++++++ --- src/lib/libpp/ppsearch.c +++ src/lib/libpp/ppsearch.c 2011-07-12 12:08:08.640426463 +0000 @@ -107,6 +107,14 @@ ppmultiple(register struct ppfile* fp, r * search for file using directories in dp */ +#define stupidgcc(flag) \ +({ \ + char *name = NiL; \ + if (!(fp->flags & INC_MEMBER(flag)) && (xp = fp->bound[flag])) \ + name = xp->name; \ + name; \ +}) + static int search(register struct ppfile* fp, register struct ppdirs* dp, int type, int flags) { @@ -146,10 +154,10 @@ search(register struct ppfile* fp, regis (fp->flags & INC_BOUND(INC_STANDARD)) ? "STANDARD|" : "", dp ? (dp->index == INC_PREFIX ? "pre" : dp->index == INC_LOCAL ? "lcl" : dp->index == INC_VENDOR ? "vnd" : "std") : NiL, dp ? dp->name : NiL, - !(fp->flags & INC_MEMBER(INC_PREFIX)) && (xp = fp->bound[INC_PREFIX]) ? xp->name : NiL, - !(fp->flags & INC_MEMBER(INC_LOCAL)) && (xp = fp->bound[INC_LOCAL]) ? xp->name : NiL, - !(fp->flags & INC_MEMBER(INC_VENDOR)) && (xp = fp->bound[INC_VENDOR]) ? xp->name : NiL, - !(fp->flags & INC_MEMBER(INC_STANDARD)) && (xp = fp->bound[INC_STANDARD]) ? xp->name : NiL, + stupidgcc(INC_PREFIX), + stupidgcc(INC_LOCAL), + stupidgcc(INC_VENDOR), + stupidgcc(INC_STANDARD), error_info.file )); if (flags & SEARCH_HOSTED) @@ -578,6 +586,8 @@ if (pp.test & 0x0010) error(1, "SEARCH#% return -1; } +#undef stupidgcc + /* * search for an include file * if (flags&SEARCH_INCLUDE) then ++++++ ksh93-heredoc.dif ++++++ |Subject: here doc bug with locales --- src/cmd/ksh93/include/fcin.h Tue Aug 3 11:43:29 2010 +++ src/cmd/ksh93/include/fcin.h Wed Jul 20 14:52:54 2011 @@ -35,6 +35,8 @@ #define fcpeek(n) ((int)_Fcin.fcptr[n]) #define fcseek(n) ((char*)(_Fcin.fcptr+=(n))) #define fcfirst() ((char*)_Fcin.fcbuff) +#define fclast() ((char*)_Fcin.fclast) +#define fcleft() (_Fcin.fclast-_Fcin.fcptr) #define fcsopen(s) (_Fcin._fcfile=(Sfio_t*)0,_Fcin.fclen=1,_Fcin.fcbuff=_Fcin.fcptr=(unsigned char*)(s)) #define fctell() (_Fcin.fcoff + (_Fcin.fcptr-_Fcin.fcbuff)) #define fcsave(x) (*(x) = _Fcin) --- src/cmd/ksh93/sh/lex.c Wed Apr 6 12:05:19 2011 +++ src/cmd/ksh93/sh/lex.c Wed Jul 20 14:59:04 2011 @@ -1564,7 +1564,10 @@ static int comsub(register Lex_t *lp, in { if(first==lp->lexd.first) - fcseek(cp+1-fcseek(0)); + { + const char *tp = fcseek(0); + fcseek(cp+1-tp); + } count++; lp->lexd.paren = 0; fcgetc(c); @@ -1817,18 +1820,41 @@ static int here_copy(Lex_t *lp,register if(n!=S_NL) { /* skip over regular characters */ +#if SHOPT_MULTIBYTE + do + { + if(fcleft()< MB_LEN_MAX && mbsize(fcseek(0))<0) + { + n = S_EOF; + LEN = -fcleft(); + break; + } + } +#endif /* SHOPT_MULTIBYTE */ while((n=STATE(state,c))==0); } if(n==S_EOF || !(c=fcget())) { - if(!lp->lexd.dolparen && (c=(fcseek(0)-1)-bufp)) + if(LEN < 0) + c = fclast()-bufp; + else + c= (fcseek(0)-1)-bufp; + if(!lp->lexd.dolparen && c) { if(n==S_ESC) c--; if(!lp->lexd.dolparen && (c=sfwrite(sp,bufp,c))>0) iop->iosize += c; } - if((c=lexfill(lp))<=0) + if(LEN < 0) + { + n = LEN; + c = fcmbget(&LEN); + LEN += n; + } + else + c = lexfill(lp); + if(c<0) break; if(n==S_ESC) { @@ -1844,7 +1870,9 @@ static int here_copy(Lex_t *lp,register sfputc(sp,'\\'); } } - bufp = fcseek(-1); + if (LEN < 1) + LEN = 1; + bufp = fcseek(-LEN); } else fcseek(-LEN); ++++++ ksh93-jobs.dif ++++++ --- src/cmd/ksh93/sh/jobs.c +++ src/cmd/ksh93/sh/jobs.c 2011-08-15 18:43:23.005726321 +0200 @@ -1103,7 +1103,7 @@ static struct process *job_bystring(regi int job_kill(register struct process *pw,register int sig) { - Shell_t *shp = pw->p_shp; + Shell_t *shp; register pid_t pid; register int r; const char *msg; @@ -1116,6 +1116,7 @@ int job_kill(register struct process *pw errno = ECHILD; if(pw==0) goto error; + shp = pw->p_shp; pid = pw->p_pid; #if SHOPT_COSHELL if(pw->p_cojob) ++++++ ksh93-limits.dif ++++++ --- /var/tmp/diff_new_pack.2LTE7n/_old 2011-11-18 15:46:11.000000000 +0100 +++ /var/tmp/diff_new_pack.2LTE7n/_new 2011-11-18 15:46:11.000000000 +0100 @@ -1,5 +1,5 @@ --- src/lib/libast/comp/conf.sh -+++ src/lib/libast/comp/conf.sh 2007-09-13 10:39:15.000000000 +0000 ++++ src/lib/libast/comp/conf.sh 2010-08-17 17:45:16.129814168 +0200 @@ -143,7 +143,7 @@ main() return 1; #else @@ -45,7 +45,7 @@ #include <unistd.h>$systeminfo$headers ${tail} #undef conf -@@ -1031,7 +1043,7 @@ do eval name=\"'$'CONF_name_$key\" +@@ -1032,7 +1044,7 @@ do eval name=\"'$'CONF_name_$key\" case $flags in *[Ll]*) d= case ${conf_name} in @@ -54,7 +54,7 @@ x= ;; *) eval x='$'CONF_const_${conf_name} -@@ -1091,7 +1103,11 @@ do eval name=\"'$'CONF_name_$key\" +@@ -1092,7 +1104,11 @@ do eval name=\"'$'CONF_name_$key\" ${head} #include <stdio.h> #include <sys/types.h> @@ -66,9 +66,9 @@ #include <unistd.h>$systeminfo$headers ${tail} int -@@ -1105,7 +1121,11 @@ main() - *) cat > $tmp.c <<! +@@ -1107,7 +1123,11 @@ main() ${head} + #include <stdio.h> #include <sys/types.h> +#include <sys/uio.h> #include <limits.h> @@ -78,7 +78,7 @@ #include <unistd.h>$systeminfo$headers ${tail} ${script} -@@ -1249,7 +1269,11 @@ printf("#endif\n"); +@@ -1254,7 +1274,11 @@ printf("#endif\n"); *) cat > $tmp.c <<! ${head} #include <sys/types.h> @@ -90,7 +90,7 @@ #include <unistd.h>$systeminfo$headers ${tail} ${script} -@@ -1322,7 +1346,7 @@ ${script} +@@ -1333,7 +1357,7 @@ ${script} *[lLuU]) case $LL_suffix in ??) case $conf_limit in @@ -99,7 +99,7 @@ conf_limit=${conf_limit}L ;; esac -@@ -1357,7 +1381,7 @@ ${script} +@@ -1368,7 +1392,7 @@ ${script} *[lLuU]) case $LL_suffix in ??) case $conf_minmax in @@ -108,7 +108,7 @@ conf_minmax=${conf_minmax}L ;; esac -@@ -1533,7 +1557,11 @@ esac +@@ -1545,7 +1569,11 @@ esac cat <<! ${head} #include <sys/types.h> ++++++ ksh93-profile.dif ++++++ --- /var/tmp/diff_new_pack.2LTE7n/_old 2011-11-18 15:46:11.000000000 +0100 +++ /var/tmp/diff_new_pack.2LTE7n/_new 2011-11-18 15:46:11.000000000 +0100 @@ -1,14 +1,12 @@ --- src/cmd/ksh93/sh/main.c -+++ src/cmd/ksh93/sh/main.c 2008-09-11 17:10:58.130673081 +0200 -@@ -210,17 +210,39 @@ int sh_main(int ac, char *av[], Shinit_f - } - job_init(shp,sh_isoption(SH_LOGIN_SHELL)); - if(sh_isoption(SH_LOGIN_SHELL)) -- { ++++ src/cmd/ksh93/sh/main.c 2010-08-17 17:35:18.099125448 +0200 +@@ -219,14 +219,38 @@ int sh_main(int ac, char *av[], Shinit_f + { /* system profile */ sh_source(shp, iop, e_sysprofile); ++ } + /* make sure PWD is set up correctly */ -+ path_pwd(1); ++ path_pwd(shp,1); +#if SHOPT_SYSRC + if(!sh_isoption(SH_NOEXEC)) + { @@ -34,26 +32,26 @@ + { if(!sh_isoption(SH_NOUSRPROFILE) && !sh_isoption(SH_PRIVILEGED)) { - char **files = shp->login_files; + char **files = shp->gd->login_files; while ((name = *files++) && !sh_source(shp, iop, sh_mactry(shp,name))); } } - /* make sure PWD is set up correctly */ -- path_pwd(1); +- path_pwd(shp,1); if(!sh_isoption(SH_NOEXEC)) { if(!sh_isoption(SH_NOUSRPROFILE) && !sh_isoption(SH_PRIVILEGED) && sh_isoption(SH_RC)) -@@ -228,9 +250,6 @@ int sh_main(int ac, char *av[], Shinit_f +@@ -234,9 +258,6 @@ int sh_main(int ac, char *av[], Shinit_f #if SHOPT_BASH if(sh_isoption(SH_BASH) && !sh_isoption(SH_POSIX)) { -#if SHOPT_SYSRC - sh_source(shp, iop, e_bash_sysrc); -#endif - sh_source(shp, iop, shp->rcfile ? shp->rcfile : sh_mactry(shp,(char*)e_bash_rc)); + sh_source(shp, iop, shp->gd->rcfile ? shp->gd->rcfile : sh_mactry(shp,(char*)e_bash_rc)); } else -@@ -238,10 +257,6 @@ int sh_main(int ac, char *av[], Shinit_f +@@ -244,10 +265,6 @@ int sh_main(int ac, char *av[], Shinit_f { if(name = sh_mactry(shp,nv_getval(ENVNOD))) name = *name ? strdup(name) : (char*)0; ++++++ ksh93-reg.dif ++++++ --- src/cmd/ksh93/edit/edit.c +++ src/cmd/ksh93/edit/edit.c 2011-08-30 16:07:02.059926160 +0000 @@ -1668,7 +1668,7 @@ int ed_histgen(Edit_t *ep,const char *pa History_t *hp; off_t offset; int ac=0,l,m,n,index1,index2; - char *cp, **argv, **av, **ar; + char *cp, **argv=0, **av, **ar; if(!(hp=ep->sh->gd->hist_ptr)) return(0); if(*pattern=='#') @@ -1746,8 +1746,13 @@ int ed_histgen(Edit_t *ep,const char *pa mplast->next = mp; mplast->next = 0; } - ep->hlist = (Histmatch_t**)argv; - ep->hfirst = ep->hlist[0]; + if (argv) + { + ep->hlist = (Histmatch_t**)argv; + ep->hfirst = ep->hlist[0]; + } + else + ep->hfirst = 0; return(ep->hmax=ac); } --- src/cmd/ksh93/sh/name.c +++ src/cmd/ksh93/sh/name.c 2011-08-30 15:55:30.900426385 +0000 @@ -967,7 +967,8 @@ Namval_t *nv_create(const char *name, D if(c=='.' && (cp[1]==0 || cp[1]=='=' || cp[1]=='+')) { nv_local = 1; - nv_onattr(np,nofree); + if (np) + nv_onattr(np,nofree); return(np); } if(cp[-1]=='.') ++++++ ksh93-shift_ijs.dif ++++++ --- /var/tmp/diff_new_pack.2LTE7n/_old 2011-11-18 15:46:11.000000000 +0100 +++ /var/tmp/diff_new_pack.2LTE7n/_new 2011-11-18 15:46:11.000000000 +0100 @@ -8,7 +8,7 @@ #include <errno.h> #include <ccode.h> #include "FEATURE/options" -@@ -56,8 +57,20 @@ static char CURSOR_UP[20] = { ESC, '[', +@@ -57,8 +58,20 @@ static char KILL_LINE[20] = { ESC, '[', #if SHOPT_MULTIBYTE @@ -51,7 +51,7 @@ # define gencpy(a,b) ed_gencpy(a,b) # define genncpy(a,b,n) ed_genncpy(a,b,n) # define genlen(str) ed_genlen(str) -@@ -1473,11 +1477,19 @@ static void setcursor(register Emacs_t * +@@ -1559,11 +1563,19 @@ static void setcursor(register Emacs_t * #if SHOPT_MULTIBYTE static int print(register int c) { @@ -106,8 +106,8 @@ static int _isalph(int); static int _ismetach(int); --- src/cmd/ksh93/sh/io.c -+++ src/cmd/ksh93/sh/io.c 2010-06-28 16:09:09.174925785 +0200 -@@ -1367,6 +1367,7 @@ static int io_heredoc(Shell_t *shp,regis ++++ src/cmd/ksh93/sh/io.c 2010-06-28 14:09:09.000000000 +0000 +@@ -1514,6 +1514,7 @@ static int io_heredoc(Shell_t *shp,regis if(traceon) sfprintf(sfstderr,"< %s\n",name); sfputr(outfile,name,'\n'); @@ -116,110 +116,8 @@ else { --- src/cmd/ksh93/sh/macro.c -+++ src/cmd/ksh93/sh/macro.c 2011-06-10 08:20:29.451926367 +0000 -@@ -51,6 +51,8 @@ - - #if !SHOPT_MULTIBYTE - #define mbchar(p) (*(unsigned char*)p++) -+#else -+#define mb2wc(w,p,n) (*ast.mb_towc)(&w,(char*)p,n) - #endif - - static int _c_; -@@ -494,7 +496,7 @@ static void copyto(register Mac_t *mp,in - int i; - unsigned char mb[8]; - -- n = wctomb((char*)mb, c); -+ n = mbconv((char*)mb, c); - for(i=0;i<n;i++) - sfputc(stkp,mb[i]); - } -@@ -1908,6 +1910,9 @@ static void comsubst(Mac_t *mp,register - struct _mac_ savemac; - int savtop = stktell(stkp); - char lastc, *savptr = stkfreeze(stkp,0); -+#if SHOPT_MULTIBYTE -+ wchar_t lastw; -+#endif - int was_history = sh_isstate(SH_HISTORY); - int was_verbose = sh_isstate(SH_VERBOSE); - int was_interactive = sh_isstate(SH_INTERACTIVE); -@@ -2025,6 +2030,9 @@ static void comsubst(Mac_t *mp,register - stkset(stkp,savptr,savtop); - newlines = 0; - lastc = 0; -+#if SHOPT_MULTIBYTE -+ lastw = 0; -+#endif - sfsetbuf(sp,(void*)sp,0); - bufsize = sfvalue(sp); - /* read command substitution output and put on stack or here-doc */ -@@ -2075,6 +2083,17 @@ static void comsubst(Mac_t *mp,register - } - else if(lastc) - { -+#if SHOPT_MULTIBYTE -+ if(lastw) -+ { -+ int n; -+ char mb[8]; -+ n = mbconv(mb, lastw); -+ mac_copy(mp,mb,n); -+ lastw = 0; -+ } -+ else -+#endif - mac_copy(mp,&lastc,1); - lastc = 0; - } -@@ -2083,8 +2102,22 @@ static void comsubst(Mac_t *mp,register - str[c] = 0; - else - { -+ ssize_t len = 1; -+ - /* can't write past buffer so save last character */ -- lastc = str[--c]; -+#if SHOPT_MULTIBYTE -+ if ((len = mbsize(str))>1) -+ { -+ len = mb2wc(lastw,str,len); -+ if (len < 0) -+ { -+ lastw = 0; -+ len = 1; -+ } -+ } -+#endif -+ c -= len; -+ lastc = str[c]; - str[c] = 0; - } - mac_copy(mp,str,c); -@@ -2102,7 +2135,21 @@ static void comsubst(Mac_t *mp,register - sfnputc(stkp,'\n',newlines); - } - if(lastc) -+ { -+#if SHOPT_MULTIBYTE -+ if(lastw) -+ { -+ int n; -+ char mb[8]; -+ n = mbconv(mb, lastw); -+ mac_copy(mp,mb,n); -+ lastw = 0; -+ } -+ else -+#endif - mac_copy(mp,&lastc,1); -+ lastc = 0; -+ } - sfclose(sp); - return; - } -@@ -2173,13 +2220,13 @@ static void mac_copy(register Mac_t *mp, ++++ src/cmd/ksh93/sh/macro.c 2011-05-27 13:08:05.000000000 +0200 +@@ -2341,13 +2341,13 @@ static void mac_copy(register Mac_t *mp, if(mp->pattern) { char *sp = "&|()"; @@ -347,15 +245,17 @@ #define STUB 1 --- src/lib/libast/features/wchar +++ src/lib/libast/features/wchar 2007-12-20 17:50:28.000000000 +0000 -@@ -1,5 +1,6 @@ - set prototyped +@@ -7,7 +7,8 @@ cat{ + #define _AST_WCHAR_H 1 + }end + -lib mbstowcs,wctomb,wcrtomb,wcslen,wcstombs,wcwidth stdlib.h stdio.h wchar.h +lib mbstowcs,wctomb,wcrtomb,wcslen,wcstombs,wcscpy,wcwidth stdlib.h stdio.h wchar.h wctype.h +lib iswprint,iswalpha,iswalnum,iswdigit,iswcntrl stdlib.h stdio.h ctype.h wctype.h lib towlower,towupper stdlib.h stdio.h wchar.h typ mbstate_t stdlib.h stdio.h wchar.h nxt wchar -@@ -31,6 +32,12 @@ cat <<! +@@ -64,6 +65,12 @@ cat <<! #undef putwc #undef putwchar #undef ungetwc @@ -368,7 +268,7 @@ #define fgetwc _ast_fgetwc #define fgetws _ast_fgetws -@@ -81,6 +88,12 @@ cat <<! +@@ -114,6 +121,12 @@ cat <<! #if !_lib_wcstombs extern size_t wcstombs(char*, const wchar_t*, size_t); #endif @@ -382,18 +282,19 @@ extern int fwprintf(FILE*, const wchar_t*, ...); extern int fwscanf(FILE*, const wchar_t*, ...); --- src/lib/libast/include/ast.h -+++ src/lib/libast/include/ast.h 2010-06-25 12:35:11.542927316 +0200 -@@ -186,14 +186,23 @@ typedef struct - #define mbcoll() (ast.mb_xfrm!=0) ++++ src/lib/libast/include/ast.h 2010-08-17 15:09:21.000000000 +0000 +@@ -185,8 +185,6 @@ typedef struct #define mbwide() (mbmax()>1) + #define mb2wc(w,p,n) (*ast.mb_towc)(&w,(char*)p,n) -#define mbchar(p) (mbwide()?((ast.tmp_int=(*ast.mb_towc)(&ast.tmp_wchar,(char*)(p),mbmax()))>0?((p+=ast.tmp_int),ast.tmp_wchar):(p+=ast.mb_sync+1,ast.tmp_int)):(*(unsigned char*)(p++))) -#define mbnchar(p,n) (mbwide()?((ast.tmp_int=(*ast.mb_towc)(&ast.tmp_wchar,(char*)(p),n))>0?((p+=ast.tmp_int),ast.tmp_wchar):(p+=ast.mb_sync+1,ast.tmp_int)):(*(unsigned char*)(p++))) #define mbinit() (mbwide()?(*ast.mb_towc)((wchar_t*)0,(char*)0,mbmax()):0) #define mbsize(p) (mbwide()?(*ast.mb_len)((char*)(p),mbmax()):((p),1)) - #define mbconv(s,w) (ast.mb_conv?(*ast.mb_conv)(s,w):((*(s)=(w)),1)) - #define mbwidth(w) (ast.mb_width&&((ast.tmp_int=(*ast.mb_width)(w))>=0||(w)>UCHAR_MAX)?ast.tmp_int:1) + #define mbnsize(p,n) (mbwide()?(*ast.mb_len)((char*)(p),n):((p),1)) +@@ -195,6 +193,17 @@ typedef struct #define mbxfrm(t,f,n) (mbcoll()?(*ast.mb_xfrm)((char*)(t),(char*)(f),n):0) + #define mbalpha(w) (ast.mb_alpha?(*ast.mb_alpha)(w):isalpha((w)&0xff)) +#define mbchar(p) (mbwide() ? \ + (((ast.tmp_int=(*ast.mb_towc)(&ast.tmp_wchar,(char*)(p),mbmax()))>0) ? \ @@ -420,13 +321,13 @@ #include <stk.h> --- src/lib/libcmd/Mamfile -+++ src/lib/libcmd/Mamfile 2007-12-20 18:51:50.000000000 +0100 -@@ -496,7 +496,7 @@ make cat.o ++++ src/lib/libcmd/Mamfile 2011-05-20 13:40:30.643926303 +0000 +@@ -508,7 +508,7 @@ make cat.o prev cat.c - meta cat.o %.c>%.o ${PACKAGEROOT}/src/lib/libcmd/cat.c cat + meta cat.o %.c>%.o cat.c cat prev cat.c --exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -I${PACKAGE_ast_INCLUDE} -DERROR_CATALOG=\""libcmd"\" -DUSAGE_LICENSE=\""[-author?Glenn Fowler <g...@research.att.com>][-author?David Korn <d...@research.att.com>][-copyright?Copyright (c) 1992-2010 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libcmd]"\" -D_BLD_cmd -D_PACKAGE_ast -c cat.c -+exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -I${PACKAGE_ast_INCLUDE} -DERROR_CATALOG=\""libcmd"\" -DUSAGE_LICENSE=\""[-author?Glenn Fowler <g...@research.att.com>][-author?David Korn <d...@research.att.com>][-copyright?Copyright (c) 1992-2010 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libcmd]"\" -D_BLD_cmd -D_PACKAGE_ast -DSHOPT_MULTIBYTE -c cat.c +-exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -I${PACKAGE_ast_INCLUDE} -DERROR_CATALOG=\""libcmd"\" -DUSAGE_LICENSE=\""[-author?Glenn Fowler <g...@research.att.com>][-author?David Korn <d...@research.att.com>][-copyright?Copyright (c) 1992-2011 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libcmd]"\" -D_BLD_cmd -D_PACKAGE_ast -c cat.c ++exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -I${PACKAGE_ast_INCLUDE} -DERROR_CATALOG=\""libcmd"\" -DUSAGE_LICENSE=\""[-author?Glenn Fowler <g...@research.att.com>][-author?David Korn <d...@research.att.com>][-copyright?Copyright (c) 1992-2011 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libcmd]"\" -D_BLD_cmd -D_PACKAGE_ast -DSHOPT_MULTIBYTE -c cat.c done cat.o generated make chgrp.o prev chgrp.c ++++++ ksh93-signals.dif ++++++ --- /var/tmp/diff_new_pack.2LTE7n/_old 2011-11-18 15:46:11.000000000 +0100 +++ /var/tmp/diff_new_pack.2LTE7n/_new 2011-11-18 15:46:11.000000000 +0100 @@ -9,25 +9,6 @@ #include "shtable.h" #include "fault.h" ---- src/cmd/ksh93/sh/jobs.c -+++ src/cmd/ksh93/sh/jobs.c 2010-03-03 14:17:34.812626467 +0100 -@@ -279,7 +279,7 @@ int job_reap(register int sig) - } - pid = waitpid((pid_t)-1,&wstat,flags); - sh_offstate(SH_TTYWAIT); -- -+#ifdef WCONTINUED - /* - * some systems (linux 2.6) may return EINVAL - * when there are no continued children -@@ -287,6 +287,7 @@ int job_reap(register int sig) - - if (pid<0 && errno==EINVAL && (flags&WCONTINUED)) - pid = waitpid((pid_t)-1,&wstat,flags&=~WCONTINUED); -+#endif - sh_sigcheck(); - if(pid<0 && errno==EINTR && (sig||job.savesig)) - continue; --- src/cmd/ksh93/sh/xec.c +++ src/cmd/ksh93/sh/xec.c 2007-12-21 13:28:04.000000000 +0100 @@ -2894,6 +2894,7 @@ static pid_t sh_ntfork(Shell_t *shp,cons ++++++ ksh93-test.dif ++++++ --- /var/tmp/diff_new_pack.2LTE7n/_old 2011-11-18 15:46:11.000000000 +0100 +++ /var/tmp/diff_new_pack.2LTE7n/_new 2011-11-18 15:46:11.000000000 +0100 @@ -1,6 +1,6 @@ --- src/cmd/ksh93/bltins/test.c -+++ src/cmd/ksh93/bltins/test.c 2007-01-12 12:19:48.000000000 +0000 -@@ -59,12 +59,12 @@ typedef unsigned long Time_t; ++++ src/cmd/ksh93/bltins/test.c 2011-05-20 13:45:24.547925980 +0000 +@@ -46,12 +46,12 @@ #ifdef S_ISSOCK # if _pipe_socketpair # if _socketpair_shutdown_mode @@ -16,7 +16,7 @@ # endif # define isasock(f,p) (test_stat(f,p)>=0&&S_ISSOCK((p)->st_mode)) #else -@@ -99,7 +99,7 @@ static int test_strmatch(const char *str +@@ -86,7 +86,7 @@ static int test_strmatch(Shell_t *shp,co int match[2*(MATCH_MAX+1)],n; register int c, m=0; register const char *cp=pat; @@ -25,9 +25,9 @@ { if(c=='(') m++; -@@ -436,7 +436,7 @@ int test_unop(register int op,register c +@@ -460,7 +460,7 @@ int test_unop(Shell_t *shp,register int - int test_binop(register int op,const char *left,const char *right) + int test_binop(Shell_t *shp,register int op,const char *left,const char *right) { - register double lnum,rnum; + register double lnum = 0, rnum = 0; ++++++ ksh93-unset-f.dif ++++++ --- /var/tmp/diff_new_pack.2LTE7n/_old 2011-11-18 15:46:11.000000000 +0100 +++ /var/tmp/diff_new_pack.2LTE7n/_new 2011-11-18 15:46:11.000000000 +0100 @@ -1,7 +1,7 @@ --- src/cmd/ksh93/sh/xec.c -+++ src/cmd/ksh93/sh/xec.c 2011-07-04 15:09:52.252426415 +0000 -@@ -2780,7 +2780,8 @@ int sh_funscope(int argn, char *argv[],i - jmpval = sigsetjmp(buff.buff,0); ++++ src/cmd/ksh93/sh/xec.c 2011-07-04 15:42:20.779925941 +0000 +@@ -3294,7 +3294,8 @@ int sh_funscope(int argn, char *argv[],i + shp->st.var_local = shp->var_tree; if(!fun) { - shp->st.filename = fp->node->nvalue.rp->fname; ++++++ ksh93.dif ++++++ --- /var/tmp/diff_new_pack.2LTE7n/_old 2011-11-18 15:46:11.000000000 +0100 +++ /var/tmp/diff_new_pack.2LTE7n/_new 2011-11-18 15:46:11.000000000 +0100 @@ -1,14 +1,3 @@ ---- src/cmd/ksh93/sh.1 -+++ src/cmd/ksh93/sh.1 2008-09-22 12:11:56.000000000 +0000 -@@ -201,7 +201,7 @@ separated by - .BR \(bv . - The standard output of each command but the last - is connected by a --.IR pipe (2) -+.IR socketpair (2) - to the standard input of the next command. - Each command, - except possibly the last, --- src/cmd/ksh93/bltins/print.c +++ src/cmd/ksh93/bltins/print.c 2008-05-05 11:20:21.000000000 +0000 @@ -86,7 +86,11 @@ static char* nullarg[] = { 0, 0 }; @@ -79,7 +68,7 @@ while(argv[1] && *argv[1]=='-') --- src/cmd/ksh93/data/msg.c +++ src/cmd/ksh93/data/msg.c 2007-12-20 18:01:26.000000000 +0000 -@@ -186,7 +186,7 @@ const char e_bash_login[] = "$HOME/.bash +@@ -199,7 +199,7 @@ const char e_bash_login[] = "$HOME/.bash const char e_bash_logout[] = "$HOME/.bash_logout"; const char e_bash_profile[] = "$HOME/.bash_profile"; #endif @@ -110,41 +99,32 @@ option UCB $? }end ---- src/cmd/ksh93/sh/io.c -+++ src/cmd/ksh93/sh/io.c 2008-09-11 15:16:16.000000000 +0000 -@@ -641,6 +641,7 @@ int sh_close(register int fd) - - #ifdef O_SERVICE - -+#ifdef O_SERVICE - static int - onintr(struct addrinfo* addr, void* handle) - { -@@ -656,6 +657,7 @@ onintr(struct addrinfo* addr, void* hand - sh_chktrap(); - return 0; - } -+#endif - - #endif - +--- src/cmd/ksh93/sh.1 ++++ src/cmd/ksh93/sh.1 2008-09-22 12:11:56.000000000 +0000 +@@ -200,7 +200,7 @@ separated by + .BR \(bv . + The standard output of each command but the last + is connected by a +-.IR pipe (2) ++.IR socketpair (2) + to the standard input of the next command. + Each command, + except possibly the last, --- src/cmd/ksh93/sh/lex.c -+++ src/cmd/ksh93/sh/lex.c 2010-04-08 07:13:26.070925225 +0000 -@@ -1082,11 +1082,13 @@ int sh_lex(Lex_t* lp) - } - /* backward compatibility */ - { -+ register const char * cp; - if(lp->lexd.warn) - errormsg(SH_DICT,ERROR_warn(0),e_lexnested,shp->inlineno); ++++ src/cmd/ksh93/sh/lex.c 2010-08-17 14:49:14.000000000 +0000 +@@ -1136,7 +1136,11 @@ int sh_lex(Lex_t* lp) if(!(state=lp->lexd.first)) state = fcfirst(); -- fcseek(state-fcseek(0)); -+ cp = fcseek(0); -+ fcseek(state-cp); - if(lp->arg) - { - lp->arg = (struct argnod*)stkfreeze(stkp,1); + else +- fcseek(state-fcseek(0)); ++ { ++ register const char * cp; ++ cp = fcseek(0); ++ fcseek(state-cp); ++ } + lp->lexd.paren = 1; + } + return(lp->token=LPAREN); --- src/cmd/ksh93/sh/main.c +++ src/cmd/ksh93/sh/main.c 2007-12-20 18:01:26.000000000 +0000 @@ -130,9 +130,9 @@ int sh_source(Shell_t *shp, Sfio_t *iop, @@ -159,7 +139,7 @@ #endif int sh_main(int ac, char *av[], Shinit_f userinit) -@@ -198,7 +198,7 @@ int sh_main(int ac, char *av[], Shinit_f +@@ -199,7 +199,7 @@ int sh_main(int ac, char *av[], Shinit_f } if(!sh_isoption(SH_RC) && (sh_isoption(SH_BASH) && !sh_isoption(SH_POSIX) #if SHOPT_REMOTE @@ -205,10 +185,19 @@ for v in ${v//,/ } do v=${v#*:} --- src/cmd/ksh93/tests/locale.sh -+++ src/cmd/ksh93/tests/locale.sh 2009-12-09 13:01:41.000000000 +0000 -@@ -135,11 +135,11 @@ set -- $($SHELL -c " ++++ src/cmd/ksh93/tests/locale.sh 2011-05-24 16:46:02.000000000 +0200 +@@ -62,7 +62,7 @@ done + # this locale is supported by ast on all platforms + # EU for { decimal_point="," thousands_sep="." } + +-locale=C_EU.UTF-8 ++locale=de_DE.UTF-8 + + export LC_ALL=C + +@@ -111,11 +111,11 @@ set -- $($SHELL -c " unset LC_CTYPE - export LANG=$utf_8 + export LANG=$locale export LC_ALL=C - command wc -C < $tmp/two_euro_chars.txt + command wc -m < $tmp/two_euro_chars.txt @@ -221,6 +210,21 @@ ") got=$* [[ $got == $exp ]] || err_exit "command wc LC_ALL default failed -- expected '$exp', got '$got'" +@@ -124,11 +124,11 @@ set -- $($SHELL -c " + then unset LC_CTYPE + export LANG=$locale + export LC_ALL=C +- wc -C < $tmp/two_euro_chars.txt ++ wc -m < $tmp/two_euro_chars.txt + unset LC_ALL +- wc -C < $tmp/two_euro_chars.txt ++ wc -m < $tmp/two_euro_chars.txt + export LC_ALL=C +- wc -C < $tmp/two_euro_chars.txt ++ wc -m < $tmp/two_euro_chars.txt + fi + ") + got=$* --- src/cmd/ksh93/tests/path.sh +++ src/cmd/ksh93/tests/path.sh 2008-09-11 16:02:46.000000000 +0000 @@ -269,7 +269,7 @@ builtin getconf @@ -233,30 +237,20 @@ PATH=$path --- src/cmd/ksh93/tests/signal.sh -+++ src/cmd/ksh93/tests/signal.sh 2010-03-05 13:01:05.944126021 +0000 -@@ -286,9 +286,9 @@ yes=$(whence -p yes) - do { $SHELL <<- EOF - foo() { return 0; } - trap foo EXIT -- { sleep 2; kill -$exp \$\$; sleep 3; kill -0 \$\$ && kill -KILL \$\$; } & -+ { sleep 2; kill -$exp \$\$; sleep 8; kill -0 \$\$ && kill -KILL \$\$; } & - $yes | while read yes; do -- (/bin/date; sleep .1) -+ (/bin/date; sleep .01) - done > /dev/null - EOF - } 2>> /dev/null ---- src/cmd/ksh93/tests/timetype.sh -+++ src/cmd/ksh93/tests/timetype.sh 2011-05-25 07:45:35.763926377 +0000 -@@ -58,7 +58,7 @@ - [[ ${tt[0]} == *+00:00 ]] || err_exit 'tt[0] is not yesterday' - [[ ${tt[1]} == *+00:00 ]] || err_exit 'tt[1] is not today' - [[ ${tt[2]} == *+00:00 ]] || err_exit 'tt[2] is not tomorrow' --[[ ${tt[3]} == *+14:00 ]] || err_exit 'tt[0] is not 2pm' -+[[ ${tt[3]} == *+14:00 ]] || err_exit 'tt[3] is not 2pm' - unset tt - Time_t tt=('2008-08-11+00:00:00,yesterday' '2008-08-11+00:00:00,today' '2008-08-11+00:00:00,tomorrow') - tt[3]=9am ++++ src/cmd/ksh93/tests/signal.sh 2011-05-20 13:25:48.196426330 +0000 +@@ -285,10 +285,10 @@ then for exp in TERM VTALRM PIPE + $SHELL <<- EOF + foo() { return 0; } + trap foo EXIT +- { sleep 2; kill -$exp \$\$; sleep 3; kill -0 \$\$ && kill -KILL \$\$; } & ++ { sleep 2; kill -$exp \$\$; sleep 8; kill -0 \$\$ && kill -KILL \$\$; } & + $yes | + while read yes +- do (/bin/date; sleep .1) ++ do (/bin/date; sleep .01) + done > /dev/null + EOF + } 2>> /dev/null --- src/lib/libast/disc/memfatal.c +++ src/lib/libast/disc/memfatal.c 2009-07-09 13:30:39.000000000 +0000 @@ -72,7 +72,7 @@ memfatal(void) @@ -290,7 +284,7 @@ #include "FEATURE/lib" --- src/lib/libast/features/lib +++ src/lib/libast/features/lib 2007-12-20 18:01:26.000000000 +0000 -@@ -517,14 +517,19 @@ tst lib_utime_now note{ utime works with +@@ -523,14 +523,19 @@ tst lib_utime_now note{ utime works with }end tst cross{ @@ -319,7 +313,7 @@ --- src/lib/libast/misc/procopen.c +++ src/lib/libast/misc/procopen.c 2007-12-20 18:01:26.000000000 +0000 -@@ -537,7 +537,7 @@ procopen(const char* cmd, char** argv, c +@@ -598,7 +598,7 @@ procopen(const char* cmd, char** argv, c if (!fork()) { sfsprintf(path, sizeof(path), "%d", getppid()); @@ -340,31 +334,13 @@ #define S2F_scan 1 #ifndef elementsof --- src/lib/libcmd/chmod.c -+++ src/lib/libcmd/chmod.c 2007-12-20 18:02:37.000000000 +0000 -@@ -162,7 +162,7 @@ b_chmod(int argc, char** argv, void* con - int notify = 0; - int ignore = 0; - int show = 0; --#if _lib_lchmod -+#if !defined(__linux__) && _lib_lchmod - int chlink = 0; - #endif - struct stat st; -@@ -186,7 +186,7 @@ b_chmod(int argc, char** argv, void* con - force = 1; - continue; - case 'h': --#if _lib_lchmod -+#if !defined(__linux__) && _lib_lchmod - chlink = 1; - #endif - continue; -@@ -249,7 +249,7 @@ b_chmod(int argc, char** argv, void* con - } - } - chmodf = ++++ src/lib/libcmd/chmod.c 2011-05-20 13:28:57.511927049 +0000 +@@ -272,7 +272,7 @@ b_chmod(int argc, char** argv, void* con + case FTS_SLNONE: + if (chlink) + { -#if _lib_lchmod +#if !defined(__linux__) && _lib_lchmod - chlink ? lchmod : - #endif - chmod; + chmodf = lchmod; + goto commit; + #else ++++++ rpmlintrc ++++++ --- /var/tmp/diff_new_pack.2LTE7n/_old 2011-11-18 15:46:11.000000000 +0100 +++ /var/tmp/diff_new_pack.2LTE7n/_new 2011-11-18 15:46:11.000000000 +0100 @@ -5,3 +5,4 @@ addFilter(".*devel-file-in-non-devel-package.*/lib/ast/.*\.so") addFilter(".*script-without-shebang.*/usr/share/ksh/fun/.*") addFilter(".*no-rpm-opt-flags.*ldtest.c.*") +addFilter(".*invalid-suse-version-check.*") ++++++ workaround-stupid-build-system.diff ++++++ --- /var/tmp/diff_new_pack.2LTE7n/_old 2011-11-18 15:46:11.000000000 +0100 +++ /var/tmp/diff_new_pack.2LTE7n/_new 2011-11-18 15:46:11.000000000 +0100 @@ -20,7 +20,7 @@ setv YACC yacc --- src/cmd/INIT/iffe.sh +++ src/cmd/INIT/iffe.sh 2008-02-14 12:15:59.000000000 +0000 -@@ -1083,7 +1083,7 @@ case `(getopts '[-][123:xyz]' opt --xyz; +@@ -1097,7 +1097,7 @@ case `(getopts '[-][123:xyz]' opt --xyz; --*) echo $command: $1: unknown option >&2 exit 2 ;; @@ -85,7 +85,7 @@ } --- src/cmd/ksh93/Mamfile -+++ src/cmd/ksh93/Mamfile 2008-09-11 14:45:18.000000000 +0000 ++++ src/cmd/ksh93/Mamfile 2011-05-20 13:34:19.740425655 +0000 @@ -7,7 +7,7 @@ setv AR ${mam_cc_AR} ${mam_cc_AR_ARFLAGS setv ARFLAGS -cr setv AS as @@ -104,7 +104,7 @@ setv SILENT setv TAR tar setv YACC yacc -@@ -1394,7 +1394,7 @@ prev +ljobs +@@ -1421,7 +1421,7 @@ prev +ljobs prev +li prev ${mam_libsocket} prev ${mam_libsecdb} @@ -113,7 +113,7 @@ done ksh generated make shcomp make shcomp.o -@@ -1418,7 +1418,7 @@ prev ${mam_libsocket} +@@ -1445,7 +1445,7 @@ prev ${mam_libsocket} prev ${mam_libsecdb} setv CC.DLL -UCC.DLL setv SH_DICT -DSH_DICT="\"libshell\"" @@ -123,7 +123,7 @@ make suid_exec make suid_exec.o --- src/lib/libast/Mamfile -+++ src/lib/libast/Mamfile 2010-06-28 15:41:28.482925307 +0200 ++++ src/lib/libast/Mamfile 2010-08-17 15:00:56.000000000 +0000 @@ -5,7 +5,7 @@ setv AR ${mam_cc_AR} ${mam_cc_AR_ARFLAGS setv ARFLAGS -cr setv AS as @@ -142,7 +142,7 @@ setv SILENT setv TAR tar setv YACC yacc -@@ -961,7 +961,7 @@ make lcgen +@@ -995,7 +995,7 @@ make lcgen make port/lcgen.c prev std/stdio.h implicit done port/lcgen.c @@ -151,8 +151,8 @@ done lcgen generated make port/lc.tab done port/lc.tab -@@ -7165,58 +7165,31 @@ exec - test '' = 'misc/magic.tab' || ${S - done ${INSTALLROOT}/lib/file/magic generated +@@ -7258,64 +7258,37 @@ done ${INSTALLROOT}/lib/file/magic gener + make ${INSTALLROOT}/include/ast/fmtmsg.h prev comp/fmtmsg.h prev ast_lib.h -exec - case ${mam_cc_HOSTTYPE} in @@ -173,6 +173,9 @@ -exec - ;; -exec - esac +exec - } + prev ${INSTALLROOT}/include/prototyped.h implicit + done ${INSTALLROOT}/include/ast/fmtmsg.h generated + make ${INSTALLROOT}/include/ast/libgen.h prev comp/libgen.h prev ast_lib.h -exec - case ${mam_cc_HOSTTYPE} in @@ -193,6 +196,9 @@ -exec - ;; -exec - esac +exec - } + prev ${INSTALLROOT}/include/prototyped.h implicit + done ${INSTALLROOT}/include/ast/libgen.h generated + make ${INSTALLROOT}/include/ast/syslog.h prev comp/syslog.h prev ast_lib.h -exec - case ${mam_cc_HOSTTYPE} in @@ -213,9 +219,9 @@ -exec - ;; -exec - esac +exec - } - make ${INSTALLROOT}/include/ast/prototyped.h - prev ${INSTALLROOT}/include/ast - exec - echo "#include <../prototyped.h>" > 1.${COTEMP}.x + prev ast_namval.h implicit + prev ${INSTALLROOT}/include/prototyped.h implicit + done ${INSTALLROOT}/include/ast/syslog.h generated --- src/lib/libcmd/Mamfile +++ src/lib/libcmd/Mamfile 2008-02-14 12:08:37.000000000 +0000 @@ -7,7 +7,7 @@ setv AR ${mam_cc_AR} ${mam_cc_AR_ARFLAGS -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org