summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Raiskup <praiskup@redhat.com>2014-07-28 15:51:13 +0200
committerPavel Raiskup <praiskup@redhat.com>2014-07-28 16:00:39 +0200
commitde6fcbdb464b70b4b826bf9716e550e5c4a08c0d (patch)
treed1af2b87ca1ee88fb898e8d6953db5d83815b139
parentb6eaa4ebf20e0314f16514a1d36e2e7ade46718c (diff)
downloadtcsh-rebase-6.19.00-de6fcbdb464b70b4b826bf9716e550e5c4a08c0d.tar.gz
tcsh-rebase-6.19.00-de6fcbdb464b70b4b826bf9716e550e5c4a08c0d.tar.xz
tcsh-rebase-6.19.00-de6fcbdb464b70b4b826bf9716e550e5c4a08c0d.zip
rebase: to beta version (testing purposes only)
Some changes in packaging: - %patch ~> %autosetup (git format-patch diff format) - using upstream version of history file locking - upstream testsuite enabled Version: 6.18.02-1
-rw-r--r--tcsh-6.14.00-syntax.patch37
-rw-r--r--tcsh-6.14.00-unprintable.patch13
-rw-r--r--tcsh-6.15.00-hist-sub.patch12
-rw-r--r--tcsh-6.17.00-manpage-spelling.patch36
-rw-r--r--tcsh-6.18.01-repeated-words-man.patch21
-rw-r--r--tcsh-6.18.02-closem.patch (renamed from tcsh-6.15.00-closem.patch)25
-rw-r--r--tcsh-6.18.02-elf-interpreter.patch (renamed from tcsh-6.18.01-elf-interpreter.patch)54
-rw-r--r--tcsh-6.18.02-fixgencat.patch42
-rw-r--r--tcsh-6.18.02-hist-sub.patch26
-rw-r--r--tcsh-6.18.02-memoryuse.patch (renamed from tcsh-6.13.00-memoryuse.patch)14
-rw-r--r--tcsh-6.18.02-order.patch (renamed from tcsh-6.14.00-order.patch)26
-rw-r--r--tcsh-6.18.02-posix-exit-status-value.patch (renamed from tcsh-6.18.01-posix-exit-status-value.patch)41
-rw-r--r--tcsh-6.18.02-syntax.patch60
-rw-r--r--tcsh-6.18.02-tinfo.patch (renamed from tcsh-6.14.00-tinfo.patch)21
-rw-r--r--tcsh-6.18.02-unprintable.patch28
-rw-r--r--tcsh.spec69
16 files changed, 311 insertions, 214 deletions
diff --git a/tcsh-6.14.00-syntax.patch b/tcsh-6.14.00-syntax.patch
deleted file mode 100644
index 01735d3..0000000
--- a/tcsh-6.14.00-syntax.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff -up tcsh-6.17.00/sh.func.c_old tcsh-6.17.00/sh.func.c
---- tcsh-6.17.00/sh.func.c_old 2009-07-20 14:54:16.000000000 +0200
-+++ tcsh-6.17.00/sh.func.c 2009-07-20 14:55:34.000000000 +0200
-@@ -753,8 +753,6 @@ search(int type, int level, Char *goal)
- {
- struct Strbuf word = Strbuf_INIT;
- Char *cp;
-- struct whyle *wp;
-- int wlevel = 0;
- struct wordent *histent = NULL, *ohistent = NULL;
-
- Stype = type;
-@@ -811,24 +809,13 @@ search(int type, int level, Char *goal)
-
- case TC_FOREACH:
- case TC_WHILE:
-- wlevel++;
- if (type == TC_BREAK)
- level++;
- break;
-
- case TC_END:
-- if (type == TC_BRKSW) {
-- if (wlevel == 0) {
-- wp = whyles;
-- if (wp) {
-- whyles = wp->w_next;
-- wpfree(wp);
-- }
-- }
-- }
- if (type == TC_BREAK)
- level--;
-- wlevel--;
- break;
-
- case TC_SWITCH:
diff --git a/tcsh-6.14.00-unprintable.patch b/tcsh-6.14.00-unprintable.patch
deleted file mode 100644
index 9d49458..0000000
--- a/tcsh-6.14.00-unprintable.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -up tcsh-6.15.00/tw.parse.c.unprintable tcsh-6.15.00/tw.parse.c
---- tcsh-6.15.00/tw.parse.c.unprintable 2007-03-01 22:21:42.000000000 +0100
-+++ tcsh-6.15.00/tw.parse.c 2008-08-29 12:28:56.000000000 +0200
-@@ -2119,7 +2119,8 @@ print_by_column(Char *dir, Char *items[]
- (Strchr(val, 'x') != NULL);
-
- for (i = 0; i < count; i++) { /* find widest string */
-- maxwidth = max(maxwidth, (unsigned int) NLSStringWidth(items[i]));
-+ if (NLSStringWidth(items[i]) != -1)
-+ maxwidth = max(maxwidth, (unsigned int) NLSStringWidth(items[i]));
- }
-
- maxwidth += no_file_suffix ? 1 : 2; /* for the file tag and space */
diff --git a/tcsh-6.15.00-hist-sub.patch b/tcsh-6.15.00-hist-sub.patch
deleted file mode 100644
index 6abf000..0000000
--- a/tcsh-6.15.00-hist-sub.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up tcsh-6.15.00/tcsh.man.hist-sub tcsh-6.15.00/tcsh.man
---- tcsh-6.15.00/tcsh.man.hist-sub 2007-03-03 21:01:26.000000000 +0100
-+++ tcsh-6.15.00/tcsh.man 2008-08-29 12:29:47.000000000 +0200
-@@ -1035,7 +1035,7 @@ Substitute \fIl\fR for \fIr\fR.
- \fIl\fR is simply a string like \fIr\fR, not a regular expression as in
- the eponymous \fIed\fR(1) command.
- Any character may be used as the delimiter in place of `/';
--a `\\' can be used to quote the delimiter inside \fIl\fR and \fIr\fR.
-+a `\\' can be used to quote the delimiter expect `(', `)', `|' and `>' inside \fIl\fR and \fIr\fR.
- The character `&' in the \fIr\fR is replaced by \fIl\fR; `\\' also quotes `&'.
- If \fIl\fR is empty (``''), the \fIl\fR from a previous substitution or the
- \fIs\fR from a previous search or event number in event specification is used.
diff --git a/tcsh-6.17.00-manpage-spelling.patch b/tcsh-6.17.00-manpage-spelling.patch
deleted file mode 100644
index 76026a6..0000000
--- a/tcsh-6.17.00-manpage-spelling.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 76da82e1683c7b7f000081c4759ff4b742bf95f0 Mon Sep 17 00:00:00 2001
-From: "Vojtech Vitek (V-Teq)" <vvitek@redhat.com>
-Date: Sat, 29 Oct 2011 21:18:34 +0200
-Subject: [PATCH] Fix minor man page spelling mistakes
-
-Changes proposed by John Bradshaw.
-rhbz#675137
----
- tcsh.man | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/tcsh.man b/tcsh.man
-index e44e2c2..309071c 100644
---- a/tcsh.man
-+++ b/tcsh.man
-@@ -1718,7 +1718,7 @@ rather than to the file to which the link points (+) *
- see if it has the specified relationship to the real user. If \fIfile\fR
- does not exist or is inaccessible or, for the operators indicated by `*',
- if the specified file type does not exist on the current system,
--then all enquiries return false, i.e., `0'.
-+then all inquiries return false, i.e., `0'.
- .PP
- These operators may be combined for conciseness: `\-\fIxy file\fR' is
- equivalent to `\-\fIx file\fR && \-\fIy file\fR'. (+) For example, `\-fx' is true
-@@ -3555,7 +3555,7 @@ whenever the environment variable changes the shell changes the corresponding
- shell variable to match (unless the shell variable is read-only) and vice
- versa. Note that although \fBcwd\fR and \fBPWD\fR have identical meanings, they
- are not synchronized in this manner, and that the shell automatically
--interconverts the different formats of \fBpath\fR and \fBPATH\fR.
-+converts between the different formats of \fBpath\fR and \fBPATH\fR.
- .TP 8
- .B addsuffix \fR(+)
- If set, filename completion adds `/' to the end of directories and a space
---
-1.7.6.2
-
diff --git a/tcsh-6.18.01-repeated-words-man.patch b/tcsh-6.18.01-repeated-words-man.patch
deleted file mode 100644
index e27e0d4..0000000
--- a/tcsh-6.18.01-repeated-words-man.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -upr tcsh-6.18.01_orig/tcsh.man tcsh-6.18.01_work/tcsh.man
---- tcsh-6.18.01_orig/tcsh.man 2013-04-05 16:22:07.299927566 +0200
-+++ tcsh-6.18.01_work/tcsh.man 2013-04-05 16:22:37.885019969 +0200
-@@ -1401,7 +1401,7 @@ The \fBglobstar\fR shell variable can be
- a file glob pattern that matches any string of characters including `/',
- recursively traversing any existing sub-directories. For example,
- `ls **.c' will list all the .c files in the current directory tree.
--If used by itself, it will match match zero or more sub-directories
-+If used by itself, it will match zero or more sub-directories
- (e.g. `ls /usr/include/**/time.h' will list any file named `time.h'
- in the /usr/include directory tree; `ls /usr/include/**time.h' will match
- any file in the /usr/include directory tree ending in `time.h'; and
-@@ -3887,7 +3887,7 @@ with `.' except for `.' and `..'
- If set, the `**' and `***' file glob patterns will match any string of
- characters including `/' traversing any existing sub-directories. (e.g.
- `ls **.c' will list all the .c files in the current directory tree).
--If used by itself, it will match match zero or more sub-directories
-+If used by itself, it will match zero or more sub-directories
- (e.g. `ls /usr/include/**/time.h' will list any file named `time.h'
- in the /usr/include directory tree; whereas `ls /usr/include/**time.h'
- will match any file in the /usr/include directory tree ending in `time.h').
diff --git a/tcsh-6.15.00-closem.patch b/tcsh-6.18.02-closem.patch
index 3a3da89..b74aa04 100644
--- a/tcsh-6.15.00-closem.patch
+++ b/tcsh-6.18.02-closem.patch
@@ -1,7 +1,19 @@
-diff -up tcsh-6.15.00/sh.misc.c.closem tcsh-6.15.00/sh.misc.c
---- tcsh-6.15.00/sh.misc.c.closem 2006-10-14 19:57:21.000000000 +0200
-+++ tcsh-6.15.00/sh.misc.c 2008-08-29 12:26:41.000000000 +0200
-@@ -255,6 +255,7 @@ void
+From 01f488c11ec1666c90a81ae2f968f04a9419b186 Mon Sep 17 00:00:00 2001
+From: vcrhonek <vcrhonek@fedoraproject.org>
+Date: Thu, 24 Jul 2014 15:38:21 +0200
+Subject: [PATCH 1/8] do not close sockets
+
+orig dist-git commit: f02674e96a7888a7322611b45f6b63a1f5db0fef
+
+---
+ sh.misc.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/sh.misc.c b/sh.misc.c
+index 32fc47d..a51dc76 100644
+--- a/sh.misc.c
++++ b/sh.misc.c
+@@ -257,6 +257,7 @@ void
closem(void)
{
int f, num_files;
@@ -9,7 +21,7 @@ diff -up tcsh-6.15.00/sh.misc.c.closem tcsh-6.15.00/sh.misc.c
#ifdef NLS_BUGS
#ifdef NLS_CATALOGS
-@@ -272,6 +273,16 @@ closem(void)
+@@ -274,6 +275,16 @@ closem(void)
#ifdef MALLOC_TRACE
&& f != 25
#endif /* MALLOC_TRACE */
@@ -26,3 +38,6 @@ diff -up tcsh-6.15.00/sh.misc.c.closem tcsh-6.15.00/sh.misc.c
)
{
xclose(f);
+--
+1.9.3
+
diff --git a/tcsh-6.18.01-elf-interpreter.patch b/tcsh-6.18.02-elf-interpreter.patch
index 571f003..b1ee117 100644
--- a/tcsh-6.18.01-elf-interpreter.patch
+++ b/tcsh-6.18.02-elf-interpreter.patch
@@ -1,6 +1,22 @@
-diff -upr tcsh-6.18.01_orig/config.h.in tcsh-6.18.01_work/config.h.in
---- tcsh-6.18.01_orig/config.h.in 2013-04-23 14:10:52.181655679 +0200
-+++ tcsh-6.18.01_work/config.h.in 2013-04-23 14:14:33.715035808 +0200
+From df1e58586f48f124079fe81ba1361e12cef2eb1c Mon Sep 17 00:00:00 2001
+From: Fridolin Pokorny <fpokorny@redhat.com>
+Date: Fri, 25 Jul 2014 08:52:25 +0200
+Subject: [PATCH 7/8] Added tcsh-6.18.01-elf-interpreter.patch to report
+ missing ELF interpreter
+
+Resolves: #711066
+
+---
+ config.h.in | 6 +++
+ configure.ac | 5 ++-
+ sh.err.c | 4 +-
+ sh.exec.c | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 152 insertions(+), 3 deletions(-)
+
+diff --git a/config.h.in b/config.h.in
+index 15c916a..0f3a64d 100644
+--- a/config.h.in
++++ b/config.h.in
@@ -36,6 +36,9 @@
/* Define to 1 if you have the `dup2' function. */
#undef HAVE_DUP2
@@ -21,10 +37,11 @@ diff -upr tcsh-6.18.01_orig/config.h.in tcsh-6.18.01_work/config.h.in
/* Define to 1 if you have the `sbrk' function. */
#undef HAVE_SBRK
-diff -upr tcsh-6.18.01_orig/configure.in tcsh-6.18.01_work/configure.in
---- tcsh-6.18.01_orig/configure.in 2013-04-23 14:10:52.157655645 +0200
-+++ tcsh-6.18.01_work/configure.in 2013-04-23 14:13:53.226958044 +0200
-@@ -306,7 +306,7 @@ AC_SEARCH_LIBS(catgets, catgets)
+diff --git a/configure.ac b/configure.ac
+index c6f9f1a..2d2868f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -316,7 +316,7 @@ AC_SEARCH_LIBS(catgets, catgets)
AM_ICONV
dnl Checks for header files
@@ -33,7 +50,7 @@ diff -upr tcsh-6.18.01_orig/configure.in tcsh-6.18.01_work/configure.in
[shadow.h stdint.h utmp.h utmpx.h])
AC_CHECK_HEADERS([wchar.h],
[AC_CHECK_SIZEOF([wchar_t], [], [dnl
-@@ -388,7 +388,8 @@ AC_CHECK_FUNC([setlocale], [have_setloca
+@@ -398,7 +398,8 @@ AC_CHECK_FUNC([setlocale], [have_setlocale=yes], [have_setlocale=no])
AC_CHECK_FUNC([catgets], [have_catgets=yes], [have_catgets=no])
AC_CHECK_FUNCS([dup2 getauthid getcwd gethostname getpwent] dnl
[getutent getutxent mallinfo memmove memset mkstemp nice] dnl
@@ -43,10 +60,11 @@ diff -upr tcsh-6.18.01_orig/configure.in tcsh-6.18.01_work/configure.in
AC_FUNC_GETPGRP
AC_FUNC_MBRTOWC
if test "x${cross_compiling}" != xyes ; then
-diff -upr tcsh-6.18.01_orig/sh.err.c tcsh-6.18.01_work/sh.err.c
---- tcsh-6.18.01_orig/sh.err.c 2013-04-23 14:10:52.160655649 +0200
-+++ tcsh-6.18.01_work/sh.err.c 2013-04-23 14:15:33.347155943 +0200
-@@ -189,7 +189,8 @@ char *seterr = NULL; /* Holds last err
+diff --git a/sh.err.c b/sh.err.c
+index e157d6a..d39111b 100644
+--- a/sh.err.c
++++ b/sh.err.c
+@@ -189,7 +189,8 @@ char *seterr = NULL; /* Holds last error if there was one */
#define ERR_INVALID 133
#define ERR_BADCOLORVAR 134
#define ERR_EOF 135
@@ -64,10 +82,11 @@ diff -upr tcsh-6.18.01_orig/sh.err.c tcsh-6.18.01_work/sh.err.c
}
/* Cleanup data. */
-diff -upr tcsh-6.18.01_orig/sh.exec.c tcsh-6.18.01_work/sh.exec.c
---- tcsh-6.18.01_orig/sh.exec.c 2013-04-23 14:10:52.156655643 +0200
-+++ tcsh-6.18.01_work/sh.exec.c 2013-04-23 14:35:43.561578622 +0200
-@@ -40,6 +40,10 @@ RCSID("$tcsh: sh.exec.c,v 3.79 2011/02/2
+diff --git a/sh.exec.c b/sh.exec.c
+index 14f9445..13a3cdf 100644
+--- a/sh.exec.c
++++ b/sh.exec.c
+@@ -40,6 +40,10 @@ RCSID("$tcsh: sh.exec.c,v 3.80 2014/07/11 14:57:55 christos Exp $")
#include <nt.const.h>
#endif /*WINNT_NATIVE*/
@@ -221,3 +240,6 @@ diff -upr tcsh-6.18.01_orig/sh.exec.c tcsh-6.18.01_work/sh.exec.c
break;
default:
+--
+1.9.3
+
diff --git a/tcsh-6.18.02-fixgencat.patch b/tcsh-6.18.02-fixgencat.patch
new file mode 100644
index 0000000..0fa4bfb
--- /dev/null
+++ b/tcsh-6.18.02-fixgencat.patch
@@ -0,0 +1,42 @@
+From 8823bf92219d04aa0934abab530fdcf6f18b06bb Mon Sep 17 00:00:00 2001
+From: Pavel Raiskup <praiskup@redhat.com>
+Date: Fri, 25 Jul 2014 15:10:50 +0200
+Subject: [PATCH] fix gencat wrapper for LANG=C
+
+Sorting sets including 'charset' file caused that the file was on
+concatenated as the last one which causes build fail when current
+locale charset is non-utf8.
+
+Also avoid generating temporary files for security reasons.
+---
+ nls/catgen | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/nls/catgen b/nls/catgen
+index 40e652f..f5f0313 100755
+--- a/nls/catgen
++++ b/nls/catgen
+@@ -1,7 +1,5 @@
+ #!/bin/sh
+ # Wrapper for gencat
+-TMP=/tmp/catgen.$$
+-trap "rm -f $TMP" 0 1 2 3 15
+
+ sortit() {
+ awk '/^\$set/ {print $2, FILENAME}' "$@" | sort -n | cut -d ' ' -f 2
+@@ -11,7 +9,9 @@ GENCAT="$1"
+ shift
+ OUT="$1"
+ shift
+-cat $(sortit "$@") > "$TMP"
++CHARSET="$1"
++shift
+
+-echo "$(basename "$OUT" .cat)"
+-"${GENCAT}" "$OUT" "$TMP"
++echo " gencat $OUT"
++cat $CHARSET $(sortit "$@") | "${GENCAT}" "$OUT" -
++exit 0
+--
+1.9.3
+
diff --git a/tcsh-6.18.02-hist-sub.patch b/tcsh-6.18.02-hist-sub.patch
new file mode 100644
index 0000000..4d43ca5
--- /dev/null
+++ b/tcsh-6.18.02-hist-sub.patch
@@ -0,0 +1,26 @@
+From 06fffcb267c34a7049078d113005f1cce4f1766f Mon Sep 17 00:00:00 2001
+From: Vitezslav Crhonek <vcrhonek@redhat.com>
+Date: Mon, 28 Jul 2014 13:27:16 +0200
+Subject: [PATCH] Fix '\' can not be used to quote all delimiters
+
+Related: #435421
+---
+ tcsh.man | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tcsh.man b/tcsh.man
+index 94de311..6a7bd48 100644
+--- a/tcsh.man
++++ b/tcsh.man
+@@ -1047,7 +1047,7 @@ Substitute \fIl\fR for \fIr\fR.
+ \fIl\fR is simply a string like \fIr\fR, not a regular expression as in
+ the eponymous \fIed\fR(1) command.
+ Any character may be used as the delimiter in place of `/';
+-a `\e' can be used to quote the delimiter inside \fIl\fR and \fIr\fR.
++a `\e' can be used to quote the delimiter expect `(', `)', `|' and `>' inside \fIl\fR and \fIr\fR.
+ The character `&' in the \fIr\fR is replaced by \fIl\fR; `\e' also quotes `&'.
+ If \fIl\fR is empty (``''), the \fIl\fR from a previous substitution or the
+ \fIs\fR from a previous search or event number in event specification is used.
+--
+1.9.3
+
diff --git a/tcsh-6.13.00-memoryuse.patch b/tcsh-6.18.02-memoryuse.patch
index e78cda3..4fca155 100644
--- a/tcsh-6.13.00-memoryuse.patch
+++ b/tcsh-6.18.02-memoryuse.patch
@@ -1,18 +1,18 @@
-From 4c3740ae5bb48c187f66655f1cddcb55f43566b1 Mon Sep 17 00:00:00 2001
+From 98c8c0f15673523cfb0e2d26d04b58e445f185e8 Mon Sep 17 00:00:00 2001
From: "Vojtech Vitek (V-Teq)" <vvitek@redhat.com>
Date: Thu, 15 Mar 2012 02:21:37 +0100
-Subject: [PATCH] Add memoryuse note in manpage regarding kernel 2.6 and
+Subject: [PATCH 5/8] Add memoryuse note in manpage regarding kernel 2.6 and
higher
---
- tcsh.man | 3 ++-
- 1 files changed, 2 insertions(+), 1 deletions(-)
+ tcsh.man | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tcsh.man b/tcsh.man
-index 8c6c9e1..b0ea99f 100644
+index cea5d45..91f6b93 100644
--- a/tcsh.man
+++ b/tcsh.man
-@@ -2941,7 +2941,8 @@ the size of the largest core dump that will be created
+@@ -2944,7 +2944,8 @@ the size of the largest core dump that will be created
.TP
\fImemoryuse\fR
the maximum amount of physical memory a process
@@ -23,5 +23,5 @@ index 8c6c9e1..b0ea99f 100644
\fIvmemoryuse\fR
the maximum amount of virtual memory a process
--
-1.7.6.5
+1.9.3
diff --git a/tcsh-6.14.00-order.patch b/tcsh-6.18.02-order.patch
index 7bbbe8c..b4fc0fa 100644
--- a/tcsh-6.14.00-order.patch
+++ b/tcsh-6.18.02-order.patch
@@ -1,14 +1,28 @@
-diff -up tcsh-6.15.00/tcsh.man.order tcsh-6.15.00/tcsh.man
---- tcsh-6.15.00/tcsh.man.order 2008-09-03 12:30:44.000000000 +0200
-+++ tcsh-6.15.00/tcsh.man 2008-09-03 12:30:44.000000000 +0200
-@@ -1614,7 +1614,9 @@ They include
+From 2f2cdbb8e1f43b7dcc5a0d56ac19909f11f3ccad Mon Sep 17 00:00:00 2001
+From: vcrhonek <vcrhonek@fedoraproject.org>
+Date: Fri, 25 Jul 2014 08:40:59 +0200
+Subject: [PATCH 6/8] Fix calculation order of operators description in tcsh
+ manpage
+
+---
+ tcsh.man | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/tcsh.man b/tcsh.man
+index 91f6b93..94de311 100644
+--- a/tcsh.man
++++ b/tcsh.man
+@@ -1645,7 +1645,9 @@ They include
.PP
Here the precedence increases to the right, `==' `!=' `=~' and `!~', `<='
`>=' `<' and `>', `<<' and `>>', `+' and `\-', `*' `/' and `%' being, in
-groups, at the same level. The `==' `!=' `=~' and `!~' operators compare
-+groups, at the same level. When multiple operators which have same precedence
-+are used in one expression, calculation must be done from operator of right
++groups, at the same level. When multiple operators which have same precedence
++are used in one expression, calculation must be done from operator of right
+side. The `==' `!=' `=~' and `!~' operators compare
their arguments as strings; all others operate on numbers. The operators
`=~' and `!~' are like `!=' and `==' except that the right hand side is a
glob-pattern (see \fBFilename substitution\fR) against which the left hand
+--
+1.9.3
+
diff --git a/tcsh-6.18.01-posix-exit-status-value.patch b/tcsh-6.18.02-posix-exit-status-value.patch
index 616b9a3..581e825 100644
--- a/tcsh-6.18.01-posix-exit-status-value.patch
+++ b/tcsh-6.18.02-posix-exit-status-value.patch
@@ -1,8 +1,24 @@
+From cf6b60106ad8cf3e058cda48249d6379dab3a846 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jarom=C3=ADr=20Kon=C4=8Dick=C3=BD?= <jkoncick@redhat.com>
+Date: Fri, 25 Jul 2014 11:41:22 +0200
+Subject: [PATCH 8/8] Changed 'anyerror' variable to 'tcsh_posix_status'
+
+(with opposite meaning)
+
+---
+ sh.c | 2 --
+ sh.h | 2 +-
+ sh.proc.c | 6 +++---
+ sh.set.c | 8 ++++----
+ tc.const.c | 2 +-
+ tcsh.man | 12 ++++--------
+ 6 files changed, 13 insertions(+), 19 deletions(-)
+
diff --git a/sh.c b/sh.c
-index f897317..322a5c6 100644
+index 518d610..a9235b0 100644
--- a/sh.c
+++ b/sh.c
-@@ -351,8 +351,6 @@ main(int argc, char **argv)
+@@ -350,8 +350,6 @@ main(int argc, char **argv)
PRCHROOT = '#'; /* likewise for root */
word_chars = STR_WORD_CHARS;
bslash_quote = 0; /* PWP: do tcsh-style backslash quoting? */
@@ -12,10 +28,10 @@ index f897317..322a5c6 100644
/* Default history size to 100 */
setcopy(STRhistory, str2short("100"), VAR_READWRITE);
diff --git a/sh.h b/sh.h
-index 4e3f13c..7d31db9 100644
+index 503da25..273751a 100644
--- a/sh.h
+++ b/sh.h
-@@ -596,7 +596,7 @@ EXTERN int havhash IZERO; /* path hashing is available */
+@@ -562,7 +562,7 @@ EXTERN int havhash IZERO; /* path hashing is available */
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) */
@@ -25,10 +41,10 @@ index 4e3f13c..7d31db9 100644
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 f2356d1..4e814f8 100644
+index afcf0b9..ef25400 100644
--- a/sh.proc.c
+++ b/sh.proc.c
-@@ -558,9 +558,9 @@ pjwait(struct process *pp)
+@@ -559,9 +559,9 @@ pjwait(struct process *pp)
reason = 0;
fp = pp;
do {
@@ -42,7 +58,7 @@ index f2356d1..4e814f8 100644
continue;
if (fp->p_reason)
diff --git a/sh.set.c b/sh.set.c
-index 0f98a2b..763a1dc 100644
+index b2c44b1..c740d6a 100644
--- a/sh.set.c
+++ b/sh.set.c
@@ -106,8 +106,8 @@ update_vars(Char *vp)
@@ -56,7 +72,7 @@ index 0f98a2b..763a1dc 100644
}
else if (eq(vp, STRsymlinks)) {
Char *pn = varval(vp);
-@@ -766,8 +766,8 @@ unset(Char **v, struct command *c)
+@@ -769,8 +769,8 @@ unset(Char **v, struct command *c)
HistLit = 0;
if (adrof(STRloginsh) == 0)
loginsh = 0;
@@ -68,7 +84,7 @@ index 0f98a2b..763a1dc 100644
word_chars = STR_WORD_CHARS;
if (adrof(STRedit) == 0)
diff --git a/tc.const.c b/tc.const.c
-index 641e234..4d0c9e3 100644
+index e49f05a..1361da7 100644
--- a/tc.const.c
+++ b/tc.const.c
@@ -43,7 +43,7 @@ Char STRrootdefautologout[] = { '1', '5', '\0' };
@@ -81,10 +97,10 @@ index 641e234..4d0c9e3 100644
Char STRaout[] = { 'a', '.', 'o', 'u', 't', '\0' };
Char STRtty[] = { 't', 't', 'y', '\0' };
diff --git a/tcsh.man b/tcsh.man
-index 8cc45c8..3470659 100644
+index 94de311..c10655b 100644
--- a/tcsh.man
+++ b/tcsh.man
-@@ -4356,14 +4356,10 @@ Reset to 1 in login shells.
+@@ -4383,14 +4383,10 @@ Reset to 1 in login shells.
See also \fBloginsh\fR.
.TP 8
.B status
@@ -103,3 +119,6 @@ index 8cc45c8..3470659 100644
abnormally, then 0200 is added to the status. Builtin commands
which fail return exit status `1', all other builtin commands
return status `0'.
+--
+1.9.3
+
diff --git a/tcsh-6.18.02-syntax.patch b/tcsh-6.18.02-syntax.patch
new file mode 100644
index 0000000..eac52fd
--- /dev/null
+++ b/tcsh-6.18.02-syntax.patch
@@ -0,0 +1,60 @@
+From 182f5748ef86df48710a58e48567fee61b822e6e Mon Sep 17 00:00:00 2001
+From: vcrhonek <vcrhonek@fedoraproject.org>
+Date: Thu, 24 Jul 2014 17:45:18 +0200
+Subject: [PATCH 4/8] while loop counting
+
+Fix tcsh scripts with multiple case statement with end keywords
+break with error.
+
+TODO: This patch reverts upstream commit a973723e from 2004-05-13.
+We should make sure that this is going to be fixed properly
+upstream.
+
+Resolves: #253247
+original dist-git commit: 1bcd8ea591286664483d0aea2601a8729eb6b81f
+
+---
+ sh.func.c | 13 -------------
+ 1 file changed, 13 deletions(-)
+
+diff --git a/sh.func.c b/sh.func.c
+index 3e4d576..6afdd01 100644
+--- a/sh.func.c
++++ b/sh.func.c
+@@ -754,8 +754,6 @@ search(int type, int level, Char *goal)
+ {
+ struct Strbuf word = Strbuf_INIT;
+ Char *cp;
+- struct whyle *wp;
+- int wlevel = 0;
+ struct wordent *histent = NULL, *ohistent = NULL;
+
+ Stype = type;
+@@ -821,24 +819,13 @@ search(int type, int level, Char *goal)
+
+ case TC_FOREACH:
+ case TC_WHILE:
+- wlevel++;
+ if (type == TC_BREAK)
+ level++;
+ break;
+
+ case TC_END:
+- if (type == TC_BRKSW) {
+- if (wlevel == 0) {
+- wp = whyles;
+- if (wp) {
+- whyles = wp->w_next;
+- wpfree(wp);
+- }
+- }
+- }
+ if (type == TC_BREAK)
+ level--;
+- wlevel--;
+ break;
+
+ case TC_SWITCH:
+--
+1.9.3
+
diff --git a/tcsh-6.14.00-tinfo.patch b/tcsh-6.18.02-tinfo.patch
index 6488f9f..27c813f 100644
--- a/tcsh-6.14.00-tinfo.patch
+++ b/tcsh-6.18.02-tinfo.patch
@@ -1,17 +1,18 @@
-From 039673bc9e8f3f6b198d1fc68878324a63bd111a Mon Sep 17 00:00:00 2001
+From 47569471c7eb70964ee61e9c38ce45b0f2c206ae Mon Sep 17 00:00:00 2001
From: "Vojtech Vitek (V-Teq)" <vvitek@redhat.com>
Date: Thu, 15 Mar 2012 02:10:35 +0100
-Subject: [PATCH] Search for tinfo library instead of termcap/(n)curses etc.
+Subject: [PATCH 2/8] Search for tinfo library instead of termcap/(n)curses
+ etc.
---
- configure.in | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/configure.in b/configure.in
-index 103ab37..9a2afef 100644
---- a/configure.in
-+++ b/configure.in
-@@ -299,7 +299,7 @@ fi
+diff --git a/configure.ac b/configure.ac
+index d07b944..c6f9f1a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -309,7 +309,7 @@ fi
dnl Checks for libraries
AC_SEARCH_LIBS(crypt, crypt)
AC_SEARCH_LIBS(getspnam, sec)
@@ -21,5 +22,5 @@ index 103ab37..9a2afef 100644
AC_SEARCH_LIBS(connect, socket)
AC_SEARCH_LIBS(catgets, catgets)
--
-1.7.6.5
+1.9.3
diff --git a/tcsh-6.18.02-unprintable.patch b/tcsh-6.18.02-unprintable.patch
new file mode 100644
index 0000000..57a85ad
--- /dev/null
+++ b/tcsh-6.18.02-unprintable.patch
@@ -0,0 +1,28 @@
+From 1889ef9407bbe8e3db1f4b88d1bc437b31a7d8d0 Mon Sep 17 00:00:00 2001
+From: vcrhonek <vcrhonek@fedoraproject.org>
+Date: Thu, 24 Jul 2014 17:37:45 +0200
+Subject: [PATCH 3/8] fix unprintable (#233525)
+
+original dist-git commit: cd7e072c
+
+---
+ tw.parse.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/tw.parse.c b/tw.parse.c
+index 186fdb5..8af3c50 100644
+--- a/tw.parse.c
++++ b/tw.parse.c
+@@ -2169,7 +2169,8 @@ print_by_column(Char *dir, Char *items[], int count, int no_file_suffix)
+ (Strchr(val, 'x') != NULL);
+
+ for (i = 0; i < count; i++) { /* find widest string */
+- maxwidth = max(maxwidth, (unsigned int) NLSStringWidth(items[i]));
++ if (NLSStringWidth(items[i]) != -1)
++ maxwidth = max(maxwidth, (unsigned int) NLSStringWidth(items[i]));
+ }
+
+ maxwidth += no_file_suffix ? 1 : 2; /* for the file tag and space */
+--
+1.9.3
+
diff --git a/tcsh.spec b/tcsh.spec
index 46eb83f..68b1879 100644
--- a/tcsh.spec
+++ b/tcsh.spec
@@ -1,29 +1,29 @@
Summary: An enhanced version of csh, the C shell
Name: tcsh
-Version: 6.18.01
-Release: 10%{?dist}
+Version: 6.18.02
+Release: 1%{?dist}
License: BSD
Group: System Environment/Shells
Source: http://ftp.funet.fi/pub/unix/shells/tcsh/%{name}-%{version}.tar.gz
-Patch1: tcsh-6.15.00-closem.patch
-Patch2: tcsh-6.14.00-tinfo.patch
-Patch3: tcsh-6.14.00-unprintable.patch
-Patch4: tcsh-6.15.00-hist-sub.patch
-Patch8: tcsh-6.14.00-syntax.patch
-Patch9: tcsh-6.13.00-memoryuse.patch
-Patch11: tcsh-6.14.00-order.patch
-# Proposed upstream - http://github.com/tcsh-org/tcsh/pull/1
-Patch28: tcsh-6.17.00-manpage-spelling.patch
+
+# Those patches here should be in git format and are commented inside.
+
+Patch1: tcsh-6.18.02-closem.patch
+Patch2: tcsh-6.18.02-tinfo.patch
+Patch3: tcsh-6.18.02-unprintable.patch
+Patch4: tcsh-6.18.02-syntax.patch
+Patch5: tcsh-6.18.02-memoryuse.patch
+Patch6: tcsh-6.18.02-order.patch
+Patch7: tcsh-6.18.02-fixgencat.patch
+Patch8: tcsh-6.18.02-hist-sub.patch
+Patch9: tcsh-6.18.02-elf-interpreter.patch
+Patch10: tcsh-6.18.02-posix-exit-status-value.patch
+
+# TODO: review better upstream file locking
# Proposed upstream - http://github.com/tcsh-org/tcsh/pull/2
-Patch31: tcsh-6.18.00-history-file-locking.patch
-# Accepted upstream - http://mx.gw.com/pipermail/tcsh-bugs/2012-December/000797.html
-#Patch32: tcsh-6.18.00-sigint-while-waiting-for-child.patch
-Patch33: tcsh-6.18.00-history-merge.patch
-Patch34: tcsh-6.18.01-repeated-words-man.patch
-# Proposed upstream - http://mx.gw.com/pipermail/tcsh-bugs/2013-April/000833.html
-Patch35: tcsh-6.18.01-elf-interpreter.patch
-Patch36: tcsh-6.18.01-posix-exit-status-value.patch
-Patch37: tcsh-6.18.01-reverse-history-handling-in-loops.patch
+# Patch31: tcsh-6.18.00-history-file-locking.patch
+# Patch33: tcsh-6.18.00-history-merge.patch
+# Patch37: tcsh-6.18.01-reverse-history-handling-in-loops.patch
Provides: csh = %{version}
Provides: /bin/tcsh, /bin/csh
@@ -42,35 +42,18 @@ spelling correction, a history mechanism, job control and a C language
like syntax.
%prep
-%setup -q -n %{name}-%{version}
-%patch1 -p1 -b .closem
-%patch2 -p1 -b .tinfo
-%patch3 -p1 -b .unprintable
-%patch4 -p1 -b .hist-sub
-%patch8 -p1 -b .syntax
-%patch9 -p1 -b .memoryuse
-%patch11 -p1 -b .order
-%patch28 -p1 -b .manpage-spelling
-%patch31 -p1 -b .history-file-locking
-#%%patch32 -p1 -b .sigint-while-waiting-for-child
-%patch33 -p1 -b .history-merge
-%patch34 -p1 -b .repeated-words-man
-%patch35 -p1 -b .elf-interpreter
-%patch36 -p1 -b .posix-exit-status-value
-%patch37 -p1 -b .reverse-history-handling-in-loops
+%autosetup -p1
for i in Fixes WishList; do
iconv -f iso-8859-1 -t utf-8 "$i" > "${i}_" && \
touch -r "$i" "${i}_" && \
mv "${i}_" "$i"
done
+autoreconf
%build
-# For tcsh-6.14.00-tinfo.patch
-autoreconf
%configure --without-hesiod
-make %{?_smp_mflags} all
-make %{?_smp_mflags} -C nls catalogs
+make %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
@@ -102,6 +85,9 @@ ru russian
uk ukrainian
_EOF
+%check
+make check
+
%clean
rm -rf $RPM_BUILD_ROOT
@@ -131,6 +117,9 @@ fi
%{_mandir}/man1/*.1*
%changelog
+* Thu Jul 24 2014 Pavel Raiskup <praiskup@redhat.com> - 6.18.02-1
+- rebase to most recent upstream version (beta, prepare for 6.19)
+
* 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