import tcsh-6.20.00-9.el8

This commit is contained in:
CentOS Sources 2019-05-07 06:32:35 -04:00 committed by Andrew Lukoshko
commit 182276fb31
15 changed files with 1920 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
SOURCES/tcsh-6.20.00.tar.gz

1
.tcsh.metadata Normal file
View File

@ -0,0 +1 @@
a77d68434cc4bed731a46a39b9e01523e3a1e98c SOURCES/tcsh-6.20.00.tar.gz

View File

@ -0,0 +1,25 @@
From 8235759d3096654ff2f5c7118bd23f40b7dcbc8f Mon Sep 17 00:00:00 2001
From: christos <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

View File

@ -0,0 +1,157 @@
From b27c203ff06a33b9fa6c0f2e14a8825eb3f672da Mon Sep 17 00:00:00 2001
From: christos <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 <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

View File

@ -0,0 +1,49 @@
From 75ccc1197d63d015348b9113ed8d9f7abace567e Mon Sep 17 00:00:00 2001
From: christos <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

View File

@ -0,0 +1,26 @@
From 6a542dc4fb2ba26518a47e9b3a9bcd6a91b94596 Mon Sep 17 00:00:00 2001
From: christos <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

View File

@ -0,0 +1,28 @@
From 2309245d647853442f6a5450130f56499698176e Mon Sep 17 00:00:00 2001
From: Christos Zoulas <christos@zoulas.com>
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

View File

@ -0,0 +1,69 @@
From 8016b940223e73ec5ba031c4c8451e57efa9d37b Mon Sep 17 00:00:00 2001
From: Kimmo Suominen <kimmo@suominen.com>
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 <kimmo@suominen.com>
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 <kimmo@suominen.com>
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

View File

@ -0,0 +1,480 @@
From f605e04aec4ff608c045a40ae8df1bb6bae21aa5 Mon Sep 17 00:00:00 2001
From: Kimmo Suominen <kimmo@suominen.com>
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 <krotz@honey.rtsg.mot.com>
-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 <kimmo@suominen.com>
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 <kimmo@suominen.com>
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 <kimmo@suominen.com>
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 <kimmo@suominen.com>
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

View File

@ -0,0 +1,60 @@
From 7fd9ae6ddd1dc726c354f5ed7f8104b1a6e35d93 Mon Sep 17 00:00:00 2001
From: Kimmo Suominen <kimmo@suominen.com>
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 <kimmo@suominen.com>
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

View File

@ -0,0 +1,43 @@
From 8e6dfd53321a0b0047f7d75db21a946c166c600b Mon Sep 17 00:00:00 2001
From: Christos Zoulas <christos@zoulas.com>
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 <meta>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

View File

@ -0,0 +1,39 @@
From 2ad4fc1705893207598ed5cd21713ddf3f17bba0 Mon Sep 17 00:00:00 2001
From: zoulasc <christos@zoulas.com>
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

View File

@ -0,0 +1,26 @@
From 0d6172b290175b667dc2d83528f42b435827fd40 Mon Sep 17 00:00:00 2001
From: "David Kaspar [Dee'Kej]" <dkaspar@redhat.com>
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

View File

@ -0,0 +1,143 @@
From c4ec43cec37ea82af6c0ba6bb0a3e8c3e85411ce Mon Sep 17 00:00:00 2001
From: Pavel Raiskup <praiskup@redhat.com>
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

773
SPECS/tcsh.spec Normal file
View File

@ -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 <releng@fedoraproject.org> - 6.20.00-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sat Jan 20 2018 Björn Esser <besser82@fedoraproject.org> - 6.20.00-8
- Rebuilt for switch to libxcrypt
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 6.20.00-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 6.20.00-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Tue Feb 28 2017 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 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 <releng@fedoraproject.org> - 6.20.00-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Mon Dec 5 2016 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 6.20.00-3
- Added tcsh-6.20.00-003-fix-out-of-bounds-read.patch
* Mon Nov 28 2016 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 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] <dkaspar@redhat.com> - 6.20.00-1
- Rebase to tcsh-6.20.00
* Tue Sep 6 2016 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 6.19.00-15
- Add a safeguard for installation on UsrMove enabled filesystem only
* Fri Aug 12 2016 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 6.19.00-14
- Move the COPYING file to correct location
* Mon Jul 18 2016 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 6.19.00-13
- Added tcsh-6.19.00-032-fix-multiline-prompt.patch (bug #1351056)
* Mon Jul 18 2016 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 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 <http://mx.gw.com/pipermail/tcsh-bugs/2016-June/001067.html> for more info.
* Tue May 31 2016 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 6.19.00-11
- Deprecated tcsh-6.19.00-tcsh_posix_status-deprecated.patch removed
* Sun May 29 2016 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 6.19.00-10
- Added 3 new testcases into testsuite.
* Fri May 27 2016 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 6.19.00-9
- Another regression in tcsh-6.19.00-026-quote-backslashes-properly.patch fixed, see:
<https://bugzilla.redhat.com/show_bug.cgi?id=1334751#c9>
- tcsh-6.19.00-029-do-not-print-jobs-to-stderr.patch added
* Mon May 16 2016 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 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] <dkaspar@redhat.com> - 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] <dkaspar@redhat.com> - 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 <releng@fedoraproject.org> - 6.19.00-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Jan 13 2016 Lubomir Rintel <lkundrak@v3.sk> - 6.19.00-04
- Fix build
* Tue Jun 16 2015 Fridolin Pokorny <fpokorny@redhat.com> - 6.19.00-03
- Add /bin/tcsh and /bin/csh to /etc/shells (#1229032)
* Thu May 28 2015 Fridolin Pokorny <fpokorny@redhat.com> - 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 <fpokorny@redhat.com> - 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 <praiskup@redhat.com> - 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 <praiskup@redhat.com> - 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 <rel-eng@lists.fedoraproject.org> - 6.18.01-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.18.01-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Thu Dec 19 2013 Pavel Raiskup <praiskup@redhat.com> - 6.18.01-9
- provide binaries in /bin for compatibility
* Thu Dec 19 2013 Jaromir Koncicky <jkoncick@redhat.com> - 6.18.01-8
- Move binaries from /bin to /usr/bin
* Thu Dec 19 2013 Jaromir Koncicky <jkoncick@redhat.com> - 6.18.01-7
- Revert history handling in loops
(Backported resolution of RHEL bug #814069)
* Wed Dec 18 2013 Jaromir Koncicky <jkoncick@redhat.com> - 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 <rel-eng@lists.fedoraproject.org> - 6.18.01-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Fri Jul 26 2013 Pavel Raiskup <praiskup@redhat.com> - 6.18.01-4
- fix rpmlint warnings
* Wed May 22 2013 Fridolin Pokorny <fpokorny@redhat.com> 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 <fpokorny@redhat.com> 6.18.01-2
- Removed repeated words in man
Resolves: #948884
* Fri Apr 05 2013 Fridolin Pokorny <fpokorny@redhat.com> 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 <fpokorny@redhat.com> 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 <rel-eng@lists.fedoraproject.org> - 6.18.00-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Wed Dec 12 2012 Roman Kollar <rkollar@redhat.com> 6.18.00-5
- Fix tcsh being interruptible while waiting for child process (#884937)
* Mon Oct 29 2012 Roman Kollar <rkollar@redhat.com> - 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 <orion@nwra.com> - 6.18.00-3
- Drop tcsh-6.18.00-history-file-locking.patch for now (bug 842851)
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.18.00-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Thu Mar 15 2012 Vojtech Vitek (V-Teq) <vvitek@redhat.com> - 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) <vvitek@redhat.com> - 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 <rel-eng@lists.fedoraproject.org> - 6.17-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Mon Oct 31 2011 Vojtech Vitek (V-Teq) <vvitek@redhat.com> - 6.17-17
- Fix minor man page spelling mistakes (#675137)
* Thu Oct 27 2011 Vojtech Vitek (V-Teq) <vvitek@redhat.com> - 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) <vvitek@redhat.com> - 6.17-15
- Avoid infinite loop pendjob()-xprintf() when stdout is closed
Resolves: #690356
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.17-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Fri Jan 28 2011 Vojtech Vitek (V-Teq) <vvitek@redhat.com> - 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) <vvitek@redhat.com> - 6.17-12
- Fix error message on exit
Resolves: #672810
* Mon Jan 24 2011 Vojtech Vitek (V-Teq) <vvitek@redhat.com> - 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) <vvitek@redhat.com> - 6.17-10
- Make wait builtin command interruptible
Resolves: #440465
- Fix incorrect $status value of pipelined commands
Resolves: #638955 (Patch by Tomas Smetana <tsmetana@redhat.com>)
* Wed Oct 6 2010 Vitezslav Crhonek <vcrhonek@redhat.com> - 6.17-9
- Remove fork when tcsh processes backquotes
* Wed Apr 14 2010 Vitezslav Crhonek <vcrhonek@redhat.com> - 6.17-8
- Fix testsuite
* Mon Mar 1 2010 Vitezslav Crhonek <vcrhonek@redhat.com> - 6.17-7
- Ship README file
* Tue Dec 15 2009 Vitezslav Crhonek <vcrhonek@redhat.com> - 6.17-6
- Fix tcsh obeys printexitvalue for back-ticks
* Wed Nov 4 2009 Vitezslav Crhonek <vcrhonek@redhat.com> - 6.17-5
- Fix few globbing problems
* Mon Oct 19 2009 Vitezslav Crhonek <vcrhonek@redhat.com> - 6.17-4
- Fix tcsh globbing causing bad automount
- Fix truncated history file after network crash
* Wed Aug 26 2009 Vitezslav Crhonek <vcrhonek@redhat.com> - 6.17-3
- Add new colorls variable
Resolves: #518808
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.17-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Mon Jul 20 2009 Vitezslav Crhonek <vcrhonek@redhat.com> - 6.17-1
- Update to tcsh-6.17.00
* Thu Apr 30 2009 Vitezslav Crhonek <vcrhonek@redhat.com> - 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 <vcrhonek@redhat.com> - 6.15-8
- Fix tcsh needs to know about new colorls variables
Resolves: #487783
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.15-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Wed Sep 3 2008 Vitezslav Crhonek <vcrhonek@redhat.com> - 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 <vcrhonek@redhat.com> - 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 <vcrhonek@redhat.com> - 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 <vcrhonek@redhat.com> - 6.15-3
- Fix Buildroot
* Fri Jan 18 2008 Vitezslav Crhonek <vcrhonek@redhat.com> - 6.15-2
- Rebuild
* Mon Aug 27 2007 Vitezslav Crhonek <vcrhonek@redhat.com> - 6.15-1
- Update to tcsh-6.15.00
- Fix license
- Add gettext-devel to BuildRequires (AM_ICONV)
* Wed Apr 25 2007 Vitezslav Crhonek <vcrhonek@redhat.com> - 6.14-16
- Fix floating exception in print_by_column() with unprintable characters
(#233525)
* Mon Feb 26 2007 Miloslav Trmac <mitr@redhat.com> - 6.14-15
- Fix License:
Related: #226483.
* Mon Feb 12 2007 Miloslav Trmac <mitr@redhat.com> - 6.14-14
- Link to libtinfo instead of libncurses
* Thu Nov 30 2006 Miloslav Trmac <mitr@redhat.com> - 6.14-13
- Link to ncurses instead of libtermcap
- Fix some rpmlint warnings
* Tue Sep 26 2006 Miloslav Trmac <mitr@redhat.com> - 6.14-12
- Fix error handling in tcsh-6.14.00-wide-seeks.patch
* Sat Sep 9 2006 Miloslav Trmac <mitr@redhat.com> - 6.14-11
- Fix an unlikely crash on startup (#188279)
* Wed Aug 16 2006 Miloslav Trmac <mitr@redhat.com> - 6.14-10
- Fix an uninitialized variable causing stack corruption (#197968)
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 6.14-9.1
- rebuild
* Mon Jul 10 2006 Miloslav Trmac <mitr@redhat.com> - 6.14-9
- Fix seeking over multibyte characters (#195972)
- Don't ship obsolete eight-bit.txt
* Thu Mar 23 2006 Miloslav Trmac <mitr@redhat.com> - 6.14-8
- Backport a patch to ignore LS_COLOR codes introduced in newer coreutils
(#186037)
* Sat Mar 18 2006 Miloslav Trmac <mitr@redhat.com> - 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 <jkeating@redhat.com> - 6.14-5.2.1
- bump again for double-long bug on ppc(64)
* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 6.14-5.2
- rebuilt for new gcc4.1 snapshot and glibc changes
* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
- rebuilt
* Fri Aug 5 2005 Miloslav Trmac <mitr@redhat.com> - 6.14-5
- Fix EOF handling in $< (#165095, patch by s_h_o_@hotmail.co.jp)
* Thu Jul 7 2005 Miloslav Trmac <mitr@redhat.com> - 6.14-3
- Fix -n (#162187)
* Mon Jun 20 2005 Miloslav Trmac <mitr@redhat.com> - 6.14-2
- Backport a column width calculation bugfix (#160760)
* Fri Mar 25 2005 Miloslav Trmac <mitr@redhat.com> - 6.14-1
- Update to tcsh-6.14.00
* Sat Mar 5 2005 Miloslav Trmac <mitr@redhat.com> - 6.13-13
- Rebuild with gcc 4
* Fri Feb 25 2005 Miloslav Trmac <mitr@redhat.com> - 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 <mitr@redhat.com> - 6.13-11
- Fix the previous patch, handle a missed case (#146330)
* Sat Jan 15 2005 Miloslav Trmac <mitr@redhat.com> - 6.13-10
- Avoid reusing iconv_catgets' static buffer (#145177, #145195)
* Tue Sep 21 2004 Miloslav Trmac <mitr@redhat.com> - 6.13-9
- Fix invalid argument to xprintf () (#133129)
* Wed Sep 15 2004 Miloslav Trmac <mitr@redhat.com> - 6.13-8
- Fix $HOSTTYPE and $MACHTYPE for ppc64 and s390x, this time for sure
* Wed Sep 15 2004 Miloslav Trmac <mitr@redhat.com> - 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 <mitr@redhat.com> - 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 <mitr@redhat.com> - 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 <mitr@redhat.com> - 6.13-4
- Remove unneeded patches
* Thu Aug 26 2004 Miloslav Trmac <mitr@redhat.com> - 6.13-3
- Check for SIGWINCH more often (from tcsh-6.13.01, #130941)
* Wed Aug 18 2004 Miloslav Trmac <mitr@redhat.com> - 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 <mitr@redhat.com> - 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 <sopwith@redhat.com>
- rebuilt
* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
- rebuilt
* Tue Feb 10 2004 Nalin Dahyabhai <nalin@redhat.com> 6.12-7
- remove declaration of setpgrp() which conflicts with libc's (#115185)
* Fri Nov 21 2003 Nalin Dahyabhai <nalin@redhat.com> 6.12-6
- add missing buildprereqs on groff, libtermcap-devel (#110599)
* Tue Jul 8 2003 Nalin Dahyabhai <nalin@redhat.com>
- update URL
* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
- rebuilt
* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
- rebuilt
* Thu Dec 05 2002 Elliot Lee <sopwith@redhat.com> 6.12-3
- Merge changes from 8.0-hammer
* Tue Nov 19 2002 Nalin Dahyabhai <nalin@redhat.com> 6.12-3
- rebuild
* Thu Aug 08 2002 Phil Knirsch <pknirsch@redhat.com> 6.12-2
- Added csh.1 symlink to manpages.
* Tue Jun 4 2002 Nalin Dahyabhai <nalin@redhat.com> 6.11-1
- update to 6.11
* Thu May 23 2002 Tim Powers <timp@redhat.com>
- automated rebuild
* Thu Jan 31 2002 Bill Nottingham <notting@redhat.com>
- rebuild in new env
* Sun Jun 24 2001 Elliot Lee <sopwith@redhat.com>
- Bump release + rebuild.
* Wed Mar 28 2001 Akira TAGOH <tagoh@redhat.com> 6.10-5
- Fixed check locale.
* Tue Feb 6 2001 Adrian Havill <havill@redhat.com>
- use <time.h> instead of <sys/time.h> for pickier lib (#25935)
- allow arguments for login shells (#19926)
* Thu Nov 30 2000 Nalin Dahyabhai <nalin@redhat.com>
- update to 6.10.00 to fix here-script vulnerability
* Mon Sep 18 2000 Adrian Havill <havill@redhat.com>
- fix catalog locale dirname for Japanese
* Thu Jun 15 2000 Jeff Johnson <jbj@redhat.com>
- FHS packaging.
- add locale support (#10345).
* Tue Mar 7 2000 Jeff Johnson <jbj@redhat.com>
- rebuild for sparc baud rates > 38400.
* Mon Jan 31 2000 Cristian Gafton <gafton@redhat.com>
- rebuild to fix dependencies
* Thu Jan 27 2000 Jeff Johnson <jbj@redhat.com>
- append entries to spanking new /etc/shells.
* Mon Jan 10 2000 Jeff Johnson <jbj@redhat.com>
- update to 6.09.
- fix strcoll oddness (#6000, #6244, #6398).
* Sat Sep 25 1999 Michael K. Johnson <johnsonm@redhat.com>
- fix $shell by using --bindir
* Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com>
- auto rebuild in the new build environment (release 5)
* Wed Feb 24 1999 Cristian Gafton <gafton@redhat.com>
- patch for using PATH_MAX instead of some silly internal #defines for
variables that handle filenames.
* Fri Nov 6 1998 Jeff Johnson <jbj@redhat.com>
- update to 6.08.00.
* Fri Oct 02 1998 Cristian Gafton <gafton@redhat.com>
- upgraded to 6.07.09 from the freebsd
- security fix
* Wed Aug 5 1998 Jeff Johnson <jbj@redhat.com>
- 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 <bugs@redhat.com>
- translations modified for de, fr, tr
* Tue Oct 21 1997 Cristian Gafton <gafton@redhat.com>
- updated to 6.07; added BuildRoot
- cleaned up the spec file; fixed source url
* Wed Sep 03 1997 Erik Troan <ewt@redhat.com>
- added termios hacks for new glibc
- added /bin/csh to file list
* Fri Jun 13 1997 Erik Troan <ewt@redhat.com>
- built against glibc
* Fri Feb 07 1997 Erik Troan <ewt@redhat.com>
- Provides csh, adds and removes /bin/csh from /etc/shells if csh package
isn't installed.