Hello community, here is the log from the commit of package ksh for openSUSE:Factory checked in at Wed Apr 14 15:17:19 CEST 2010. -------- --- ksh/ksh.changes 2010-03-10 15:26:15.000000000 +0100 +++ ksh/ksh.changes 2010-04-09 10:47:19.000000000 +0200 @@ -1,0 +2,10 @@ +Fri Apr 9 10:46:24 CEST 2010 - werner@suse.de + +- Add patch from upstream for problem with trap on SIGCHLD (bnc#591248) + +------------------------------------------------------------------- +Mon Mar 15 10:59:42 CET 2010 - werner@suse.de + +- Add patch from upstream for minor problem with tty reset + +------------------------------------------------------------------- calling whatdependson for head-i586 New: ---- ksh93-sigchld.dif ksh93-tty.dif ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ksh.spec ++++++ --- /var/tmp/diff_new_pack.6XyM9d/_old 2010-04-14 15:16:48.000000000 +0200 +++ /var/tmp/diff_new_pack.6XyM9d/_new 2010-04-14 15:16:48.000000000 +0200 @@ -29,13 +29,15 @@ Url: http://www.research.att.com/~gsf/download/ License: Common Public License Version 1.0 (CPL1.0) Group: System/Shells -PreReq: /bin/ln /bin/rm /etc/bash.bashrc /bin/true +Requires(post): /bin/ln /bin/rm /etc/bash.bashrc /bin/true +Requires(postun): /bin/ln /bin/rm /etc/bash.bashrc /bin/true %if %suse_version > 1120 -PreReq: update-alternatives +Requires(post): update-alternatives +Requires(preun): update-alternatives %endif AutoReqProv: on Version: 93t -Release: 21 +Release: 22 Summary: Korn Shell BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: INIT.2010-03-09.tar.bz2 @@ -60,8 +62,10 @@ Patch10: ksh93-suid_exec.dif Patch11: ksh93-signals.dif Patch12: ksh93-limits.dif +Patch13: ksh93-tty.dif Patch14: ksh93-ia64.dif Patch15: ksh93-s390.dif +Patch16: ksh93-sigchld.dif %global use_suid_exe 0 %global use_locale 1 %global debug_memleak 0 @@ -123,10 +127,12 @@ %patch10 %patch11 %patch12 +%patch13 %ifarch ia64 %patch14 %endif %patch15 +%patch16 %build typeset -i IGNORED=0x$(ps --no-headers -o ignored $$) @@ -145,15 +151,8 @@ fi nobuiltin=$(mktemp -u /tmp/nobuiltin.XXXXXX) || exit 1 set -C - sed -nr '@^extern[[:blank:]].*[[:blank:]](str|mem|(get|put|set)env|(c|m|re|v)alloc).*(@{ - s@[[:blank:]]+_ARG_@@ - s@[a-zA-Z_*]+[[:blank:]]+@@g - s@([^()]+)(.*);$@-fno-builtin-\1@; p}' \ - src/lib/libast/include/*.h \ - src/lib/libast/sfio/*.h | \ - sort -u > $nobuiltin - set +C - (cat >> $nobuiltin)<<-"EOF" + (cat<<-EOF + -fno-builtin-putenv -fno-builtin-setenv -fno-builtin-strftime -fno-builtin-strlcat @@ -166,6 +165,13 @@ -fno-builtin-strtoul -fno-builtin-strtoull EOF + find src/lib/ -name '*.h' | xargs \ + sed -nr '@^extern[[:blank:]].*[[:blank:]](str|mem|(get|put|set)env|(c|m|re|v)alloc).*(@{ + s@[[:blank:]]+_ARG_@@ + s@[a-zA-Z_*]+[[:blank:]]+@@g + s@([^()]+)(.*);$@-fno-builtin-\1@; p}') | \ + sort -u > $nobuiltin + set +C # This package failed when testing with -Wl,-as-needed being default. # So we disable it here, if you want to retest, just delete this # comment and the line below. @@ -184,14 +190,14 @@ -Wl,*) set -o noclobber echo 'int main () { return 0; }' > ldtest.c - if ${CC:-gcc} -Werror $flag -o /dev/null -xc ldtest.c > /dev/null 2>&1 ; then + if ${CC:-gcc} -Werror $RPM_OPT_FLAGS $flag -o /dev/null -xc ldtest.c > /dev/null 2>&1 ; then eval $var=${$var:+$$var\ }$flag fi set +o noclobber rm -f ldtest.c ;; *) - if ${CC:-gcc} -Werror $flag -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then + if ${CC:-gcc} -Werror $RPM_OPT_FLAGS $flag -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then eval $var=${$var:+$$var\ }$flag fi esac @@ -314,7 +320,7 @@ grep -E 'T[[:blank:]](str|mem|(get|put|set)env|(c|m|re|v)alloc)' | \ awk '{print "-fno-builtin-"$3}' | \ sort -u | \ - diff -u $nobuiltin - + diff -u $nobuiltin - || true base=src/cmd/ksh93 test=${PWD}/${base}/tests pushd ${root}/${base} ++++++ ksh93-sigchld.dif ++++++ cc: gsf@research.att.com zpetrova@novell.com Subject: Re: [ast-users] Bug in SIGCHLD handling (Version JM 93t+ 2010-02-14) -------- I was finally able to reproduce the problem and I have fixed the bug. Here is a patch. Let me know if this resolves this. ====================cut here========================== *** src/cmd/ksh93/sh/xec.c Fri Feb 12 11:48:56 2010 --- src/cmd/ksh93/sh/xec.c Wed Apr 7 10:40:53 2010 *************** *** 2946,2951 **** --- 2946,2953 ---- register int sig=sh.st.trapmax; while(sig-- > 0) { + if(sig==SIGCHLD) + continue; if((trap=sh.st.trapcom[sig]) && *trap==0) signal(sig,mode?sh_fault:SIG_IGN); } ====================cut here========================== David Korn dgk@research.att.com ++++++ ksh93-tty.dif ++++++
Hi,
one our user has reported an issue with wrong tty state after timed out read, when using utf-8 locale. The reproducer is:
cat >test.sh <<EOF #!/bin/ksh TMOUT=5 read EOF
chmod +x test.sh ./test.sh
Actual result (after letting read to time out) is tty does not echo any input until terminal is reset. Reporter provided a patch (attached) to fix this.
A work around is to out set -o vi or set -g emacs before the read. I have enclosed the change that I made to fixe this problem below. --- src/cmd/ksh93/sh/fault.c 2010-01-18 11:11:18.000000000 +0000 +++ src/cmd/ksh93/sh/fault.c 2010-03-12 16:18:41.000000000 +0000 @@ -614,7 +614,7 @@ void sh_done(void *ptr, register int sig sh_accend(); #endif /* SHOPT_ACCT */ #if SHOPT_VSH || SHOPT_ESH - if(sh_isoption(SH_EMACS)||sh_isoption(SH_VI)||sh_isoption(SH_GMACS)) + if(mbwide()||sh_isoption(SH_EMACS)||sh_isoption(SH_VI)||sh_isoption(SH_GMACS)) tty_cooked(-1); #endif #ifdef JOBS ++++++ ksh93.dif ++++++ --- /var/tmp/diff_new_pack.6XyM9d/_old 2010-04-14 15:16:49.000000000 +0200 +++ /var/tmp/diff_new_pack.6XyM9d/_new 2010-04-14 15:16:49.000000000 +0200 @@ -128,6 +128,23 @@ #endif +--- 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); + 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); --- 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, ++++++ rpmlintrc ++++++ --- /var/tmp/diff_new_pack.6XyM9d/_old 2010-04-14 15:16:49.000000000 +0200 +++ /var/tmp/diff_new_pack.6XyM9d/_new 2010-04-14 15:16:49.000000000 +0200 @@ -1,6 +1,7 @@ addFilter(".*binary-or-shlib-defines-rpath.*/lib/ast/.*.so.*") addFilter(".*binary-or-shlib-defines-rpath.*/lib/ast/bin/shcomp.*") addFilter(".*binary-or-shlib-defines-rpath.*/lib/ast/bin/ksh.*") +addFilter(".*suse-filelist-forbidden-devel-in-lib.*/lib/ast/.*.so.*") 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.*") ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org