commit tcsh for openSUSE:Factory
Hello community, here is the log from the commit of package tcsh for openSUSE:Factory checked in at Wed Mar 25 19:00:25 CET 2009. -------- --- tcsh/tcsh.changes 2009-01-21 15:01:35.000000000 +0100 +++ tcsh/tcsh.changes 2009-03-25 12:25:05.108001800 +0100 @@ -1,0 +2,7 @@ +Wed Mar 25 12:23:46 CET 2009 - werner@suse.de + +- Update to tcsh version V6.16.00 +- Add patch to avoid endless loop due incorrect tty process group + (bnc#472866) + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- tcsh-6.15.00.dif tcsh-6.15.00-history.dif tcsh-6.15.00-norm-cmd.dif tcsh-6.15.00.tar.bz2 New: ---- tcsh-6.16.00.dif tcsh-6.16.00-grabpgrp.dif tcsh-6.16.00-history.dif tcsh-6.16.00-norm-cmd.dif tcsh-6.16.00.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ tcsh.spec ++++++ --- /var/tmp/diff_new_pack.y29478/_old 2009-03-25 18:55:23.000000000 +0100 +++ /var/tmp/diff_new_pack.y29478/_new 2009-03-25 18:55:23.000000000 +0100 @@ -1,5 +1,5 @@ # -# spec file for package tcsh (Version 6.15.00) +# spec file for package tcsh (Version 6.16.00) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -25,22 +25,23 @@ Group: System/Shells Requires: gawk textutils AutoReqProv: on -Version: 6.15.00 -Release: 94 +Version: 6.16.00 +Release: 1 Summary: The C SHell -Source: ftp.astron.com:/pub/tcsh/tcsh-6.15.00.tar.bz2 +Source: ftp.astron.com:/pub/tcsh/tcsh-6.16.00.tar.bz2 Source1: nls-iconv Source2: bindkey.tcsh Source3: complete.tcsh -Patch: tcsh-6.15.00.dif +Patch: tcsh-6.16.00.dif Patch1: tcsh-6.15.00-spelling.dif Patch2: tcsh-6.15.00-utf8.dif Patch3: tcsh-6.15.00-pipe.dif Patch4: tcsh-6.15.00-longjmp.dif -Patch5: tcsh-6.15.00-norm-cmd.dif -Patch6: tcsh-6.15.00-history.dif +Patch5: tcsh-6.16.00-norm-cmd.dif +Patch6: tcsh-6.16.00-history.dif Patch7: tcsh-6.15.00-blanks.dif Patch8: tcsh-6.15.00-fullpath.dif +Patch9: tcsh-6.16.00-grabpgrp.dif BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -150,6 +151,10 @@ %{_datadir}/locale/*/LC_MESSAGES/tcsh %changelog +* Wed Mar 25 2009 werner@suse.de +- Update to tcsh version V6.16.00 +- Add patch to avoid endless loop due incorrect tty process group + (bnc#472866) * Wed Jan 21 2009 werner@suse.de - Reenable Alt-BackSpace for delete word in XTerm in UTF-8 mode * Wed Nov 26 2008 werner@suse.de ++++++ complete.tcsh ++++++ --- /var/tmp/diff_new_pack.y29478/_old 2009-03-25 18:55:23.000000000 +0100 +++ /var/tmp/diff_new_pack.y29478/_new 2009-03-25 18:55:23.000000000 +0100 @@ -14,13 +14,13 @@ set noglob # set hosts - foreach _f ($HOME/.hosts /etc/csh.hosts $HOME/.rhosts /etc/hosts.equiv) + foreach _f ("$HOME/.hosts" /etc/csh.hosts "$HOME/.rhosts" /etc/hosts.equiv) if ( -r $_f ) then set hosts=($hosts `grep -E -shv '^#|\+' $_f |awk '{ print $1 }'`) endif end - if ( -r $HOME/.netrc ) then - set _f=`awk '/machine/ { print $2 }' < $HOME/.netrc` >& /dev/null + if ( -r "$HOME/.netrc" ) then + set _f=`awk '/machine/ { print $2 }' < "$HOME/.netrc"` >& /dev/null set hosts=($hosts $_f) endif set hosts=(`echo $hosts localhost $HOSTNAME|tr ' ' '\n'|sort -u -t '.'`) @@ -37,7 +37,7 @@ complete ispell c/-/"(a A b B C d D e ee f L m M p s S T v vv w W)"/ \ n/-d/"(english deutsch)"/ \ n/-T/"(tex plaintex nroff latin1 ascii atari)"/ \ - n@-p@'`ls -1 $HOME/.ispell_*`'@ \ + n@-p@'`ls -1 "$HOME"/.ispell_*`'@ \ n/-W/"(1 2 3 4 5)"/ \ n/-L/x:'ispell -L <number>'/ \ n/-f/t/ n/*/f:^*.{dvi,ps,a,o,gz,z,Z}/ @@ -191,7 +191,7 @@ # these should be merged with the MH completion hacks below - jgotts complete {sprev,snext} \ - c@+@F:$HOME/Mail/@ + c@+@F:"$HOME/Mail/"@ # these and interrupt handling from Jaap Vermeulen <jaap@sequent.com> complete {rexec,rxexec,rxterm,rmterm} \ @@ -239,10 +239,10 @@ if ( $?SKIP_MH ) goto skip_mh # Do not be fooled by asking MH tools - if ( ! -r $HOME/.mh_profile ) goto skip_mh + if ( ! -r "$HOME/.mh_profile" ) goto skip_mh # Do not be fooled by broken MH profile - if ( ! `grep -cE '^Path:' $HOME/.mh_profile` ) goto skip_mh + if ( ! `grep -cE '^Path:' "$HOME/.mh_profile"` ) goto skip_mh if ( ! $?FOLDERS ) then which folders >& /dev/null @@ -557,7 +557,7 @@ kill password ping processlist reload refresh \ shutdown status variables version)/' set _muttalias=/dev/null - foreach _f ($HOME/.muttrc-alias $HOME/.muttalias) + foreach _f ("$HOME/.muttrc-alias" "$HOME/.muttalias") if ( -r $_f ) then set _muttalias=$_f break @@ -667,14 +667,14 @@ endif complete unsetenv n/*/e/ - if (-r $HOME/.mailrc) then + if (-r "$HOME/.mailrc") then complete mail c/-/"(e i f n s u v)"/ c/*@/\$hosts/ \ - c@+@F:$HOME/Mail@ C@[./\$~]@f@ n/-s/x:'<subject>'/ \ + c@+@F:"$HOME/Mail"@ C@[./\$~]@f@ n/-s/x:'<subject>'/ \ n@-u@T:$_maildir@ n/-f/f/ \ - n@*@'`sed -n s/alias//p $HOME/.mailrc | tr -s " " "\t" | cut -f 2`'@ + n@*@'`sed -n s/alias//p "$HOME/.mailrc" | tr -s " " "\t" | cut -f 2`'@ else complete mail c/-/"(e i f n s u v)"/ c/*@/\$hosts/ \ - c@+@F:$HOME/Mail@ C@[./\$~]@f@ n/-s/x:'<subject>'/ \ + c@+@F:"$HOME/Mail"@ C@[./\$~]@f@ n/-s/x:'<subject>'/ \ n@-u@T:$_maildir@ n/-f/f/ n/*/u/ endif ++++++ tcsh-6.15.00.dif -> tcsh-6.16.00.dif ++++++ --- tcsh/tcsh-6.15.00.dif 2007-10-12 18:16:01.000000000 +0200 +++ tcsh/tcsh-6.16.00.dif 2009-03-25 12:11:55.444000867 +0100 @@ -190,18 +190,18 @@ #endif /* _CRAYCOM && !_PATH_TCSHELL */ --- sh.c -+++ sh.c 2006-04-25 14:58:31.000000000 +0200 -@@ -456,7 +456,8 @@ main(int argc, char **argv) ++++ sh.c 2009-03-25 11:45:13.676501240 +0100 +@@ -454,7 +454,8 @@ main(int argc, char **argv) if (loginsh || (uid == 0)) { if (*cp) { /* only for login shells or root and we must have a tty */ - if ((cp2 = Strrchr(cp, (Char) '/')) != NULL) { + if (((cp2 = Strrchr(cp, (Char) '/')) != NULL) && -+ (Strncmp(cp, STRpts, 3) != 0)) { - cp = cp2 + 1; ++ (Strncmp(cp, &STRslptssl[1], 3) != 0)) { + cp2 = cp2 + 1; } else -@@ -717,7 +718,16 @@ main(int argc, char **argv) +@@ -715,7 +716,16 @@ main(int argc, char **argv) xfree(tmp2); } #else /* !WINNT_NATIVE */ @@ -218,7 +218,7 @@ #endif /* WINNT_NATIVE */ /* -@@ -741,9 +751,9 @@ main(int argc, char **argv) +@@ -739,9 +749,9 @@ main(int argc, char **argv) /* PATCH IDEA FROM Issei.Suzuki VERY THANKS */ #if defined(DSPMBYTE) #if defined(NLS) && defined(LC_CTYPE) @@ -230,7 +230,7 @@ #endif autoset_dspmbyte(str2short(tcp)); } -@@ -1252,6 +1262,9 @@ main(int argc, char **argv) +@@ -1247,6 +1257,9 @@ main(int argc, char **argv) setintr = osetintr; parintr = oparintr; } ++++++ tcsh-6.16.00-grabpgrp.dif ++++++ --- sh.c +++ sh.c 25 Feb 2009 22:53:47 -0000 @@ -1103,17 +1103,7 @@ } #endif /* NeXT */ #ifdef BSDJOBS /* if we have tty job control */ - retry: - if ((tpgrp = tcgetpgrp(f)) != -1) { - if (tpgrp != shpgrp) { - struct sigaction old; - - sigaction(SIGTTIN, NULL, &old); - signal(SIGTTIN, SIG_DFL); - (void) kill(0, SIGTTIN); - sigaction(SIGTTIN, &old, NULL); - goto retry; - } + if (grabpgrp(f, shpgrp) != -1) { /* * Thanks to Matt Day for the POSIX references, and to * Paul Close for the SGI clarification. @@ -2356,3 +2346,28 @@ rechist(NULL, adrof(STRsavehist) != NULL); } } + +/* + * Grab the tty repeatedly, and give up if we are not in the correct + * tty process group. + */ +int +grabpgrp(int fd, pid_t desired) +{ + struct sigaction old; + pid_t pgrp; + size_t i; + + for (i = 0; i < 100; i++) { + if ((pgrp = tcgetpgrp(fd)) == -1) + return -1; + if (pgrp == desired) + return 0; + (void)sigaction(SIGTTIN, NULL, &old); + (void)signal(SIGTTIN, SIG_DFL); + (void)kill(0, SIGTTIN); + (void)sigaction(SIGTTIN, &old, NULL); + } + errno = EPERM; + return -1; +} --- sh.decls.h +++ sh.decls.h 25 Feb 2009 22:53:47 -0000 @@ -52,6 +52,7 @@ #else extern void xexit (int); #endif +extern int grabpgrp (int, pid_t); /* * sh.dir.c --- sh.func.c +++ sh.func.c 25 Feb 2009 22:53:47 -0000 @@ -2272,10 +2272,9 @@ dosuspend(Char **v, struct command *c) { #ifdef BSDJOBS - int ctpgrp; struct sigaction old; #endif /* BSDJOBS */ - + USE(c); USE(v); @@ -2295,17 +2294,8 @@ #ifdef BSDJOBS if (tpgrp != -1) { -retry: - ctpgrp = tcgetpgrp(FSHTTY); - if (ctpgrp == -1) + if (grabpgrp(FSHTTY, opgrp) == -1) stderror(ERR_SYSTEM, "tcgetpgrp", strerror(errno)); - if (ctpgrp != opgrp) { - sigaction(SIGTTIN, NULL, &old); - signal(SIGTTIN, SIG_DFL); - (void) kill(0, SIGTTIN); - sigaction(SIGTTIN, &old, NULL); - goto retry; - } (void) setpgid(0, shpgrp); (void) tcsetpgrp(FSHTTY, shpgrp); } ++++++ tcsh-6.15.00-history.dif -> tcsh-6.16.00-history.dif ++++++ --- tcsh/tcsh-6.15.00-history.dif 2007-12-20 12:30:42.000000000 +0100 +++ tcsh/tcsh-6.16.00-history.dif 2009-03-25 11:37:09.612001525 +0100 @@ -10,7 +10,7 @@ void pintr(void) --- sh.err.c -+++ sh.err.c 2007-10-15 11:53:17.760845847 +0200 ++++ sh.err.c 2009-03-25 11:35:16.552001834 +0100 @@ -51,6 +51,7 @@ char *seterr = NULL; /* Holds last err #define ERR_NAME 0x10000000 #define ERR_SILENT 0x20000000 @@ -19,17 +19,17 @@ #define ERR_SYNTAX 0 #define ERR_NOTALLOWED 1 -@@ -600,7 +601,8 @@ stderror(unsigned int id, ...) - * else to FSHOUT/FSHDIAG. See flush in sh.print.c. - */ - flush();/*FIXRESET*/ -- haderr = 1; /* Now to diagnostic output */ -+ if (!(flags & ERR_INTERRUPT)) -+ haderr = 1; /* Now to diagnostic output */ - - if (!(flags & ERR_SILENT)) { +@@ -609,7 +610,8 @@ stderror(unsigned int id, ...) + * sh.print.c. + */ + flush();/*FIXRESET*/ +- haderr = 1; /* Now to diagnostic output */ ++ if (!(flags & ERR_INTERRUPT)) ++ haderr = 1; /* Now to diagnostic output */ if (flags & ERR_NAME) -@@ -643,5 +645,6 @@ stderror(unsigned int id, ...) + xprintf("%s: ", bname);/*FIXRESET*/ + if ((flags & ERR_OLD)) { +@@ -650,5 +652,6 @@ stderror(unsigned int id, ...) if (tpgrp > 0) (void) tcsetpgrp(FSHTTY, tpgrp); #endif ++++++ tcsh-6.15.00-norm-cmd.dif -> tcsh-6.16.00-norm-cmd.dif ++++++ --- tcsh/tcsh-6.15.00-norm-cmd.dif 2007-08-28 12:06:06.000000000 +0200 +++ tcsh/tcsh-6.16.00-norm-cmd.dif 2009-03-25 11:29:41.592501705 +0100 @@ -34,14 +34,3 @@ f->name = NULL; f->func = 0; f->desc = NULL; ---- tw.parse.c -+++ tw.parse.c 2007-08-28 12:03:41.288831024 +0200 -@@ -433,7 +433,7 @@ tenematch(Char *inputline, int num_read, - Char *p; - int found; - -- found = !cmd_expand(qline.s + wordp, &p); -+ found = cmd_expand(qline.s + wordp, &p); - - if (!found) { - xfree(p); ++++++ tcsh-6.15.00.tar.bz2 -> tcsh-6.16.00.tar.bz2 ++++++ ++++ 16688 lines of diff (skipped) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@Hilbert.suse.de