Alexander Pyhalov
2016-12-15 48007ab2cd736b15dafc093b2d9c2f2314a973ad
tcsh: update to 6.20.00
4 files deleted
3 files added
4 files modified
5893 ■■■■■ changed files
components/shell/tcsh/Makefile 33 ●●●●● patch | view | raw | blame | history
components/shell/tcsh/manifests/sample-manifest.p5m 3 ●●●● patch | view | raw | blame | history
components/shell/tcsh/manpages/tcsh.1 5391 ●●●●● patch | view | raw | blame | history
components/shell/tcsh/patches/001.gethost.c.patch 91 ●●●●● patch | view | raw | blame | history
components/shell/tcsh/patches/003.locale.patch 49 ●●●● patch | view | raw | blame | history
components/shell/tcsh/patches/004.amd64.patch 26 ●●●●● patch | view | raw | blame | history
components/shell/tcsh/patches/008.config.patch 16 ●●●●● patch | view | raw | blame | history
components/shell/tcsh/patches/010.out-of-bounds.patch 21 ●●●●● patch | view | raw | blame | history
components/shell/tcsh/resolve.deps 1 ●●●● patch | view | raw | blame | history
components/shell/tcsh/tcsh.p5m 7 ●●●● patch | view | raw | blame | history
components/shell/tcsh/test/results-64.master 255 ●●●●● patch | view | raw | blame | history
components/shell/tcsh/Makefile
@@ -26,14 +26,14 @@
include ../../../make-rules/shared-macros.mk
COMPONENT_NAME=        tcsh
COMPONENT_VERSION=    6.18.01
IPS_COMPONENT_VERSION=    6.18.1
COMPONENT_VERSION=    6.20.00
IPS_COMPONENT_VERSION=    6.20.0
COMPONENT_PROJECT_URL=    http://www.tcsh.org/
COMPONENT_SRC=        $(COMPONENT_NAME)-$(COMPONENT_VERSION)
COMPONENT_ARCHIVE=    $(COMPONENT_SRC).tar.gz
COMPONENT_ARCHIVE_HASH=    \
    sha256:d81ca27851f3e8545666399b4bcf25433e602a195113b3f7c73886fef84c9fa8
COMPONENT_ARCHIVE_URL=    ftp://ftp.astron.com/pub/tcsh/old/$(COMPONENT_ARCHIVE)
    sha256:b89de7064ab54dac454a266cfe5d8bf66940cb5ed048d0c30674ea62e7ecef9d
COMPONENT_ARCHIVE_URL=    ftp://ftp.astron.com/pub/tcsh/$(COMPONENT_ARCHIVE)
COMPONENT_BUGDB=    utility/tcsh
include $(WS_MAKE_RULES)/prep.mk
@@ -48,19 +48,30 @@
LOCALEDIR=$(PROTO_DIR)/$(CONFIGURE_LOCALEDIR)
# Deliver 64-bit binary in /usr/bin
CONFIGURE_BINDIR.64 = $(CONFIGURE_BINDIR.32)
CONFIGURE_OPTIONS  +=        --localedir=$(CONFIGURE_LOCALEDIR)
ASLR_MODE = $(ASLR_ENABLE)
COMPONENT_TEST_ENV += PATH=$(GNUBIN):$(USRBINDIR)
COMPONENT_SYSTEM_TEST_TARGETS= system-test
# Strip compilation lines from test output
COMPONENT_TEST_TRANSFORMS += \
    '-e "s|^.*$(CC).*$$|XXX_CC_XXX|g" ' \
    '-e "s|^.*$(CXX).*$$|XXX_CC_XXX|g" ' \
    '-e "s|^make.*: Leaving directory.*$$|XXX_CC_XXX|g" ' \
    '-e "s|^make.*: Entering directory.*$$|XXX_CC_XXX|g" ' \
    '-e "/^XXX_CC_XXX$$/d" '
# common targets
build:        $(BUILD_32_and_64)
build:        $(BUILD_64)
install:    $(INSTALL_32_and_64)
install:    $(INSTALL_64)
BUILD_PKG_DEPENDENCIES =    $(BUILD_TOOLS)
test:         $(NO_TESTS)
include $(WS_MAKE_RULES)/depend.mk
test:         $(TEST_64)
REQUIRED_PACKAGES += system/library
REQUIRED_PACKAGES += text/locale
components/shell/tcsh/manifests/sample-manifest.p5m
@@ -22,7 +22,6 @@
license $(COMPONENT_LICENSE_FILE) license='$(COMPONENT_LICENSE)'
file path=usr/bin/$(MACH64)/tcsh
file path=usr/bin/tcsh
file path=usr/share/locale/C/LC_MESSAGES/tcsh.cat
file path=usr/share/locale/de/LC_MESSAGES/tcsh.cat
@@ -35,5 +34,5 @@
file path=usr/share/locale/ja/LC_MESSAGES/tcsh.cat
file path=usr/share/locale/pl/LC_MESSAGES/tcsh.cat
file path=usr/share/locale/ru/LC_MESSAGES/tcsh.cat
file path=usr/share/locale/ru_UA.koi8u/LC_MESSAGES/tcsh.cat
file path=usr/share/locale/ru_UA/LC_MESSAGES/tcsh.cat
file path=usr/share/man/man1/tcsh.1
components/shell/tcsh/manpages/tcsh.1
File was deleted
components/shell/tcsh/patches/001.gethost.c.patch
File was deleted
components/shell/tcsh/patches/003.locale.patch
@@ -1,43 +1,6 @@
--- tcsh-6.18.01/configure.in.orig    Wed Sep  5 11:52:15 2012
+++ tcsh-6.18.01/configure.in    Wed Sep  5 11:52:40 2012
@@ -303,7 +303,6 @@
 AC_SEARCH_LIBS(gethostbyname, nsl)
 AC_SEARCH_LIBS(connect, socket)
 AC_SEARCH_LIBS(catgets, catgets)
-AM_ICONV
 dnl Checks for header files
 AC_CHECK_HEADERS([auth.h crypt.h features.h inttypes.h paths.h] dnl
--- tcsh-6.18.01/Makefile.in.orig    Wed Sep  5 11:56:12 2012
+++ tcsh-6.18.01/Makefile.in    Wed Sep  5 11:57:51 2012
@@ -12,6 +12,7 @@
 BUILD=tcsh$(EXEEXT)
 VPATH=@srcdir@
 srcdir=@srcdir@
+localedir=@localedir@
 ################################################################
 ## CFLAGS.  For various -D things, see config.h
@@ -145,6 +146,7 @@
 #DFLAGS=-D_PATH_TCSHELL='"${DESTBIN}/tcsh"'
 ## The following is set by autoconf.
 DFLAGS = -D_PATH_TCSHELL='"${bindir}/tcsh"' @DFLAGS@ @CPPFLAGS@
+DFLAGS += -DLOCALEDIR='"${localedir}"'
 ################################################################
@@ -296,7 +298,7 @@
 #
 EXTRAFLAGS = @HESDEF@ $(AFSDEF)
-EXTRALIBS = @HESLIB@ $(AFSLIB) @LIBICONV@
+EXTRALIBS = @HESLIB@ $(AFSLIB)
--- tcsh-6.18.01/sh.c.orig    Thu Nov 15 14:26:18 2012
+++ tcsh-6.18.01/sh.c    Thu Nov 15 14:26:37 2012
@@ -175,17 +175,10 @@
--- tcsh-6.19.00/sh.c.orig    Tue May 26 11:09:46 2015
+++ tcsh-6.19.00/sh.c    Tue May 26 11:10:09 2015
@@ -176,17 +176,10 @@
     size_t len;
     int add_LOC = 1;
     int add_lang = 1;
@@ -55,9 +18,9 @@
     if ((old = getenv("NLSPATH")) != NULL)
         len = strlen(old) + 1;    /* don't forget the colon. */
     else
--- tcsh-6.18.01/sh.func.c.orig    Mon Dec  3 13:09:33 2012
+++ tcsh-6.18.01/sh.func.c    Mon Dec  3 13:09:54 2012
@@ -2627,6 +2627,8 @@
--- tcsh-6.19.00/sh.func.c.orig    Tue May 26 11:10:46 2015
+++ tcsh-6.19.00/sh.func.c    Tue May 26 11:11:47 2015
@@ -2657,6 +2657,8 @@
 
     if (adrof(STRcatalog) != NULL)
     catalog = xasprintf("tcsh.%s", short2str(varval(STRcatalog)));
components/shell/tcsh/patches/004.amd64.patch
File was deleted
components/shell/tcsh/patches/008.config.patch
New file
@@ -0,0 +1,16 @@
use the system malloc so we can easily
switch to others, like libumem. I'm not
entirely sure this should be changed upstream
yet.
--- tcsh-6.20.00/config_f.h.~1~    2016-12-15 20:57:26.973551670 +0300
+++ tcsh-6.20.00/config_f.h    2016-12-15 20:58:17.896714149 +0300
@@ -139,7 +139,7 @@
  *        This can be much slower and no memory statistics will be
  *        provided.
  */
-#if defined(__MACHTEN__) || defined(PURIFY) || defined(MALLOC_TRACE) || defined(_OSD_POSIX) || defined(__MVS__) || defined (__CYGWIN__) || defined(__GLIBC__) || defined(__OpenBSD__) || defined(__APPLE__) || defined (__ANDROID__)
+#if defined(__MACHTEN__) || defined(PURIFY) || defined(MALLOC_TRACE) || defined(_OSD_POSIX) || defined(__MVS__) || defined (__CYGWIN__) || defined(__GLIBC__) || defined(__OpenBSD__) || defined(__APPLE__) || defined (__ANDROID__) || defined(SOLARIS2)
 # define SYSMALLOC
 #else
 # undef SYSMALLOC
components/shell/tcsh/patches/010.out-of-bounds.patch
New file
@@ -0,0 +1,21 @@
Fix out of bounds read (Brooks Davis)
(reproduce by starting tcsh and hitting tab at the prompt)
See:
http://mx.gw.com/pipermail/tcsh-bugs/2016-December/001103.html
for more details.
Upstream fix at:
https://github.com/tcsh-org/tcsh/commit/6a542dc4fb2ba26518a47e9b3a9bcd6a91b94596
--- tcsh-6.19.00/ed.chared.c.orig    2016-12-07 06:26:09.076227132 +0000
+++ tcsh-6.19.00/ed.chared.c    2016-12-07 06:26:41.976633276 +0000
@@ -750,7 +750,7 @@
     /*
      * 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;
components/shell/tcsh/resolve.deps
File was deleted
components/shell/tcsh/tcsh.p5m
@@ -36,7 +36,6 @@
    value=PSARC/2007/025
set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
file path=usr/bin/tcsh
file path=usr/bin/$(MACH64)/tcsh
file $(MACH64)/nls/german.cat path=usr/share/locale/de/LC_MESSAGES/tcsh.cat
file $(MACH64)/nls/greek.cat path=usr/share/locale/el/LC_MESSAGES/tcsh.cat
file $(MACH64)/nls/spanish.cat path=usr/share/locale/es/LC_MESSAGES/tcsh.cat
@@ -48,9 +47,7 @@
file $(MACH64)/nls/pl.cat path=usr/share/locale/pl/LC_MESSAGES/tcsh.cat
file $(MACH64)/nls/russian.cat path=usr/share/locale/ru/LC_MESSAGES/tcsh.cat
file $(MACH64)/nls/ukrainian.cat path=usr/share/locale/uk/LC_MESSAGES/tcsh.cat
file manpages/tcsh.1 path=usr/share/man/man1/tcsh.1
legacy pkg=SUNWtcsh \
    desc="Tenex C-shell (tcsh)" \
    name="Tenex C-shell (tcsh)"
file path=usr/share/man/man1/tcsh.1
legacy pkg=SUNWtcsh desc="Tenex C-shell (tcsh)" name="Tenex C-shell (tcsh)"
license tcsh.license license=BSD
components/shell/tcsh/test/results-64.master
New file
@@ -0,0 +1,255 @@
{                                   \
  echo '# Signature of the current package.';               \
  echo 'm4_define([AT_PACKAGE_NAME],      [tcsh])';       \
  echo 'm4_define([AT_PACKAGE_TARNAME],   [tcsh])';   \
  echo 'm4_define([AT_PACKAGE_VERSION],   [6.20.00])';   \
  echo 'm4_define([AT_PACKAGE_STRING],    [tcsh 6.20.00])';       \
  echo 'm4_define([AT_PACKAGE_BUGREPORT], [http://bugs.gw.com/])'; \
} >$(SOURCE_DIR)/tests/package.m4
autom4te --language=autotest -I $(SOURCE_DIR)/tests \
    $(SOURCE_DIR)/tests/testsuite.at -o $(SOURCE_DIR)/tests/testsuite.tmp
mv $(SOURCE_DIR)/tests/testsuite.tmp $(SOURCE_DIR)/tests/testsuite
/bin/sh $(SOURCE_DIR)/tests/testsuite
## ------------------------ ##
## tcsh 6.20.00 test suite. ##
## ------------------------ ##
  1: beepcmd                                         skipped (aliases.at:3)
  2: cwdcmd                                          ok
  3: jobcmd                                          skipped (aliases.at:19)
  4: helpcommand                                     skipped (aliases.at:20)
  5: periodic                                        skipped (aliases.at:21)
  6: precmd                                          skipped (aliases.at:22)
  7: postcmd                                         ok
  8: shell                                           ok
  9: -b                                              ok
 10: -c                                              ok
 11: -d                                              skipped (arguments.at:34)
 12: -e                                              ok
 13: -f                                              skipped (arguments.at:46)
 14: -i                                              ok
 15: -l                                              skipped (arguments.at:61)
 16: -m                                              skipped (arguments.at:65)
 17: -q                                              skipped (arguments.at:71)
 18: -s                                              ok
 19: -t                                              ok
 20: -v                                              ok
 21: -x                                              ok
 22: -V                                              skipped (arguments.at:126)
 23: -X                                              skipped (arguments.at:127)
 24: --help                                          skipped (arguments.at:130)
 25: --version                                       skipped (arguments.at:131)
 26: invalid option                                  ok
 27: non-option arguments                            ok
 28: %                                               skipped (commands.at:3)
 29: :                                               ok
 30: @                                               ok
 31: alias                                           ok
 32: alloc                                           skipped (commands.at:80)
 33: bg                                              skipped (commands.at:81)
 34: bindkey                                         skipped (commands.at:82)
 35: break                                           ok
 36: builtins                                        skipped (commands.at:133)
 37: bye                                             skipped (commands.at:134)
 38: cd                                              ok
 39: complete                                        ok
 40: continue                                        ok
 41: dirs                                            ok
 42: echo                                            ok
 43: echotc                                          skipped (commands.at:348)
 44: eval                                            ok
 45: exec                                            ok
 46: exit                                            ok
 47: fg                                              skipped (commands.at:378)
 48: filetest                                        ok
 49: foreach                                         ok
 50: getspath                                        skipped (commands.at:520)
 51: getxvers                                        skipped (commands.at:521)
 52: glob                                            ok
 53: goto                                            ok
 54: hashstat                                        skipped (commands.at:560)
 55: history                                         ok
 56: hup                                             ok
 57: if                                              ok
 58: inlib                                           skipped (commands.at:774)
 59: jobs                                            skipped (commands.at:775)
 60: kill                                            ok
 61: limit                                           skipped (commands.at:795)
 62: log                                             ok
 63: login                                           skipped (commands.at:809)
 64: logout                                          ok
 65: ls-F                                            ok
 66: migrate                                         skipped (commands.at:889)
 67: newgrp                                          skipped (commands.at:890)
 68: nice                                            ok
 69: nohup                                           ok
 70: notify                                          skipped (commands.at:921)
 71: onintr                                          ok
 72: popd                                            ok
 73: printenv                                        ok
 74: pushd                                           ok
 75: rehash                                          ok
 76: repeat                                          ok
 77: rootnode                                        skipped (commands.at:1091)
 78: sched                                           skipped (commands.at:1092)
 79: set                                             ok
 80: setenv                                          ok
 81: setpath                                         skipped (commands.at:1156)
 82: setspath                                        skipped (commands.at:1157)
 83: settc                                           skipped (commands.at:1158)
 84: setty                                           skipped (commands.at:1159)
 85: setxvers                                        skipped (commands.at:1160)
 86: shift                                           ok
 87: source                                          ok
 88: stop                                            skipped (commands.at:1242)
 89: suspend                                         skipped (commands.at:1243)
 90: switch                                          ok
 91: telltc                                          skipped (commands.at:1302)
 92: termname                                        skipped (commands.at:1303)
 93: time                                            skipped (commands.at:1304)
 94: umask                                           ok
 95: unalias                                         ok
 96: uncomplete                                      ok
 97: unhash                                          ok
 98: universe                                        skipped (commands.at:1362)
 99: unlimit                                         skipped (commands.at:1363)
100: unset                                           ok
101: unsetenv                                        ok
102: ver                                             skipped (commands.at:1395)
103: wait                                            ok
104: warp                                            skipped (commands.at:1406)
105: watchlog                                        skipped (commands.at:1407)
106: where                                           ok
107: which                                           ok
108: while                                           ok
109: jobs output                                     ok
110: time output                                     ok
111: Arithmetic operators                            ok
112: Primary expressions                             ok
113: Word splitting                                  ok
114: Comments                                        skipped (lexical.at:33)
115: Escaping special characters                     ok
116: Preventing substitution                         ok
117: History basics                                  ok
118: Event specification                             ok
119: Word selection                                  ok
120: History modifiers                               ok
121: Alias substitution                              ok
122: Variable substitution                           ok
123: Quoting of expansions in `...`                  ok
124: \echo for git_tcsh_completion                   ok
125: EUC-JP multibyte test                           ok
126: UTF-8 multibyte test                            ok
127: Parenthesis no space                            ok
128: Parenthesis space                               ok
129: Parenthesis space escaped                       ok
130: Parenthesis escaped                             ok
131: Command substitution                            ok
132: Filename substitution                           ok
133: Directory stack substitution                    ok
134: Command combinations                            ok
135: Command execution                               ok
136: $ addsuffix                                     ok
137: $ afsuser                                       ok
138: $ ampm                                          ok
139: $ anyerror                                      ok
140: $ argv                                          ok
141: $ autocorrect                                   ok
142: $ autoexpand                                    ok
143: $ autolist                                      ok
144: $ autologout                                    skipped (variables.at:77)
145: $ backslash_quote                               ok
146: $ catalog                                       ok
147: $ cdpath                                        ok
148: $ color                                         ok
149: $ colorcat                                      ok
150: $ command                                       ok
151: $ complete                                      ok
152: $ continue                                      ok
153: $ continue_args                                 ok
154: $ correct                                       ok
155: $ csubstnonl                                    ok
156: $ cwd                                           ok
157: $ dextract                                      ok
158: $ dirsfile                                      ok
159: $ dirstack                                      ok
160: $ dspmbyte                                      skipped (variables.at:276)
161: $ dunique                                       ok
162: $ echo                                          ok
163: $ echo_style                                    ok
164: $ edit                                          skipped (variables.at:344)
165: $ ellipsis                                      ok
166: $ fignore                                       ok
167: $ filec                                         ok
168: $ gid                                           ok
169: $ group                                         ok
170: $ histchars                                     ok
171: $ histdup                                       ok
172: $ histfile                                      ok
173: $ histlit                                       ok
174: $ history                                       ok
175: $ home                                          ok
176: $ ignoreeof                                     ok
177: $ implicitcd                                    ok
178: $ inputmode                                     ok
179: $ killdup                                       ok
180: $ killring                                      ok
181: $ listflags                                     ok
182: $ listjobs                                      ok
183: $ listlinks                                     ok
184: $ listmax                                       ok
185: $ listmaxrows                                   ok
186: $ loginsh                                       ok
187: $ logout                                        ok
188: $ mail                                          ok
189: $ cdtohome                                      ok
190: $ noimplicithome                                ok
191: $ matchbeep                                     ok
192: $ nobeep                                        ok
193: $ noclobber                                     ok
194: $ noding                                        ok
195: $ noglob                                        ok
196: $ nostat                                        ok
197: $ notify                                        ok
198: $ oid                                           skipped (variables.at:725)
199: $ owd                                           ok
200: $ path                                          ok
201: $ printexitvalue                                ok
202: $ prompt                                        ok
203: $ prompt2                                       ok
204: $ prompt3                                       ok
205: $ promptchars                                   ok
206: $ pushdtohome                                   ok
207: $ pushdsilent                                   ok
208: $ recexact                                      ok
209: $ recognize_only_executablers                   ok
210: $ rmstar                                        ok
211: $ rprompt                                       ok
212: $ savedirs                                      ok
213: $ savehist                                      ok
214: $ sched                                         ok
215: $ shell                                         ok
216: $ shlvl                                         ok
217: $ status                                        ok
218: $ symlinks                                      ok
219: $ tcsh                                          ok
220: $ term                                          ok
221: $ time                                          ok
222: $ tperiod                                       ok
223: $ tty                                           ok
224: $ uid                                           ok
225: $ user                                          ok
226: $ verbose                                       ok
227: $ version                                       ok
228: $ visiblebell                                   ok
229: $ watch                                         ok
230: $ who                                           ok
231: $ wordchars                                     ok
232: -n                                              ok
233: $<                                              ok
## ------------- ##
## Test results. ##
## ------------- ##
179 tests were successful.
54 tests were skipped.