components/shell/tcsh/Makefile | ●●●●● patch | view | raw | blame | history | |
components/shell/tcsh/manifests/sample-manifest.p5m | ●●●●● patch | view | raw | blame | history | |
components/shell/tcsh/manpages/tcsh.1 | ●●●●● patch | view | raw | blame | history | |
components/shell/tcsh/patches/001.gethost.c.patch | ●●●●● patch | view | raw | blame | history | |
components/shell/tcsh/patches/003.locale.patch | ●●●●● patch | view | raw | blame | history | |
components/shell/tcsh/patches/004.amd64.patch | ●●●●● patch | view | raw | blame | history | |
components/shell/tcsh/patches/008.config.patch | ●●●●● patch | view | raw | blame | history | |
components/shell/tcsh/patches/010.out-of-bounds.patch | ●●●●● patch | view | raw | blame | history | |
components/shell/tcsh/resolve.deps | ●●●●● patch | view | raw | blame | history | |
components/shell/tcsh/tcsh.p5m | ●●●●● patch | view | raw | blame | history | |
components/shell/tcsh/test/results-64.master | ●●●●● 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.