commit 182276fb31a6858af32f7a164fce542448da413e Author: CentOS Sources Date: Tue May 7 06:32:35 2019 -0400 import tcsh-6.20.00-9.el8 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dde7b8f --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/tcsh-6.20.00.tar.gz diff --git a/.tcsh.metadata b/.tcsh.metadata new file mode 100644 index 0000000..9f4e31c --- /dev/null +++ b/.tcsh.metadata @@ -0,0 +1 @@ +a77d68434cc4bed731a46a39b9e01523e3a1e98c SOURCES/tcsh-6.20.00.tar.gz diff --git a/SOURCES/tcsh-6.20.00-000-add-all-flags-for-gethost-build.patch b/SOURCES/tcsh-6.20.00-000-add-all-flags-for-gethost-build.patch new file mode 100644 index 0000000..5312e0e --- /dev/null +++ b/SOURCES/tcsh-6.20.00-000-add-all-flags-for-gethost-build.patch @@ -0,0 +1,25 @@ +From 8235759d3096654ff2f5c7118bd23f40b7dcbc8f Mon Sep 17 00:00:00 2001 +From: christos +Date: Sat, 26 Nov 2016 00:14:18 +0000 +Subject: [PATCH] Add all flags for the gethost build. + +--- + Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.in b/Makefile.in +index 1ef8cb7..5c30451 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -449,7 +449,7 @@ pure:$(P) ${OBJS} + + gethost: gethost.c sh.err.h tc.const.h sh.h + rm -f gethost +- ${CC_FOR_GETHOST} -o gethost ${CPPFLAGS} $(srcdir)/gethost.c ++ ${CC_FOR_GETHOST} -o gethost ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} $(srcdir)/gethost.c + + tc.defs.c: gethost host.defs + @rm -f $@.tmp +-- +2.7.4 + diff --git a/SOURCES/tcsh-6.20.00-001-delay-arginp-interpreting.patch b/SOURCES/tcsh-6.20.00-001-delay-arginp-interpreting.patch new file mode 100644 index 0000000..86ff3ab --- /dev/null +++ b/SOURCES/tcsh-6.20.00-001-delay-arginp-interpreting.patch @@ -0,0 +1,157 @@ +From b27c203ff06a33b9fa6c0f2e14a8825eb3f672da Mon Sep 17 00:00:00 2001 +From: christos +Date: Sun, 27 Nov 2016 16:40:58 +0000 +Subject: [PATCH 1/2] PR/471: Daiki Ueno: Delay interpreting arginp until we've + processed our startup files (which can change the NLS environment). + +--- + sh.c | 62 +++++++++++++++++++++++++++++++++----------------------------- + 1 file changed, 33 insertions(+), 29 deletions(-) + +diff --git a/sh.c b/sh.c +index 3b7db65..c73d42d 100644 +--- a/sh.c ++++ b/sh.c +@@ -248,6 +248,7 @@ main(int argc, char **argv) + char *tcp, *ttyn; + int f, reenter; + char **tempv; ++ const char *targinp = NULL; + int osetintr; + struct sigaction oparintr; + +@@ -937,30 +938,7 @@ main(int argc, char **argv) + *p &= ASCII; + } + #endif +- arginp = SAVE(tempv[0]); +- +- /* +- * we put the command into a variable +- */ +- if (arginp != NULL) +- setv(STRcommand, quote(Strsave(arginp)), VAR_READWRITE); +- +- /* +- * * Give an error on -c arguments that end in * backslash to +- * ensure that you don't make * nonportable csh scripts. +- */ +- { +- int count; +- +- cp = Strend(arginp); +- count = 0; +- while (cp > arginp && *--cp == '\\') +- ++count; +- if ((count & 1) != 0) { +- exiterr = 1; +- stderror(ERR_ARGC); +- } +- } ++ targinp = tempv[0]; + prompt = 0; + nofile = 1; + break; +@@ -1205,7 +1183,7 @@ main(int argc, char **argv) + sigset_interrupting(SIGXFSZ, queue_phup); + #endif + +- if (quitit == 0 && arginp == 0) { ++ if (quitit == 0 && targinp == 0) { + #ifdef SIGTSTP + (void) signal(SIGTSTP, SIG_IGN); + #endif +@@ -1323,7 +1301,7 @@ main(int argc, char **argv) + */ + sigset_interrupting(SIGCHLD, queue_pchild); + +- if (intty && !arginp) ++ if (intty && !targinp) + (void) ed_Setup(editing);/* Get the tty state, and set defaults */ + /* Only alter the tty state if editing */ + +@@ -1358,7 +1336,7 @@ main(int argc, char **argv) + #ifdef _PATH_DOTCSHRC + (void) srcfile(_PATH_DOTCSHRC, 0, 0, NULL); + #endif +- if (!arginp && !onelflg && !havhash) ++ if (!targinp && !onelflg && !havhash) + dohash(NULL,NULL); + #ifndef LOGINFIRST + #ifdef _PATH_DOTLOGIN +@@ -1378,7 +1356,7 @@ main(int argc, char **argv) + if (!srccat(varval(STRhome), STRsldottcshrc)) + (void) srccat(varval(STRhome), STRsldotcshrc); + +- if (!arginp && !onelflg && !havhash) ++ if (!targinp && !onelflg && !havhash) + dohash(NULL,NULL); + + /* +@@ -1398,7 +1376,7 @@ main(int argc, char **argv) + exitset--; + + /* Initing AFTER .cshrc is the Right Way */ +- if (intty && !arginp) { /* PWP setup stuff */ ++ if (intty && !targinp) { /* PWP setup stuff */ + ed_Init(); /* init the new line editor */ + #ifdef SIG_WINDOW + check_window_size(1); /* mung environment */ +@@ -1413,6 +1391,32 @@ main(int argc, char **argv) + if (nexececho) + setNS(STRecho); + ++ ++ if (targinp) { ++ arginp = SAVE(targinp); ++ /* ++ * we put the command into a variable ++ */ ++ if (arginp != NULL) ++ setv(STRcommand, quote(Strsave(arginp)), VAR_READWRITE); ++ ++ /* ++ * * Give an error on -c arguments that end in * backslash to ++ * ensure that you don't make * nonportable csh scripts. ++ */ ++ { ++ int count; ++ ++ cp = Strend(arginp); ++ count = 0; ++ while (cp > arginp && *--cp == '\\') ++ ++count; ++ if ((count & 1) != 0) { ++ exiterr = 1; ++ stderror(ERR_ARGC); ++ } ++ } ++ } + /* + * All the rest of the world is inside this call. The argument to process + * indicates whether it should catch "error unwinds". Thus if we are a +-- +2.7.4 + + +From 517fdacc6e194acfa56aecdb5bbf4cf7b129fbc2 Mon Sep 17 00:00:00 2001 +From: christos +Date: Sun, 27 Nov 2016 16:41:24 +0000 +Subject: [PATCH 2/2] mention latest fix + +--- + Fixes | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Fixes b/Fixes +index 7440349..c79dc38 100644 +--- a/Fixes ++++ b/Fixes +@@ -1,3 +1,4 @@ ++ 21. PR/471: Delay arginp parsing + 20. V6.20.00 - 20161124 + 19. Don't resize the screen if it did not change size. + 18. V6.19.01 - 20161025 +-- +2.7.4 + diff --git a/SOURCES/tcsh-6.20.00-002-type-of-read-in-prompt-confirm.patch b/SOURCES/tcsh-6.20.00-002-type-of-read-in-prompt-confirm.patch new file mode 100644 index 0000000..954bb6a --- /dev/null +++ b/SOURCES/tcsh-6.20.00-002-type-of-read-in-prompt-confirm.patch @@ -0,0 +1,49 @@ +From 75ccc1197d63d015348b9113ed8d9f7abace567e Mon Sep 17 00:00:00 2001 +From: christos +Date: Mon, 28 Nov 2016 17:14:20 +0000 +Subject: [PATCH] Fix type of read in prompt confirmation (eg. rmstar) (David + Kaspar) + +--- + Fixes | 1 + + sh.func.c | 8 +++++--- + 2 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/Fixes b/Fixes +index c79dc38..1c2e183 100644 +--- a/Fixes ++++ b/Fixes +@@ -1,3 +1,4 @@ ++ 22. Fix type of read in prompt confirmation (eg. rmstar) (David Kaspar) + 21. PR/471: Delay arginp parsing + 20. V6.20.00 - 20161124 + 19. Don't resize the screen if it did not change size. +diff --git a/sh.func.c b/sh.func.c +index a866076..2118399 100644 +--- a/sh.func.c ++++ b/sh.func.c +@@ -2734,16 +2734,18 @@ nlsclose(void) + int + getYN(const char *prompt) + { +- int doit, c; ++ int doit; ++ char c; ++ + xprintf("%s", prompt); + flush(); +- (void) force_read(SHIN, &c, 1); ++ (void) force_read(SHIN, &c, sizeof(c)); + /* + * Perhaps we should use the yesexpr from the + * actual locale + */ + doit = (strchr(CGETS(22, 14, "Yy"), c) != NULL); +- while (c != '\n' && force_read(SHIN, &c, 1) == 1) ++ while (c != '\n' && force_read(SHIN, &c, sizeof(c)) == sizeof(c)) + continue; + return doit; + } +-- +2.7.4 + diff --git a/SOURCES/tcsh-6.20.00-003-fix-out-of-bounds-read.patch b/SOURCES/tcsh-6.20.00-003-fix-out-of-bounds-read.patch new file mode 100644 index 0000000..0966e26 --- /dev/null +++ b/SOURCES/tcsh-6.20.00-003-fix-out-of-bounds-read.patch @@ -0,0 +1,26 @@ +From 6a542dc4fb2ba26518a47e9b3a9bcd6a91b94596 Mon Sep 17 00:00:00 2001 +From: christos +Date: Fri, 2 Dec 2016 16:59:28 +0000 +Subject: [PATCH] Fix out of bounds read (Brooks Davis) (reproduce by starting + tcsh and hitting tab at the prompt) + +--- + ed.chared.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ed.chared.c b/ed.chared.c +index 1277e53..310393e 100644 +--- a/ed.chared.c ++++ b/ed.chared.c +@@ -750,7 +750,7 @@ c_substitute(void) + /* + * If we found a history character, go expand it. + */ +- if (HIST != '\0' && *p == HIST) ++ if (p >= InputBuf && HIST != '\0' && *p == HIST) + nr_exp = c_excl(p); + else + nr_exp = 0; +-- +2.7.4 + diff --git a/SOURCES/tcsh-6.20.00-004-do-not-use-old-pointer-tricks.patch b/SOURCES/tcsh-6.20.00-004-do-not-use-old-pointer-tricks.patch new file mode 100644 index 0000000..6781b43 --- /dev/null +++ b/SOURCES/tcsh-6.20.00-004-do-not-use-old-pointer-tricks.patch @@ -0,0 +1,28 @@ +From 2309245d647853442f6a5450130f56499698176e Mon Sep 17 00:00:00 2001 +From: Christos Zoulas +Date: Wed, 7 Dec 2016 02:52:27 +0000 +Subject: [PATCH] Don't play pointer tricks that are undefined in modern c + (Brooks Davis) + +--- + tw.init.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/tw.init.c b/tw.init.c +index 68adbb9..d9525c5 100644 +--- a/tw.init.c ++++ b/tw.init.c +@@ -125,9 +125,8 @@ tw_str_add(stringlist_t *sl, size_t len) + sl->buff = xrealloc(sl->buff, sl->tbuff * sizeof(Char)); + /* Re-thread the new pointer list, if changed */ + if (ptr != NULL && ptr != sl->buff) { +- intptr_t offs = sl->buff - ptr; + for (i = 0; i < sl->nlist; i++) +- sl->list[i] += offs; ++ sl->list[i] = sl->buff + (sl->list[i] - ptr); + } + disabled_cleanup(&pintr_disabled); + } +-- +2.9.3 + diff --git a/SOURCES/tcsh-6.20.00-005-reset-fixes-numbering.patch b/SOURCES/tcsh-6.20.00-005-reset-fixes-numbering.patch new file mode 100644 index 0000000..d75d2e9 --- /dev/null +++ b/SOURCES/tcsh-6.20.00-005-reset-fixes-numbering.patch @@ -0,0 +1,69 @@ +From 8016b940223e73ec5ba031c4c8451e57efa9d37b Mon Sep 17 00:00:00 2001 +From: Kimmo Suominen +Date: Sat, 24 Dec 2016 10:22:22 +0000 +Subject: [PATCH 1/3] Reset numbering since 6.20.00 + +--- + Fixes | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/Fixes b/Fixes +index 1c2e183..ef39e42 100644 +--- a/Fixes ++++ b/Fixes +@@ -1,5 +1,6 @@ +- 22. Fix type of read in prompt confirmation (eg. rmstar) (David Kaspar) +- 21. PR/471: Delay arginp parsing ++ 2. Fix type of read in prompt confirmation (eg. rmstar) (David Kaspar) ++ 1. PR/471: Delay arginp parsing ++ + 20. V6.20.00 - 20161124 + 19. Don't resize the screen if it did not change size. + 18. V6.19.01 - 20161025 +-- +2.9.3 + + +From 4ee184c298368e8a7f2954197f3f279a70dd10aa Mon Sep 17 00:00:00 2001 +From: Kimmo Suominen +Date: Sat, 24 Dec 2016 12:39:23 +0000 +Subject: [PATCH 2/3] Note a missing fix. + +--- + Fixes | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Fixes b/Fixes +index ef39e42..c99ffa3 100644 +--- a/Fixes ++++ b/Fixes +@@ -1,3 +1,4 @@ ++ 3. Fix out of bounds read (Brooks Davis) + 2. Fix type of read in prompt confirmation (eg. rmstar) (David Kaspar) + 1. PR/471: Delay arginp parsing + +-- +2.9.3 + + +From 4f3088e31cc72c314ecb803fac0405dac5047179 Mon Sep 17 00:00:00 2001 +From: Kimmo Suominen +Date: Sat, 24 Dec 2016 13:15:47 +0000 +Subject: [PATCH 3/3] Note another missing fix. + +--- + Fixes | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Fixes b/Fixes +index c99ffa3..aec768e 100644 +--- a/Fixes ++++ b/Fixes +@@ -1,3 +1,4 @@ ++ 4. Don't play pointer tricks that are undefined in modern c (Brooks Davis) + 3. Fix out of bounds read (Brooks Davis) + 2. Fix type of read in prompt confirmation (eg. rmstar) (David Kaspar) + 1. PR/471: Delay arginp parsing +-- +2.9.3 + diff --git a/SOURCES/tcsh-6.20.00-006-cleanup-in-readme-files.patch b/SOURCES/tcsh-6.20.00-006-cleanup-in-readme-files.patch new file mode 100644 index 0000000..0e1da15 --- /dev/null +++ b/SOURCES/tcsh-6.20.00-006-cleanup-in-readme-files.patch @@ -0,0 +1,480 @@ +From f605e04aec4ff608c045a40ae8df1bb6bae21aa5 Mon Sep 17 00:00:00 2001 +From: Kimmo Suominen +Date: Wed, 1 Feb 2017 14:26:16 +0200 +Subject: [PATCH 1/5] Cleanup README files + +Rename README to BUILDING and fold in README.imake so +all build instructions are now in a single file. + +Add README.md for a short intro on GitHub. +--- + README => BUILDING | 115 +++++++++++++++++++++++++++-------------------------- + Imakefile | 11 +++-- + Makefile.in | 6 +-- + Makefile.std | 6 +-- + Makefile.vms | 6 +-- + Ported | 2 +- + README.imake | 9 ----- + README.md | 17 ++++++++ + 8 files changed, 90 insertions(+), 82 deletions(-) + rename README => BUILDING (68%) + delete mode 100644 README.imake + create mode 100644 README.md + +diff --git a/README b/BUILDING +similarity index 68% +rename from README +rename to BUILDING +index 77693cd..f19f849 100644 +--- a/README ++++ b/BUILDING +@@ -1,32 +1,44 @@ +-This is tcsh version 6.20.00. Tcsh is a version of the Berkeley +-C-Shell, with the addition of: a command line editor, command and file +-name completion, listing, etc. and a bunch of small additions to the ++Tcsh is an enhanced but completely compatible version of the Berkeley ++C-Shell, with the addition of a command line editor, command and file ++name completion, listing, etc., and a bunch of small additions to the + shell itself. + + Tcsh has been ported to most unix variants, and can be tinkered to work + in unix systems that it has not ported yet. See the Ported file for + a more complete list of ported systems and in the config directory for + a configuration file that matches your system. ++ + Tcsh also runs under VMS/POSIX and OS/2+emx; the OS/2 port is not + complete yet. + +-Feel free to use it. These changes to csh may only be included in a +-commercial product if the inclusion or exclusion does not change the ++Feel free to use it. These changes to csh may only be included in ++a commercial product if the inclusion or exclusion does not change the + purchase price, level of support, etc. Please respect the individual + authors by giving credit where credit is due (in other words, don't + claim that you wrote portions that you haven't, and don't delete the +-names of the authors from the source code or documentation). ++names of the authors from the source code or documentation). + + To install tcsh: + +-0) Try running "./configure". If that doesn't work, goto step 1. ++1) Try running "./configure". If that doesn't work, goto step 2. + Run "./configure --help" to see possible options. After running +- configure, goto step 3. ++ configure, goto step 5. ++ ++2) If you have imake running on your machine, you may try building with ++ it. Note that imake is not supported for all the platforms yet, so ++ this might not work on your machine. If that is the case please let ++ us know, and goto step 3. If you can send a patch that fixes the ++ problem we would appreciate it. ++ ++ a) Modify configurable parameters in imake.config to your liking. ++ b) xmkmf; make depend + +-1) Otherwise copy Makefile.std to Makefile. Look at the Makefile and ++ Goto step 5. ++ ++3) Otherwise copy Makefile.std to Makefile. Look at the Makefile and + make sure that you are using the right compilation flags. + +-2) Copy the appropriate for your machine and OS config file from the ++4) Copy the appropriate for your machine and OS config file from the + config subdirectory into config.h. Consult the file "Ported" for + settings known to work on various machines. If you are trying to + compile tcsh on a machine for which there is no config file yet, +@@ -34,35 +46,36 @@ To install tcsh: + the supplied ones. If you get tcsh working on a new machine, I'd + appreciate a copy of the config file plus additional information + about the architecture/OS. If you are creating a new config file, +- look very hard at BSDJOBS and BSDTIMES if you are running +- a non-BSD machine. For vanila SysV, these would all be #undef-ed, +- but others may vary (such as A/UX or HPUX). On a pyramid, compile +- in the UCB universe even if you are running under the ATT universe +- usually; it will work anyway, and you get job control for free. ++ look very hard at BSDJOBS and BSDTIMES if you are running a non-BSD ++ machine. For vanila SysV, these would all be #undef-ed, but others ++ may vary (such as A/UX or HPUX). On a pyramid, compile in the UCB ++ universe even if you are running under the ATT universe usually; it ++ will work anyway, and you get job control for free. + +-3) Look at config_f.h, and enable or disable any features you want. ++5) Look at config_f.h, and enable or disable any features you want. + It is configured the way I like it, but you may disagree. + +-4) Look at host.defs to make sure that you have the right defines to set +- the environment variables "HOSTTYPE", "MACHTYPE", "OSTYPE" and +- "VENDOR" correctly. If you need to make changes, PLEASE SEND THEM ++6) Look at host.defs to make sure that you have the right defines to ++ set the environment variables "HOSTTYPE", "MACHTYPE", "OSTYPE" and ++ "VENDOR" correctly. If you need to make changes, PLEASE SEND THEM + BACK TO ME. + +-5) You may want to adjust the DESTBIN and DESTMAN entries in +- the Makefile. These are the directories that tcsh, and the tcsh.1 +- man entry will be placed in when you do a "make install" and "make +- install.man" respectively. If you decide to install tcsh somewhere +- other than in /usr/local/bin/tcsh, you should #define _PATH_TCSHELL ++7) You may want to adjust the DESTBIN and DESTMAN entries in Makefile. ++ These are the directories that tcsh, and the tcsh.1 man entry will ++ be placed in when you do a "make install" and "make install.man" ++ respectively. If you decide to install tcsh somewhere other ++ than in /usr/local/bin/tcsh, you should #define _PATH_TCSHELL + "/your/installation/directory/tcsh" in pathnames.h. + +-6) make ++8) make + +-7) Read the documentation while you are waiting. The file tcsh.man ++9) Read the documentation while you are waiting. The file tcsh.man + is in standard [nt]roff -man format. If you like, you can run the +- tcsh.man2html script (requires Perl) to generate an HTML version of +- the manpage which you can read with Mosaic, lynx or other HTML browser. ++ tcsh.man2html script (requires Perl) to generate an HTML version ++ of the manpage which you can read with Mosaic, lynx or other HTML ++ browser. + +-8) Test tcsh by typing ./tcsh to see that it has compiled correctly. ++10) Test tcsh by typing ./tcsh to see that it has compiled correctly. + The history command should give a time stamp on every entry. + Typing normal characters should echo each exactly once. Control-A + should put the cursor at the beginning of the input line, but after +@@ -80,29 +93,19 @@ To install tcsh: + passwd appears on the screen, you have lost /dev/tty. Otherwise + everything is fine. + +-9) Once satisfied that tcsh is working correctly, complete the installation +- by typing "make install" to install the binary, and "make install.man" to +- install the documentation. Don't forget to look at complete.tcsh for +- useful completions... +- +-10) Enjoy. +- +-11) PLEASE file any bug reports (and fixes), code for new features at: ++11) Once satisfied that tcsh is working correctly, complete the ++ installation by typing "make install" to install the binary, and ++ "make install.man" to install the documentation. Don't forget to ++ look at complete.tcsh for useful completions... + +- http://bugs.gw.com/ +- +- Comments, questions, etc. (even flames) are welcome via email to: +- +- The tcsh bugs mailing list +- tcsh-bugs@mx.gw.com +- +-Various: ++12) Enjoy. + + *************************************************************************** + +-On sysv versions < 3.0 (not hpux) Doug Gwyn's public domain directory ++On sysv versions < 3.0 (not hpux) Doug Gwyn's public domain directory + manipulation library has to be installed. This library is available + for anonymous ftp from prep.ai.mit.edu:/pub/gnu/dirent.tar.Z ++ + If the network is not installed, then there is a gethostname() + routine is tc.os.c + +@@ -130,24 +133,23 @@ error message to that effect. If you don't like the message: + Or: Comment the error printing out in tc.alloc.c + Or: Compile -DSYSMALLOC + +- + *************************************************************************** + + From: Scott Krotz + +-Tcsh has been ported to minix by Scott Krotz (krotz@honey.rtsg.mot.com). ++Tcsh has been ported to minix by Scott Krotz (krotz@honey.rtsg.mot.com). + Unfortunately the minix sed is broken, so you'll have to find a way to + make tc.const.h, sh.err.h, ed.defns.h which are automatically generated. +-The easiest way to create them is to make a copy from unix, copying ++The easiest way to create them is to make a copy from unix, copying + minix to config.h, and then 'make sh.err.h tc.const.h ed.defns.h' + + The OS/dependent files are in mi.termios.h, mi.wait.h, mi.varargs.h + +-You will get some warnings, but dont worry about them, just ignore +-them. After tcsh has compiled and the gcc binary is converted to a +-minix binary, remember to chmem it to give it more memory - it will +-need it! How much you need depends on how many aliases you have, etc.. +-Add at least 50000 to it. ++You will get some warnings, but dont worry about them, just ignore them. ++After tcsh has compiled and the gcc binary is converted to a minix ++binary, remember to chmem it to give it more memory - it will need it! ++How much you need depends on how many aliases you have, etc.. Add at ++least 50000 to it. + + One last thing. You might have to make some links for include files so + that they are in the directories that tcsh is expecting while compiling. +@@ -193,12 +195,11 @@ I can make the binary available to anyone who wants it (for example people + who can't get access to a cross-compiling environment, and who don't yet + have gcc running under minix). + +- + *************************************************************************** + +-If your compiler cannot handle long symbol names, add ++If your compiler cannot handle long symbol names, add + +-#include "snames.h" ++#include "snames.h" + + to your config.h file + +diff --git a/Imakefile b/Imakefile +index 5dc0db7..be2bebe 100644 +--- a/Imakefile ++++ b/Imakefile +@@ -520,12 +520,11 @@ TCOBJS= tc.alloc.${SUF} tc.bind.${SUF} tc.const.${SUF} tc.defs.${SUF} \ + tc.prompt.${SUF} tc.sched.${SUF} tc.sig.${SUF} tc.str.${SUF} \ + tc.vers.${SUF} tc.who.${SUF} + +-MISCF = Makefile.std Fixes MAKEDIFFS MAKESHAR NewThings README FAQ \ +- WishList config_f.h eight-bit.me glob.3 patchlevel.h \ +- pathnames.h tcsh.man Ported src.desc Imakefile imake.config \ +- README.imake complete.tcsh vmsreadme.txt Makefile.vms termcap.vms \ +- snames.h host.defs gethost.c tcsh.man2html Makefile.in configure.ac \ +- Makefile.win32 aclocal.m4 ++MISCF = Makefile.std BUILDING Fixes MAKEDIFFS MAKESHAR NewThings README.md \ ++ FAQ WishList config_f.h eight-bit.me glob.3 patchlevel.h pathnames.h \ ++ tcsh.man Ported src.desc Imakefile imake.config complete.tcsh \ ++ Makefile.vms termcap.vms snames.h host.defs gethost.c tcsh.man2html \ ++ Makefile.in configure.ac Makefile.win32 aclocal.m4 + CONFSRCS=config/[a-z]* + + +diff --git a/Makefile.in b/Makefile.in +index caf8d9c..210b7de 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -405,11 +405,11 @@ TCOBJS= tc.alloc.${SUF} tc.bind.${SUF} tc.const.${SUF} tc.defs.${SUF} \ + tc.vers.${SUF} tc.who.${SUF} + + PVSRCS= Makefile.std Makefile.vms Makefile.in Makefile.win32 +-AVSRCS= Fixes MAKEDIFFS MAKESHAR NewThings README FAQ \ ++AVSRCS= BUILDING Fixes MAKEDIFFS MAKESHAR NewThings README.md FAQ \ + WishList config_f.h eight-bit.me glob.3 patchlevel.h \ + pathnames.h tcsh.man Ported src.desc Imakefile imake.config \ +- README.imake complete.tcsh vmsreadme.txt termcap.vms snames.h \ +- host.defs gethost.c tcsh.man2html configure.ac configure config.h.in \ ++ complete.tcsh vmsreadme.txt termcap.vms snames.h host.defs \ ++ gethost.c tcsh.man2html configure.ac configure config.h.in \ + tests/testsuite.at aclocal.m4 + TESTFILES= tests/aliases.at tests/arguments.at tests/commands.at \ + tests/expr.at tests/lexical.at tests/mb-eucjp.at \ +diff --git a/Makefile.std b/Makefile.std +index ffd33b1..3466d4c 100644 +--- a/Makefile.std ++++ b/Makefile.std +@@ -315,11 +315,11 @@ TCOBJS= tc.alloc.${SUF} tc.bind.${SUF} tc.const.${SUF} tc.defs.${SUF} \ + tc.vers.${SUF} tc.who.${SUF} + + PVSRCS= Makefile.std Makefile.vms Makefile.in Makefile.win32 +-AVSRCS= Fixes MAKEDIFFS MAKESHAR NewThings README FAQ \ ++AVSRCS= BUILDING Fixes MAKEDIFFS MAKESHAR NewThings README.md FAQ \ + WishList config_f.h eight-bit.me glob.3 patchlevel.h \ + pathnames.h tcsh.man Ported src.desc Imakefile imake.config \ +- README.imake complete.tcsh vmsreadme.txt termcap.vms snames.h \ +- host.defs gethost.c tcsh.man2html configure.ac configure config.h.in \ ++ complete.tcsh vmsreadme.txt termcap.vms snames.h host.defs \ ++ gethost.c tcsh.man2html configure.ac configure config.h.in \ + aclocal.m4 + + VHSRCS=${PVSRCS} ${AVSRCS} +diff --git a/Makefile.vms b/Makefile.vms +index d47f9ce..bc24114 100644 +--- a/Makefile.vms ++++ b/Makefile.vms +@@ -293,11 +293,11 @@ TCOBJS= tc.alloc.${SUF} tc.bind.${SUF} tc.const.${SUF} tc.defs.${SUF} \ + tc.vers.${SUF} tc.who.${SUF} + + PVSRCS= Makefile.std Makefile.vms Makefile.in Makefile.win32 +-AVSRCS= Fixes MAKEDIFFS MAKESHAR NewThings README FAQ \ ++AVSRCS= BUILDING Fixes MAKEDIFFS MAKESHAR NewThings README.md FAQ \ + WishList config_f.h eight-bit.me glob.3 patchlevel.h \ + pathnames.h tcsh.man Ported src.desc Imakefile imake.config \ +- README.imake complete.tcsh vmsreadme.txt termcap.vms snames.h \ +- host.defs gethost.c tcsh.man2html configure.ac aclocal.m4 ++ complete.tcsh vmsreadme.txt termcap.vms snames.h host.defs \ ++ gethost.c tcsh.man2html configure.ac aclocal.m4 + + VHSRCS=${PVSRCS} ${AVSRCS} + +diff --git a/Ported b/Ported +index ca1ac3b..f1151c7 100644 +--- a/Ported ++++ b/Ported +@@ -338,7 +338,7 @@ CFLAGS : normal + LIBES : -ltermcap + OS : bsd 4.3reno + CONFIG : bsdreno +-NOTES : ttyname() is buggy. calls closedir() twice. See README ++NOTES : ttyname() is buggy. calls closedir() twice. See BUILDING + ENVIRON : n/a + VERSION : 6.00.04 + +diff --git a/README.imake b/README.imake +deleted file mode 100644 +index dfe2e2f..0000000 +--- a/README.imake ++++ /dev/null +@@ -1,9 +0,0 @@ +- +-If you have imake running on your machine, you may skip steps 1 and 2 +-described in the README file and try instead the process described here. +-Note that imake is not supported for all the platforms yet, so this +-might not work on your machine. If that is the case please let us know. +-If you can send a patch that fixes the problem we would appreciate it. +- +-1. edit imake.config and modify the configurable parameters to your liking. +-2. 'xmkmf; make depend; make' +diff --git a/README.md b/README.md +new file mode 100644 +index 0000000..43a92bb +--- /dev/null ++++ b/README.md +@@ -0,0 +1,17 @@ ++# Tcsh - C shell with file name completion and command line editing ++ ++The Tcsh source code is available on GitHub as a read-only mirror at: ++ ++ http://github.com/tcsh-org/tcsh ++ ++Instructions for compiling Tcsh can be found in [BUILDING]. ++ ++PLEASE file any bug reports (and fixes), code for new features at: ++ ++ http://bugs.gw.com/ ++ ++Comments, questions, etc. (even flames) are welcome via email to ++the Tcsh Bugs mailing list: ++ ++ tcsh-bugs@mx.gw.com ++ +-- +2.9.3 + + +From 709e97df63dab42dc7cc474f54b621f732228b25 Mon Sep 17 00:00:00 2001 +From: Kimmo Suominen +Date: Wed, 1 Feb 2017 15:45:10 +0200 +Subject: [PATCH 2/5] Improve formatting + +--- + README.md | 18 +++++++++++------- + 1 file changed, 11 insertions(+), 7 deletions(-) + +diff --git a/README.md b/README.md +index 43a92bb..fcbdbfc 100644 +--- a/README.md ++++ b/README.md +@@ -1,17 +1,21 @@ +-# Tcsh - C shell with file name completion and command line editing ++# Tcsh + +-The Tcsh source code is available on GitHub as a read-only mirror at: ++*C shell with file name completion and command line editing* + +- http://github.com/tcsh-org/tcsh ++The Tcsh source code is available on GitHub as a read-only repo ++mirror at: + +-Instructions for compiling Tcsh can be found in [BUILDING]. ++> http://github.com/tcsh-org/tcsh + +-PLEASE file any bug reports (and fixes), code for new features at: ++Instructions for compiling Tcsh can be found in ++[BUILDING](blob/master/BUILDING). + +- http://bugs.gw.com/ ++PLEASE file any bug reports, fixes, and code for new features at: ++ ++> http://bugs.gw.com/ + + Comments, questions, etc. (even flames) are welcome via email to + the Tcsh Bugs mailing list: + +- tcsh-bugs@mx.gw.com ++> tcsh-bugs@mx.gw.com + +-- +2.9.3 + + +From e784b20c10a214a944953c25601918c7ab0c1f69 Mon Sep 17 00:00:00 2001 +From: Kimmo Suominen +Date: Wed, 1 Feb 2017 16:01:43 +0200 +Subject: [PATCH 3/5] Add build status + +--- + README.md | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/README.md b/README.md +index fcbdbfc..6ff9b7a 100644 +--- a/README.md ++++ b/README.md +@@ -19,3 +19,4 @@ the Tcsh Bugs mailing list: + + > tcsh-bugs@mx.gw.com + ++[![Build Status](https://travis-ci.org/tcsh-org/tcsh.svg?branch=master)](https://travis-ci.org/tcsh-org/tcsh) +-- +2.9.3 + + +From 1f2066458f442cc956138c24c79110f36a30cf0d Mon Sep 17 00:00:00 2001 +From: Kimmo Suominen +Date: Wed, 1 Feb 2017 16:34:17 +0200 +Subject: [PATCH 4/5] Learning curve + +--- + README.md | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/README.md b/README.md +index 6ff9b7a..466c22b 100644 +--- a/README.md ++++ b/README.md +@@ -7,8 +7,7 @@ mirror at: + + > http://github.com/tcsh-org/tcsh + +-Instructions for compiling Tcsh can be found in +-[BUILDING](blob/master/BUILDING). ++Instructions for compiling Tcsh can be found in [BUILDING]. + + PLEASE file any bug reports, fixes, and code for new features at: + +-- +2.9.3 + + +From 19a63ad9f28fd9cb7e92bd397f128f5de7619887 Mon Sep 17 00:00:00 2001 +From: Kimmo Suominen +Date: Wed, 1 Feb 2017 23:58:37 +0200 +Subject: [PATCH 5/5] Fix linking. + +--- + README.md | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/README.md b/README.md +index 466c22b..f273f8f 100644 +--- a/README.md ++++ b/README.md +@@ -18,4 +18,8 @@ the Tcsh Bugs mailing list: + + > tcsh-bugs@mx.gw.com + +-[![Build Status](https://travis-ci.org/tcsh-org/tcsh.svg?branch=master)](https://travis-ci.org/tcsh-org/tcsh) ++[![Build Status][status]][travis] ++ ++[BUILDING]: BUILDING ++[status]: https://travis-ci.org/tcsh-org/tcsh.svg?branch=master ++[travis]: https://travis-ci.org/tcsh-org/tcsh +-- +2.9.3 + diff --git a/SOURCES/tcsh-6.20.00-007-look-for-tgetent-in-libtinfo.patch b/SOURCES/tcsh-6.20.00-007-look-for-tgetent-in-libtinfo.patch new file mode 100644 index 0000000..e260033 --- /dev/null +++ b/SOURCES/tcsh-6.20.00-007-look-for-tgetent-in-libtinfo.patch @@ -0,0 +1,60 @@ +From 7fd9ae6ddd1dc726c354f5ed7f8104b1a6e35d93 Mon Sep 17 00:00:00 2001 +From: Kimmo Suominen +Date: Fri, 10 Feb 2017 13:44:34 +0000 +Subject: [PATCH 1/2] Look for tgetent in libtinfo as well (Werner Fink) + +--- + configure | 2 +- + configure.ac | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure b/configure +index 2a56740..28bcc16 100755 +--- a/configure ++++ b/configure +@@ -4284,7 +4284,7 @@ return tgetent (); + return 0; + } + _ACEOF +-for ac_lib in '' termlib termcap curses ncurses; do ++for ac_lib in '' termlib tinfo termcap curses ncurses; do + if test -z "$ac_lib"; then + ac_res="none required" + else +diff --git a/configure.ac b/configure.ac +index 0515787..4a964ec 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -315,7 +315,7 @@ esac + dnl Checks for libraries + AC_SEARCH_LIBS(crypt, crypt) + AC_SEARCH_LIBS(getspnam, sec) +-AC_SEARCH_LIBS([tgetent], [termlib termcap curses ncurses], [], [ ++AC_SEARCH_LIBS([tgetent], [termlib tinfo termcap curses ncurses], [], [ + AC_MSG_ERROR([unable to find the tgetent() function]) + ]) + AC_SEARCH_LIBS(gethostbyname, nsl) +-- +2.9.3 + +From a177220dce0f757cbba7a6476e1a44b1b7207925 Mon Sep 17 00:00:00 2001 +From: Kimmo Suominen +Date: Fri, 10 Feb 2017 16:51:05 +0200 +Subject: [PATCH 2/2] Look for tgetent in libtinfo as well (Werner Fink) + +--- + Fixes | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Fixes b/Fixes +index aec768e..7bd907d 100644 +--- a/Fixes ++++ b/Fixes +@@ -1,3 +1,4 @@ ++ 5. Look for tgetent in libtinfo as well (Werner Fink) + 4. Don't play pointer tricks that are undefined in modern c (Brooks Davis) + 3. Fix out of bounds read (Brooks Davis) + 2. Fix type of read in prompt confirmation (eg. rmstar) (David Kaspar) +-- +2.9.3 + diff --git a/SOURCES/tcsh-6.20.00-008-guard-ascii-only-reversion.patch b/SOURCES/tcsh-6.20.00-008-guard-ascii-only-reversion.patch new file mode 100644 index 0000000..6d1cecd --- /dev/null +++ b/SOURCES/tcsh-6.20.00-008-guard-ascii-only-reversion.patch @@ -0,0 +1,43 @@ +From 8e6dfd53321a0b0047f7d75db21a946c166c600b Mon Sep 17 00:00:00 2001 +From: Christos Zoulas +Date: Fri, 17 Feb 2017 11:17:27 -0500 +Subject: [PATCH] Unfortunately the AsciiOnly reversion causes a SEGV because + *ch is used to index in the command array, and now contains INVALID_BYTE. env + -i ./tcsh b + +--- + ed.inputl.c | 18 +++++++++++------- + 1 file changed, 11 insertions(+), 7 deletions(-) + +diff --git a/ed.inputl.c b/ed.inputl.c +index f543a6f..1a0d356 100644 +--- a/ed.inputl.c ++++ b/ed.inputl.c +@@ -796,13 +796,17 @@ GetNextChar(Char *cp) + return -1; + } + } +- cbp++; +- if (normal_mbtowc(cp, cbuf, cbp) == -1) { +- reset_mbtowc(); +- if (cbp < MB_CUR_MAX) +- continue; /* Maybe a partial character */ +- /* And drop the following bytes, if any */ +- *cp = (unsigned char)*cbuf | INVALID_BYTE; ++ if (AsciiOnly) { ++ *cp = (unsigned char)*cbuf; ++ } else { ++ cbp++; ++ if (normal_mbtowc(cp, cbuf, cbp) == -1) { ++ reset_mbtowc(); ++ if (cbp < MB_CUR_MAX) ++ continue; /* Maybe a partial character */ ++ /* And drop the following bytes, if any */ ++ *cp = (unsigned char)*cbuf | INVALID_BYTE; ++ } + } + break; + } +-- +2.9.3 + diff --git a/SOURCES/tcsh-6.20.00-009-fix-regexp-for-backlash-quoting-tests.patch b/SOURCES/tcsh-6.20.00-009-fix-regexp-for-backlash-quoting-tests.patch new file mode 100644 index 0000000..5f85737 --- /dev/null +++ b/SOURCES/tcsh-6.20.00-009-fix-regexp-for-backlash-quoting-tests.patch @@ -0,0 +1,39 @@ +From 2ad4fc1705893207598ed5cd21713ddf3f17bba0 Mon Sep 17 00:00:00 2001 +From: zoulasc +Date: Thu, 23 Feb 2017 11:55:33 -0500 +Subject: [PATCH] + https://github.com/tcsh-org/tcsh/pull/1#issuecomment-282035528 + +--- + tests/lexical.at | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/tests/lexical.at b/tests/lexical.at +index 7b7da4e..3dc6024 100644 +--- a/tests/lexical.at ++++ b/tests/lexical.at +@@ -567,10 +567,10 @@ run=3 + ]]) + AT_DATA([uniformity_test.csh], + [[ +-set SERVICE_NAME_LOG = `cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[:blank:]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g'` ++set SERVICE_NAME_LOG = `cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[[:blank:]]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g'` + echo -n "$SERVICE_NAME_LOG" > ./output1 + +-cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[:blank:]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g' > ./output2 ++cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[[:blank:]]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g' > ./output2 + + diff -uprN ./output1 ./output2 >& /dev/null + +@@ -587,7 +587,7 @@ AT_DATA([quoting_result_test.csh], + echo "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP\)(HOST=db\)(PORT=1521\)\)(CONNECT_DATA=(SERVER=DEDICATED\)(SERVICE_NAME=bns03\)\)\)" > ./expected_result + + set string = "jdbc_url=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=db)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=bns03)))" +-set SERVICE_NAME_LOG = `echo "$string" | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[:blank:]*\([^$]*\)$/\1/p' | perl -pe 's/\)/\\\)/g'` ++set SERVICE_NAME_LOG = `echo "$string" | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[[:blank:]]*\([^$]*\)$/\1/p' | perl -pe 's/\)/\\\)/g'` + + echo "$SERVICE_NAME_LOG" > ./actual_result + +-- +2.9.3 + diff --git a/SOURCES/tcsh-6.20.00-manpage-memoryuse.patch b/SOURCES/tcsh-6.20.00-manpage-memoryuse.patch new file mode 100644 index 0000000..771b51a --- /dev/null +++ b/SOURCES/tcsh-6.20.00-manpage-memoryuse.patch @@ -0,0 +1,26 @@ +From 0d6172b290175b667dc2d83528f42b435827fd40 Mon Sep 17 00:00:00 2001 +From: "David Kaspar [Dee'Kej]" +Date: Fri, 29 Apr 2016 16:52:59 +0200 +Subject: [PATCH] Inform about no support for 'limit memoryuse' in manpage + + This patch has been introduced after request in BZ: #247637 +--- + tcsh.man | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/tcsh.man b/tcsh.man +index 584de6f..f5dc582 100644 +--- a/tcsh.man ++++ b/tcsh.man +@@ -3014,6 +3014,8 @@ the size of the largest core dump that will be created + \fImemoryuse\fR + the maximum amount of physical memory a process + may have allocated to it at a given time ++ ++NOTE: Changing this value has no effect. Support has been removed from Linux kernel v2.6 and newer. + .TP + \fIvmemoryuse\fR + the maximum amount of virtual memory a process +-- +2.7.4 + diff --git a/SOURCES/tcsh-6.20.00-tcsh-posix-status.patch b/SOURCES/tcsh-6.20.00-tcsh-posix-status.patch new file mode 100644 index 0000000..6af23dd --- /dev/null +++ b/SOURCES/tcsh-6.20.00-tcsh-posix-status.patch @@ -0,0 +1,143 @@ +From c4ec43cec37ea82af6c0ba6bb0a3e8c3e85411ce Mon Sep 17 00:00:00 2001 +From: Pavel Raiskup +Date: Mon, 28 Jul 2014 14:47:33 +0200 +Subject: [PATCH] downstream: implement variable tcsh_posix_status + + This patch partially reverts the dist-git commit e0b2d458fda4 - + because we *don't* really want to drop upstream-supported '$anyerror' + variable. And we can't drop $tcsh_posix_status neither, as we already + support that in RHEL5+ as a downstream patch. + + So from now, if "!defined(anyerror) || defined(tcsh_posix_status)", + tcsh behaves, with regards to pipelines, same way as POSIX-like shells. + + NOTE: This feature is left undocumented intentionaly, just to push + people use the upstream supported $anyerror. + + Resolves: #1129703 + Related: #759132 +--- + sh.c | 2 ++ + sh.h | 1 + + sh.proc.c | 2 +- + sh.set.c | 5 +++++ + tc.const.c | 2 ++ + tests/variables.at | 28 ++++++++++++++++++++++++++++ + 6 files changed, 39 insertions(+), 1 deletion(-) + +diff --git a/sh.c b/sh.c +index e9dfa81..38d073a 100644 +--- a/sh.c ++++ b/sh.c +@@ -357,6 +357,8 @@ main(int argc, char **argv) + anyerror = 1; /* for compatibility */ + setcopy(STRanyerror, STRNULL, VAR_READWRITE); + ++ tcsh_posix_status = 0; ++ + /* Default history size to 100 */ + setcopy(STRhistory, str2short("100"), VAR_READWRITE); + sethistory(100); +diff --git a/sh.h b/sh.h +index 95f439d..a41e2e0 100644 +--- a/sh.h ++++ b/sh.h +@@ -573,6 +573,7 @@ EXTERN int editing IZERO; /* doing filename expansion and line editing */ + EXTERN int noediting IZERO; /* initial $term defaulted to noedit */ + EXTERN int bslash_quote IZERO;/* PWP: tcsh-style quoting? (in sh.c) */ + EXTERN int anyerror IZERO; /* propagate errors from pipelines/backq */ ++EXTERN int tcsh_posix_status IZERO; /* negation for anyerror */ + EXTERN int compat_expr IZERO;/* csh-style expressions? */ + EXTERN int isoutatty IZERO; /* is SHOUT a tty */ + EXTERN int isdiagatty IZERO;/* is SHDIAG a tty */ +diff --git a/sh.proc.c b/sh.proc.c +index 0af5e03..ac6ef5d 100644 +--- a/sh.proc.c ++++ b/sh.proc.c +@@ -564,7 +564,7 @@ pjwait(struct process *pp) + do { + /* In case of pipelines only the result of the last + * command should be taken in account */ +- if (!anyerror && !(fp->p_flags & PBRACE) ++ if ((!anyerror || tcsh_posix_status) && !(fp->p_flags & PBRACE) + && ((fp->p_flags & PPOU) || (fp->p_flags & PBACKQ))) + continue; + if (fp->p_reason) +diff --git a/sh.set.c b/sh.set.c +index cf831b2..c155619 100644 +--- a/sh.set.c ++++ b/sh.set.c +@@ -117,6 +117,9 @@ update_vars(Char *vp) + else if (eq(vp, STRanyerror)) { + anyerror = 1; + } ++ else if (eq(vp, STRtcsh_posix_status)) { ++ tcsh_posix_status = 1; ++ } + else if (eq(vp, STRsymlinks)) { + Char *pn = varval(vp); + +@@ -788,6 +791,8 @@ unset(Char **v, struct command *c) + loginsh = 0; + if (adrof(STRanyerror) == 0) + anyerror = 0; ++ if (adrof(STRtcsh_posix_status) == 0) ++ tcsh_posix_status = 0; + if (adrof(STRwordchars) == 0) + word_chars = STR_WORD_CHARS; + if (adrof(STRedit) == 0) +diff --git a/tc.const.c b/tc.const.c +index cb39ab9..4fed182 100644 +--- a/tc.const.c ++++ b/tc.const.c +@@ -44,6 +44,8 @@ Char STRrootdefautologout[] = { '1', '5', '\0' }; + Char STRautomatic[] = { 'a', 'u', 't', 'o', 'm', 'a', 't', 'i', 'c', + '\0' }; + Char STRanyerror[] = { 'a', 'n', 'y', 'e', 'r', 'r', 'o', 'r', '\0' }; ++Char STRtcsh_posix_status[] = {'t', 'c', 's', 'h', '_', 'p', 'o', 's', 'i', 'x', ++ '_', 's', 't', 'a', 't', 'u', 's', '\0' }; + Char STRhangup[] = { 'h', 'a', 'n', 'g', 'u', 'p', '\0' }; + Char STRaout[] = { 'a', '.', 'o', 'u', 't', '\0' }; + Char STRtty[] = { 't', 't', 'y', '\0' }; +diff --git a/tests/variables.at b/tests/variables.at +index ffa0da2..5fa9239 100644 +--- a/tests/variables.at ++++ b/tests/variables.at +@@ -976,6 +976,34 @@ AT_CHECK([tcsh -f -c 'echo $?tcsh'], , + AT_CLEANUP + + ++AT_SETUP([$ tcsh_posix_status]) ++ ++AT_DATA([exit_status.csh], ++[[echo $?tcsh_posix_status ++false | true ; echo $? ++set tcsh_posix_status = 1 ; echo $?tcsh_posix_status $tcsh_posix_status ++false | true ; echo $? ++set tcsh_posix_status = 0 ; echo $?tcsh_posix_status $tcsh_posix_status ++# Note it is still set! ++false | true ; echo $? ++unset tcsh_posix_status ; echo $?tcsh_posix_status ++false | true ; echo $? ++]]) ++ ++AT_CHECK([tcsh -f exit_status.csh],, ++[0 ++1 ++1 1 ++0 ++1 0 ++0 ++0 ++1 ++]) ++ ++AT_CLEANUP ++ ++ + AT_SETUP([$ term]) + + AT_DATA([term.csh], +-- +2.7.4 + diff --git a/SPECS/tcsh.spec b/SPECS/tcsh.spec new file mode 100644 index 0000000..2afa0d8 --- /dev/null +++ b/SPECS/tcsh.spec @@ -0,0 +1,773 @@ +# === GLOBAL MACROS =========================================================== + +# According to Fedora Package Guidelines, it is advised that packages that can +# process untrusted input are build with position-independent code (PIC). +# +# Koji should override the compilation flags and add the -fPIC or -fPIE flags by +# default. This is here just in case this wouldn't happen for some reason. +# For more info: https://fedoraproject.org/wiki/Packaging:Guidelines#PIE +%global _hardened_build 1 + +# ============================================================================= + +Name: tcsh +Summary: An enhanced version of csh, the C shell +Version: 6.20.00 +Release: 9%{?dist} +License: BSD + +URL: http://www.tcsh.org/ +Source: ftp://ftp.astron.com/pub/tcsh/%{name}-%{version}.tar.gz + +Provides: csh = %{version} +Provides: /bin/csh +Provides: /bin/tcsh + +Requires(post): coreutils +Requires(post): grep +Requires(postun): sed + +BuildRequires: gcc +BuildRequires: git +BuildRequires: autoconf +BuildRequires: gettext-devel +BuildRequires: ncurses-devel + +# ============================================================================= + +# NOTE: 'autosetup' macro (below) uses 'git' for applying the patches: +# ->> All the patches should be provided in 'git format-patch' format. +# ->> Auxiliary repository will be created during 'fedpkg prep', you +# can see all the applied patches there via 'git log'. + +# Upstream patches -- official upstream patches released by upstream since the +# ---------------- last rebase that are necessary for any reason: +Patch000: tcsh-6.20.00-000-add-all-flags-for-gethost-build.patch +Patch001: tcsh-6.20.00-001-delay-arginp-interpreting.patch +Patch002: tcsh-6.20.00-002-type-of-read-in-prompt-confirm.patch +Patch003: tcsh-6.20.00-003-fix-out-of-bounds-read.patch +Patch004: tcsh-6.20.00-004-do-not-use-old-pointer-tricks.patch +Patch005: tcsh-6.20.00-005-reset-fixes-numbering.patch +Patch006: tcsh-6.20.00-006-cleanup-in-readme-files.patch +Patch007: tcsh-6.20.00-007-look-for-tgetent-in-libtinfo.patch +Patch008: tcsh-6.20.00-008-guard-ascii-only-reversion.patch +Patch009: tcsh-6.20.00-009-fix-regexp-for-backlash-quoting-tests.patch + + +# Downstream patches -- these should be always included when doing rebase: +# ------------------ +Patch100: tcsh-6.20.00-manpage-memoryuse.patch + + +# Downstream patches for RHEL -- patches that we keep only in RHEL for various +# --------------------------- reasons, but are not enabled in Fedora: +%if %{defined rhel} || %{defined centos} +Patch200: tcsh-6.20.00-tcsh-posix-status.patch +%endif + + +# Patches to be removed -- deprecated functionality which shall be removed at +# --------------------- some point in the future: + + +%description +Tcsh is an enhanced but completely compatible version of csh, the C shell. Tcsh +is a command language interpreter which can be used both as an interactive login +shell and as a shell script command processor. Tcsh includes a command line +editor, programmable word completion, spelling correction, a history mechanism, +job control and a C language like syntax. + +# === BUILD INSTRUCTIONS ====================================================== + +# Call the 'autosetup' macro to prepare the environment, but do not patch the +# source code yet -- we need to convert the 'Fixes' file first: +%prep +%autosetup -N -S git + +# NOTE: If more files needs to be converted, add them here: +for file in Fixes; do + iconv -f iso-8859-1 -t utf-8 "$file" > "${file}.converted" && \ + touch -r "$file" "${file}.converted" && \ + mv "${file}.converted" "$file" +done + +# Also, rename the Copyright so we comply with more generally accepted name: +mv Copyright COPYING + +# Amend the converted files to the initial commit, and patch the source code: +git add --all --force +git commit --all --amend --no-edit > /dev/null +%autopatch -p1 + +# --------------- + +%build +%configure +%make_build all + +# --------------- + +%check +%make_build check + +# --------------- + +%install +mkdir -p %{buildroot}%{_bindir} +mkdir -p %{buildroot}%{_mandir}/man1 +install -p -m 755 tcsh %{buildroot}%{_bindir}/tcsh +install -p -m 644 tcsh.man %{buildroot}%{_mandir}/man1/tcsh.1 +ln -sf tcsh %{buildroot}%{_bindir}/csh +ln -sf tcsh.1 %{buildroot}%{_mandir}/man1/csh.1 + +# NOTE: We have to construct tcsh.lang by ourselves, since upstream does not use +# standard naming/placing of localization files for the gettext... +while read lang language; do + dest="%{buildroot}%{_datadir}/locale/$lang/LC_MESSAGES" + if [[ -f "nls/$language.cat" ]]; then + mkdir -p "$dest" + install -p -m 644 "nls/$language.cat" "$dest/tcsh" + echo "%lang($lang) %{_datadir}/locale/$lang/LC_MESSAGES/tcsh" + fi +done > %{name}.lang << _EOF +de german +el greek +en C +es spanish +et et +fi finnish +fr french +it italian +ja ja +pl pl +ru russian +uk ukrainian +_EOF + +# --------------- + +%post +# Add login shell entries to /etc/shells only when installing the package +# for the first time (see 'man 5 SHELLS' for more info): +if [[ "$1" -eq 1 ]]; then + if [[ ! -f %{_sysconfdir}/shells ]]; then + echo "/bin/csh" >> %{_sysconfdir}/shells + echo "/bin/tcsh" >> %{_sysconfdir}/shells + echo "%{_bindir}/csh" >> %{_sysconfdir}/shells + echo "%{_bindir}/tcsh" >> %{_sysconfdir}/shells + else + grep -q "^/bin/csh$" %{_sysconfdir}/shells || echo "/bin/csh" >> %{_sysconfdir}/shells + grep -q "^/bin/tcsh$" %{_sysconfdir}/shells || echo "/bin/tcsh" >> %{_sysconfdir}/shells + grep -q "^%{_bindir}/csh$" %{_sysconfdir}/shells || echo "%{_bindir}/csh" >> %{_sysconfdir}/shells + grep -q "^%{_bindir}/tcsh$" %{_sysconfdir}/shells || echo "%{_bindir}/tcsh" >> %{_sysconfdir}/shells + fi +fi + +# --------------- + +%postun +# Remove the login shell lines from /etc/shells only when uninstalling: +if [[ "$1" -eq 0 && -f %{_sysconfdir}/shells ]]; then + sed -i -e '\!^/bin/csh$!d' %{_sysconfdir}/shells + sed -i -e '\!^/bin/tcsh$!d' %{_sysconfdir}/shells + sed -i -e '\!^%{_bindir}/csh$!d' %{_sysconfdir}/shells + sed -i -e '\!^%{_bindir}/tcsh$!d' %{_sysconfdir}/shells +fi + +# === PACKAGING INSTRUCTIONS ================================================== + +%files -f %{name}.lang +%doc FAQ Fixes README.md complete.tcsh +%license COPYING +%{_bindir}/tcsh +%{_bindir}/csh +%{_mandir}/man1/*.1* + +# ============================================================================= + +%changelog +* Fri Feb 09 2018 Fedora Release Engineering - 6.20.00-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Jan 20 2018 Björn Esser - 6.20.00-8 +- Rebuilt for switch to libxcrypt + +* Thu Aug 03 2017 Fedora Release Engineering - 6.20.00-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 6.20.00-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Tue Feb 28 2017 David Kaspar [Dee'Kej] - 6.20.00-5 +- Added multiple upstream patches: + tcsh-6.20.00-004-do-not-use-old-pointer-tricks.patch + tcsh-6.20.00-005-reset-fixes-numbering.patch + tcsh-6.20.00-006-cleanup-in-readme-files.patch + tcsh-6.20.00-007-look-for-tgetent-in-libtinfo.patch + tcsh-6.20.00-008-guard-ascii-only-reversion.patch + tcsh-6.20.00-009-fix-regexp-for-backlash-quoting-tests.patch (bug #1424082) + +* Sat Feb 11 2017 Fedora Release Engineering - 6.20.00-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Dec 5 2016 David Kaspar [Dee'Kej] - 6.20.00-3 +- Added tcsh-6.20.00-003-fix-out-of-bounds-read.patch + +* Mon Nov 28 2016 David Kaspar [Dee'Kej] - 6.20.00-2 +- Added multiple upstream patches: + tcsh-6.20.00-000-add-all-flags-for-gethost-build.patch + tcsh-6.20.00-001-delay-arginp-interpreting.patch + tcsh-6.20.00-002-type-of-read-in-prompt-confirm.patch (bug #1386129) + +* Mon Nov 28 2016 David Kaspar [Dee'Kej] - 6.20.00-1 +- Rebase to tcsh-6.20.00 + +* Tue Sep 6 2016 David Kaspar [Dee'Kej] - 6.19.00-15 +- Add a safeguard for installation on UsrMove enabled filesystem only + +* Fri Aug 12 2016 David Kaspar [Dee'Kej] - 6.19.00-14 +- Move the COPYING file to correct location + +* Mon Jul 18 2016 David Kaspar [Dee'Kej] - 6.19.00-13 +- Added tcsh-6.19.00-032-fix-multiline-prompt.patch (bug #1351056) + +* Mon Jul 18 2016 David Kaspar [Dee'Kej] - 6.19.00-12 +- Added tcsh-6.19.00-031-always-send-prusage-to-stdout.patch, + to fix regression in: tcsh-6.19.00-026-quote-backslashes-properly.patch + See for more info. + +* Tue May 31 2016 David Kaspar [Dee'Kej] - 6.19.00-11 +- Deprecated tcsh-6.19.00-tcsh_posix_status-deprecated.patch removed + +* Sun May 29 2016 David Kaspar [Dee'Kej] - 6.19.00-10 +- Added 3 new testcases into testsuite. + +* Fri May 27 2016 David Kaspar [Dee'Kej] - 6.19.00-9 +- Another regression in tcsh-6.19.00-026-quote-backslashes-properly.patch fixed, see: + +- tcsh-6.19.00-029-do-not-print-jobs-to-stderr.patch added + +* Mon May 16 2016 David Kaspar [Dee'Kej] - 6.19.00-8 +- Regression in tcsh-6.19.00-026-quote-backslashes-properly.patch fixed (#1333523) + +* Tue May 3 2016 David Kaspar [Dee'Kej] - 6.19.00-7 +- Adding multiple upstream patches to stay closer with upstream: + tcsh-6.19.00-000-announcement.patch + tcsh-6.19.00-001-remove-CFLAGS-for-gethost.patch + tcsh-6.19.00-002-fix-error-messages.patch + tcsh-6.19.00-003-avoid-gcc5-calloc-optimization.patch (replaces tcsh-6.19.00-gcc5-calloc.patch) + tcsh-6.19.00-004-remove-unused-variable.patch + tcsh-6.19.00-005-ge0-is-always-true-for-unsigned.patch + tcsh-6.19.00-006-_SIGWINCH-added.patch + tcsh-6.19.00-007-fix-handling-of-invalid-unicode-characters.patch + tcsh-6.19.00-008-fix-ln-1-completion.patch + tcsh-6.19.00-009-fix-parsing-of-if-statement.patch + tcsh-6.19.00-010-fix-editor-and-visual-variables-and-its-behaviour.patch + tcsh-6.19.00-011-man-page-spelling-fixes.patch + tcsh-6.19.00-012-display-default-in-editor.patch + tcsh-6.19.00-013-VImode-variable-provided.patch + tcsh-6.19.00-014-do-not-use-union-wait.patch + tcsh-6.19.00-015-set-LC_COLLATE-to-C-and-add-HTML-makefile.patch + tcsh-6.19.00-016-do-not-quote-name-expanded-by-completion.patch + tcsh-6.19.00-017-fix-for-finnish-translations.patch + tcsh-6.19.00-018-add-noclobber-and-ask-options.patch + tcsh-6.19.00-019-fix-uninitialized-estr.patch + tcsh-6.19.00-020-make-heredoc-interruptible-again.patch + tcsh-6.19.00-021-remove-extra-semicolon.patch + tcsh-6.19.00-022-fix-source-command-memory-leak.patch + tcsh-6.19.00-023-fix-debugging-code.patch + tcsh-6.19.00-024-use-sysmalloc.patch + tcsh-6.19.00-025-more-generous-ROUNDUP-_LP64.patch + tcsh-6.19.00-026-quote-backslashes-properly.patch + tcsh-6.19.00-027-fix-memory-leak-when-cdpath-fails.patch + tcsh-6.19.00-028-fix-wrong-ifdef.patch + +* Thu Apr 21 2016 David Kaspar [Dee'Kej] - 6.19.00-6 +- Drop tcsh-6.15.00-closem.patch - issue not reproducible, patch not accepted by upstream +- Drop tcsh-6.14.00-unprintable.patch - issue not reproducible with 6.19.00 upstream version +- Drop tcsh-6.14.00-syntax.patch - patch not accepted by upstream, breaks other things +- Drop tcsh-6.18.01-skip-tty-tests.patch - has been fixed in 6.18.05 upstream version +- Drop tcsh-6.18.01-elf-interpreter.patch - patch not working anymore, not accepted by upstream +- Drop tcsh-6.18.01-introduce-tcsh_posix_status.patch - not accepted by upstream, + upstream introduced $anyerror instead +- Add tcsh-6.19.00-tcsh_posix_status-deprecated.patch - temporary patch with warning, + should be removed in F25 +- Drop tcsh-6.14.00-order.patch - misleading man page change not reflecting correct behaviour +- Fix tcsh-6.13.00-memoryuse.patch -> tcsh-6.19.00-manpage-memoryuse.patch +- Drop tcsh-6.15.00-hist-sub.patch - misleading man page change + +* Fri Feb 05 2016 Fedora Release Engineering - 6.19.00-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jan 13 2016 Lubomir Rintel - 6.19.00-04 +- Fix build + +* Tue Jun 16 2015 Fridolin Pokorny - 6.19.00-03 +- Add /bin/tcsh and /bin/csh to /etc/shells (#1229032) + +* Thu May 28 2015 Fridolin Pokorny - 6.19.00-02 +- Add tcsh-6.19.00-gcc5-calloc.patch to avoid crashes and infinite loops due to + gcc-5 malloc+memset optimization. + +* Wed May 27 2015 Fridolin Pokorny - 6.19.00-01 +- Update to tcsh-6.19.00 +- Drop tcsh-6.14.00-tinfo.patch, not used anymore +- Drop tcsh-6.17.00-manpage-spelling.patch, accepted by upstream +- Drop tcsh-6.18.00-history-file-locking.patch, upstream introduced own history + file locking +- Drop tcsh-6.18.00-history-merge.patch to respect upstream history handling +- Drop tcsh-6.18.01-repeated-words-man.patch, accepted by upstream +- Adjust tcsh-6.15.00-hist-sub.patch to merge new release +- Adjust tcsh-6.18.01-elf-interpreter.patch to merge new release +- Adjust tcsh-6.18.01-introduce-tcsh_posix_status.patch to merge new release +- Remove tcsh-6.18.01-reverse-history-handling-in-loops.patch, issue does not + occur anymore +- Adjust tcsh-6.18.01-skip-tty-tests.patch to merge new release +- Remove tcsh-6.18.01-wait-hang.patch, accepted by upstream + +* Tue Jan 27 2015 Pavel Raiskup - 6.18.01-13 +- fix 'wait' built-in hang (#1181685) +- call %%autosetup after iconv, this avoids having uncommitted changes in + srcdir after patches are applied + +* Wed Aug 27 2014 Pavel Raiskup - 6.18.01-12 +- use the %%autosetup macro +- enable testsuite in %%check +- skip tests which are not able to be run without tty +- support both $anyerror & $tcsh_posix_status (#1129703) + +* Mon Aug 18 2014 Fedora Release Engineering - 6.18.01-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sun Jun 08 2014 Fedora Release Engineering - 6.18.01-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu Dec 19 2013 Pavel Raiskup - 6.18.01-9 +- provide binaries in /bin for compatibility + +* Thu Dec 19 2013 Jaromir Koncicky - 6.18.01-8 +- Move binaries from /bin to /usr/bin + +* Thu Dec 19 2013 Jaromir Koncicky - 6.18.01-7 +- Revert history handling in loops + (Backported resolution of RHEL bug #814069) + +* Wed Dec 18 2013 Jaromir Koncicky - 6.18.01-6 +- Changed 'anyerror' variable to 'tcsh_posix_status' with opposite meaning + (Backported resolution of RHEL bug #759132) + +* Sun Aug 04 2013 Fedora Release Engineering - 6.18.01-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Jul 26 2013 Pavel Raiskup - 6.18.01-4 +- fix rpmlint warnings + +* Wed May 22 2013 Fridolin Pokorny 6.18.01-3 +- Added tcsh-6.18.01-elf-interpreter.patch to report missing ELF interpreter + Resolves: #711066 + +* Mon Apr 08 2013 Fridolin Pokorny 6.18.01-2 +- Removed repeated words in man + Resolves: #948884 + +* Fri Apr 05 2013 Fridolin Pokorny 6.18.01-1 +- Update to tcsh-6.18.01 +- Removed tcsh-6.18.00-history-savehist.patch, not accepted by upstream + http://mx.gw.com/pipermail/tcsh-bugs/2013-March/000824.html + +* Thu Mar 28 2013 Fridolin Pokorny 6.18.00-7 +- File locking patch modified to reflect HIST_MERGE flag (#879371) +- Drop tcsh-6.18.00-sigint-while-waiting-for-child.patch, accepted by upstream +- Add tcsh-6.18.00-history-merge.patch to merge histlist properly (#919452) +- Add tcsh-6.18.00-history-savehist.patch to store history with length + $savehist, not only $history. + +* Fri Feb 15 2013 Fedora Release Engineering - 6.18.00-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Dec 12 2012 Roman Kollar 6.18.00-5 +- Fix tcsh being interruptible while waiting for child process (#884937) + +* Mon Oct 29 2012 Roman Kollar - 6.18.00-4 +- Add Copyright file in %%doc +- Readd tcsh-6.18.00-history-file-locking.patch +- Fix casting in lseek calls in the history file locking patch (#821796) +- Fix dosource calls in the history file locking patch (#847102) + Resolves: #842851 +- Fix upstream source tarball location + +* Fri Aug 3 2012 Orion Poplawski - 6.18.00-3 +- Drop tcsh-6.18.00-history-file-locking.patch for now (bug 842851) + +* Sat Jul 21 2012 Fedora Release Engineering - 6.18.00-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu Mar 15 2012 Vojtech Vitek (V-Teq) - 6.18.00-1 +- Update to tcsh-6.18.00 +- Remove obsolete patches: tcsh-6.15.00-ca-color.patch, + tcsh-6.17.00-tc-color.patch, tcsh-6.17.00-mh-color.patch, + tcsh-6.17.00-history.patch, tcsh-6.17.00-printexitvalue.patch, + tcsh-6.17.00-testsuite.patch, tcsh-6.17.00-negative_jobs.patch, + tcsh-6.17.00-wait-intr.patch, tcsh-6.17.00-dont-set-empty-remotehost.patch, + tcsh-6.17.00-dont-print-history-on-verbose.patch, tcsh-6.14.00-set.patch, + tcsh-6.17.00-extrafork.patch, tcsh-6.17.00-avoid-null-cwd.patch, + tcsh-6.17.00-avoid-infinite-loop-pendjob-xprintf.patch, + tcsh-6.17.00-variable-names.patch, + tcsh-6.17.00-handle-signals-before-flush.patch + tcsh-6.17.00-status-pipeline-backquote-list-of-cmds.patch (reverted!) +- Modify and adapt the existing patches to the new source code: + tcsh-6.13.00-memoryuse.patch, tcsh-6.14.00-tinfo.patch, + tcsh-6.18.00-history-file-locking.patch + +* Thu Feb 16 2012 Vojtech Vitek (V-Teq) - 6.17-19 +- Handle pending signals before flush so that the the .history file + does not get truncated (#653054) +- Implement file locking using shared readers, exclusive writer + to prevent any .history file data corruption (#653054) + +* Sat Jan 14 2012 Fedora Release Engineering - 6.17-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Mon Oct 31 2011 Vojtech Vitek (V-Teq) - 6.17-17 +- Fix minor man page spelling mistakes (#675137) + +* Thu Oct 27 2011 Vojtech Vitek (V-Teq) - 6.17-16 +- Fix status of pipelined/backquoted/list of commands (RHEL-6 #658190) +- Do not dereference null pointer in cwd (RHEL-6 #700309) +- Fix negative number of jobs with %%j formatting parameter in prompt +- Clean-up patches numbers & order (prepare space for missing RHEL-6 patches) +- Disable obsolete glob-automount.patch; The issue should have been + (and is now) fixed in glibc (posix/glob.c) + +* Thu Mar 24 2011 Vojtech Vitek (V-Teq) - 6.17-15 +- Avoid infinite loop pendjob()-xprintf() when stdout is closed + Resolves: #690356 + +* Wed Feb 09 2011 Fedora Release Engineering - 6.17-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Fri Jan 28 2011 Vojtech Vitek (V-Teq) - 6.17-13 +- Modify verbose patch to match with upstream (don't print on history -S) + Resolves: #672810 + +* Wed Jan 26 2011 Vojtech Vitek (V-Teq) - 6.17-12 +- Fix error message on exit + Resolves: #672810 + +* Mon Jan 24 2011 Vojtech Vitek (V-Teq) - 6.17-11 +- Don't set $REMOTEHOST on the local machine + Resolves: #669176 +- Don't print history in verbose mode + Resolves: #583075, #658171 +- Don't allow illegal variable names to be set + Resolves: #436901 +- Revert "Fix incorrect $status value of pipelined commands" + +* Tue Dec 21 2010 Vojtech Vitek (V-Teq) - 6.17-10 +- Make wait builtin command interruptible + Resolves: #440465 +- Fix incorrect $status value of pipelined commands + Resolves: #638955 (Patch by Tomas Smetana ) + +* Wed Oct 6 2010 Vitezslav Crhonek - 6.17-9 +- Remove fork when tcsh processes backquotes + +* Wed Apr 14 2010 Vitezslav Crhonek - 6.17-8 +- Fix testsuite + +* Mon Mar 1 2010 Vitezslav Crhonek - 6.17-7 +- Ship README file + +* Tue Dec 15 2009 Vitezslav Crhonek - 6.17-6 +- Fix tcsh obeys printexitvalue for back-ticks + +* Wed Nov 4 2009 Vitezslav Crhonek - 6.17-5 +- Fix few globbing problems + +* Mon Oct 19 2009 Vitezslav Crhonek - 6.17-4 +- Fix tcsh globbing causing bad automount +- Fix truncated history file after network crash + +* Wed Aug 26 2009 Vitezslav Crhonek - 6.17-3 +- Add new colorls variable + Resolves: #518808 + +* Sun Jul 26 2009 Fedora Release Engineering - 6.17-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Mon Jul 20 2009 Vitezslav Crhonek - 6.17-1 +- Update to tcsh-6.17.00 + +* Thu Apr 30 2009 Vitezslav Crhonek - 6.16-1 +- Update to tcsh-6.16.00 +- Merge Review (fix License, add BUGS and WishList to documentation, convert Fixes and + WishList to UTF-8, remove root checking from buildroot cleaning, preserve timestamps, + use smp_flags, remove unused patches, improve postun script and minor fix to %%files) + Resolves: #226483 + +* Mon Mar 2 2009 Vitezslav Crhonek - 6.15-8 +- Fix tcsh needs to know about new colorls variables + Resolves: #487783 + +* Wed Feb 25 2009 Fedora Release Engineering - 6.15-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Sep 3 2008 Vitezslav Crhonek - 6.15-6 +- Fix UTF-8 Japanese character is garbled in tcsh script in + a certain situation + Related: #453785 +- Fix calculation order of operators description in tcsh manpage + Related: #442536 +- Fix strings which begin with '0' are not recognized as octal numbers + Related: #438109 +- Fix memoryuse description in tcsh manpage + Related: #437095 +- Fix tcsh scripts with multiple case statement with end keywords + break with error + Related: #436956 +- Fix description of builtin command 'set' in tcsh manpage + Related: #430459 + +* Fri Aug 29 2008 Vitezslav Crhonek - 6.15-5 +- Rediffed all patches to work with patch --fuzz=0 +- Let tcsh know 'ca' colorls variable + Resolves: #458716 + +* Fri Feb 29 2008 Vitezslav Crhonek - 6.15-4 +- Fix '\' can not be used to quote all delimiters + Related: #435421 +- Fix $name[selector] should fail when any number of 'selector' is out of range + Related: #435398 + +* Mon Feb 11 2008 Vitezslav Crhonek - 6.15-3 +- Fix Buildroot + +* Fri Jan 18 2008 Vitezslav Crhonek - 6.15-2 +- Rebuild + +* Mon Aug 27 2007 Vitezslav Crhonek - 6.15-1 +- Update to tcsh-6.15.00 +- Fix license +- Add gettext-devel to BuildRequires (AM_ICONV) + +* Wed Apr 25 2007 Vitezslav Crhonek - 6.14-16 +- Fix floating exception in print_by_column() with unprintable characters + (#233525) + +* Mon Feb 26 2007 Miloslav Trmac - 6.14-15 +- Fix License: + Related: #226483. + +* Mon Feb 12 2007 Miloslav Trmac - 6.14-14 +- Link to libtinfo instead of libncurses + +* Thu Nov 30 2006 Miloslav Trmac - 6.14-13 +- Link to ncurses instead of libtermcap +- Fix some rpmlint warnings + +* Tue Sep 26 2006 Miloslav Trmac - 6.14-12 +- Fix error handling in tcsh-6.14.00-wide-seeks.patch + +* Sat Sep 9 2006 Miloslav Trmac - 6.14-11 +- Fix an unlikely crash on startup (#188279) + +* Wed Aug 16 2006 Miloslav Trmac - 6.14-10 +- Fix an uninitialized variable causing stack corruption (#197968) + +* Wed Jul 12 2006 Jesse Keating - 6.14-9.1 +- rebuild + +* Mon Jul 10 2006 Miloslav Trmac - 6.14-9 +- Fix seeking over multibyte characters (#195972) +- Don't ship obsolete eight-bit.txt + +* Thu Mar 23 2006 Miloslav Trmac - 6.14-8 +- Backport a patch to ignore LS_COLOR codes introduced in newer coreutils + (#186037) + +* Sat Mar 18 2006 Miloslav Trmac - 6.14-7 +- Fix a crash when reading scripts with multibyte characters (#183267) +- Block SIGINT while waiting for children (#177366) + +* Fri Feb 10 2006 Jesse Keating - 6.14-5.2.1 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 6.14-5.2 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Fri Aug 5 2005 Miloslav Trmac - 6.14-5 +- Fix EOF handling in $< (#165095, patch by s_h_o_@hotmail.co.jp) + +* Thu Jul 7 2005 Miloslav Trmac - 6.14-3 +- Fix -n (#162187) + +* Mon Jun 20 2005 Miloslav Trmac - 6.14-2 +- Backport a column width calculation bugfix (#160760) + +* Fri Mar 25 2005 Miloslav Trmac - 6.14-1 +- Update to tcsh-6.14.00 + +* Sat Mar 5 2005 Miloslav Trmac - 6.13-13 +- Rebuild with gcc 4 + +* Fri Feb 25 2005 Miloslav Trmac - 6.13-12 +- Don't ship the HTML documentation (generated from the man page, contains + also a copy of the man page) + +* Sun Jan 30 2005 Miloslav Trmac - 6.13-11 +- Fix the previous patch, handle a missed case (#146330) + +* Sat Jan 15 2005 Miloslav Trmac - 6.13-10 +- Avoid reusing iconv_catgets' static buffer (#145177, #145195) + +* Tue Sep 21 2004 Miloslav Trmac - 6.13-9 +- Fix invalid argument to xprintf () (#133129) + +* Wed Sep 15 2004 Miloslav Trmac - 6.13-8 +- Fix $HOSTTYPE and $MACHTYPE for ppc64 and s390x, this time for sure + +* Wed Sep 15 2004 Miloslav Trmac - 6.13-7 +- Define $HOSTTYPE and $MACHTYPE for ppc64 and s390 (#115531), + I hope that finally covers all architectures. + +* Wed Sep 15 2004 Miloslav Trmac - 6.13-6 +- Define $HOSTTYPE and $MACHTYPE also on IA-64 and s390x (#115531) +- Don't close sockets to avoid file descriptor conflits with nss_ldap (#112453) + +* Tue Sep 14 2004 Miloslav Trmac - 6.13-5 +- Fix HTML documentation generation, second attempt (#60664) +- Set dspmbyte using nl_langinfo(CODESET) if possible, should cover all + cases where lang.csh was correctly setting dspmbyte (#89549) + +* Wed Sep 8 2004 Miloslav Trmac - 6.13-4 +- Remove unneeded patches + +* Thu Aug 26 2004 Miloslav Trmac - 6.13-3 +- Check for SIGWINCH more often (from tcsh-6.13.01, #130941) + +* Wed Aug 18 2004 Miloslav Trmac - 6.13-2 +- Make comparisons for ranges in bracket expressions symmetric (#59493) +- Run perl2html with LC_ALL=C to workaround what seems to be a perl bug + (#60664) +- Define $HOSTTYPE and $MACHTYPE on x86_64 (#115531) +- Fix setting of O_LARGEFILE (#122558) + +* Tue Aug 17 2004 Miloslav Trmac - 6.13-1 +- Update to tcsh-6.13.00 +- Fix charset headers in some of the translations +- Convert translated messages to LC_CTYPE locale +- Fix automatic dspmbyte setting + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Tue Feb 10 2004 Nalin Dahyabhai 6.12-7 +- remove declaration of setpgrp() which conflicts with libc's (#115185) + +* Fri Nov 21 2003 Nalin Dahyabhai 6.12-6 +- add missing buildprereqs on groff, libtermcap-devel (#110599) + +* Tue Jul 8 2003 Nalin Dahyabhai +- update URL + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Thu Dec 05 2002 Elliot Lee 6.12-3 +- Merge changes from 8.0-hammer + +* Tue Nov 19 2002 Nalin Dahyabhai 6.12-3 +- rebuild + +* Thu Aug 08 2002 Phil Knirsch 6.12-2 +- Added csh.1 symlink to manpages. + +* Tue Jun 4 2002 Nalin Dahyabhai 6.11-1 +- update to 6.11 + +* Thu May 23 2002 Tim Powers +- automated rebuild + +* Thu Jan 31 2002 Bill Nottingham +- rebuild in new env + +* Sun Jun 24 2001 Elliot Lee +- Bump release + rebuild. + +* Wed Mar 28 2001 Akira TAGOH 6.10-5 +- Fixed check locale. + +* Tue Feb 6 2001 Adrian Havill +- use instead of for pickier lib (#25935) +- allow arguments for login shells (#19926) + +* Thu Nov 30 2000 Nalin Dahyabhai +- update to 6.10.00 to fix here-script vulnerability + +* Mon Sep 18 2000 Adrian Havill +- fix catalog locale dirname for Japanese + +* Thu Jun 15 2000 Jeff Johnson +- FHS packaging. +- add locale support (#10345). + +* Tue Mar 7 2000 Jeff Johnson +- rebuild for sparc baud rates > 38400. + +* Mon Jan 31 2000 Cristian Gafton +- rebuild to fix dependencies + +* Thu Jan 27 2000 Jeff Johnson +- append entries to spanking new /etc/shells. + +* Mon Jan 10 2000 Jeff Johnson +- update to 6.09. +- fix strcoll oddness (#6000, #6244, #6398). + +* Sat Sep 25 1999 Michael K. Johnson +- fix $shell by using --bindir + +* Sun Mar 21 1999 Cristian Gafton +- auto rebuild in the new build environment (release 5) + +* Wed Feb 24 1999 Cristian Gafton +- patch for using PATH_MAX instead of some silly internal #defines for + variables that handle filenames. + +* Fri Nov 6 1998 Jeff Johnson +- update to 6.08.00. + +* Fri Oct 02 1998 Cristian Gafton +- upgraded to 6.07.09 from the freebsd +- security fix + +* Wed Aug 5 1998 Jeff Johnson +- use -ltermcap so that /bin/tcsh can be used in single user mode w/o /usr. +- update url's + +* Mon Apr 27 1998 Prospector System +- translations modified for de, fr, tr + +* Tue Oct 21 1997 Cristian Gafton +- updated to 6.07; added BuildRoot +- cleaned up the spec file; fixed source url + +* Wed Sep 03 1997 Erik Troan +- added termios hacks for new glibc +- added /bin/csh to file list + +* Fri Jun 13 1997 Erik Troan +- built against glibc + +* Fri Feb 07 1997 Erik Troan +- Provides csh, adds and removes /bin/csh from /etc/shells if csh package +isn't installed.