--- tcsh-6.18.01.orig/debian/csh.cshrc +++ tcsh-6.18.01/debian/csh.cshrc @@ -0,0 +1,15 @@ +# /etc/csh.cshrc: system-wide .cshrc file for csh(1) and tcsh(1) + +if ($?tcsh && $?prompt) then + + bindkey "\e[1~" beginning-of-line # Home + bindkey "\e[7~" beginning-of-line # Home rxvt + bindkey "\e[2~" overwrite-mode # Ins + bindkey "\e[3~" delete-char # Delete + bindkey "\e[4~" end-of-line # End + bindkey "\e[8~" end-of-line # End rxvt + + set autoexpand + set autolist + set prompt = "%U%m%u:%B%~%b%# " +endif --- tcsh-6.18.01.orig/debian/dirs +++ tcsh-6.18.01/debian/dirs @@ -0,0 +1 @@ +usr/bin --- tcsh-6.18.01.orig/debian/menu +++ tcsh-6.18.01/debian/menu @@ -0,0 +1,2 @@ +?package(tcsh):needs="text" section="Applications/Shells"\ + title="tcsh" command="/bin/tcsh" --- tcsh-6.18.01.orig/debian/preinst +++ tcsh-6.18.01/debian/preinst @@ -0,0 +1,50 @@ +#! /bin/bash +# preinst script for tcsh +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `install' +# * `install' +# * `upgrade' +# * `abort-upgrade' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + install|upgrade) + # remove old diversions + dpkg-divert --package csh --rename --remove /bin/csh \ + > /dev/null || true + dpkg-divert --package csh --rename --remove /usr/man/man1/csh.1 \ + > /dev/null || true + dpkg-divert --package tcsh --rename --remove /bin/csh \ + > /dev/null || true + dpkg-divert --package tcsh --rename --remove /usr/man/man1/csh.1 \ + > /dev/null || true + + # remove old alternatives + update-alternatives --remove csh /usr/bin/tcsh || true + ;; + + abort-upgrade) + ;; + + *) + echo "preinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- tcsh-6.18.01.orig/debian/changelog +++ tcsh-6.18.01/debian/changelog @@ -0,0 +1,823 @@ +tcsh (6.18.01-2) unstable; urgency=low + + * add entry to /etc/shells Closes: #664485 + * update to Standards-Version 3.9.3, no changes needed + + -- Thomas Lange Thu, 21 Jun 2012 22:52:58 +0200 + +tcsh (6.18.01-1) unstable; urgency=low + + * new upstream version Closes: #645238 + * rules: enable hardening options Closes: #644402 + * control: update to 3.9.2, no changes needed, remove package versions + from build-depends + * patches/co-completion: remove -co* completion Closes: #628960 + * watch: use passive mode for ftp + + -- Thomas Lange Tue, 14 Feb 2012 14:05:09 +0100 + +tcsh (6.17.06-2) unstable; urgency=medium + + * readd disable-lexical.at-31.patch Closes: #635102 + + -- Thomas Lange Sat, 10 Sep 2011 00:55:25 +0200 + +tcsh (6.17.06-1) unstable; urgency=low + + * new upstream version + * Removed patches: + + 07_nls.patch + + fix-make-catalogs.patch + + disable-lexical.at-31.patch + + tcsh-6.17.02-multibyte.patch + + disable-broken-test.patch + * do not set $LINES and $LINES, this removes former git patch b063c65 + Closes: #623330, #605279 + * debian/csh.login: use full path for ls, fixing the script for people + with an aliased ls. Closes: #607828. LP: #70763 + * README.Debian: add info about the bug tracker + + -- Thomas Lange Thu, 21 Jul 2011 22:25:34 +0200 + +tcsh (6.17.02-4) unstable; urgency=high + + * new maintainer Closes: #592093 + * add tcsh-6.17.02-multibyte.patch Closes: #603545 + + -- Thomas Lange Mon, 06 Dec 2010 17:41:17 +0100 + +tcsh (6.17.02-3) unstable; urgency=low + + * Re-add 12_unknown_lscolors.patch. Closes segfault when removed. + Closes: #592089. + + -- Lucas Nussbaum Sat, 07 Aug 2010 10:08:06 -0400 + +tcsh (6.17.02-2) unstable; urgency=low + + * Set $COLUMNS and $LINES in csh.{cshrc,login}. Closes: #580498. LP: #546032 + * Standards-Version bumped to 3.8.4. No changes needed. + * Upload to unstable. + + -- Lucas Nussbaum Fri, 06 Aug 2010 15:22:42 -0400 + +tcsh (6.17.02-1) experimental; urgency=low + + * New upstream release. + * Merged patches: + + 01_build.1.patch + + 06_man.patch + + 10_hurd.patch + * Removed patches: + + 02_fix.patch - no longer needed + + 12_unknown_lscolors.patch - upstream says: + "rejected - will not apply now, I'd rather see the error and + fix $LS_COLORS than eat it up silently." + * Bug fixes: + + "Crash with autoexpand and no histchars" (LP: #96490) + + "tcsh history file fails to save commands with "!" properly" (LP: #139537) + + "tcsh's sending of HUPs to children is broken" (Closes: #314641) + + "tcsh doesn't support CR/LF end-of-lines in some cases, contrary to csh" + (Closes: #462346) + + "complete.tcsh bug in postmap" (Closes: #552632) + * Fix catalogs generation to use the charset + * Add disable-lexical.at-31.patch: + disable broken comments test + * Upload to experimental as it is a pre-release. + + -- Lucas Nussbaum Tue, 18 May 2010 23:41:14 +0200 + +tcsh (6.17.00-3) unstable; urgency=medium + + * Add disable-test-nice.patch: disable test in commands.at that fails on the + buildd with "setpriority: Permission denied". + * Set urgency to medium: the package already got 6 days of testing in + experimental and 4 in unstable. + * Document all patches. + + -- Lucas Nussbaum Fri, 12 Mar 2010 21:22:04 +0100 + +tcsh (6.17.00-2) unstable; urgency=low + + * Upload to unstable + * Change priority (agree with ftpmasters): standard->optional. + * Add Vcs-* control fields + * 11_j-prompt.dpatch: remove, no longer needed. + * 08_read.dpatch: removed, no longer needed. + * add disable-broken-test.patch: disable a test in lexical.at + * Run test suite, and cleanup after that + * disable-test-notty.patch: disable tests that fail when not running + with a tty. + + -- Lucas Nussbaum Mon, 08 Mar 2010 22:31:17 +0100 + +tcsh (6.17.00-1) experimental; urgency=low + + * Adopt package. Closes: #571697 + * New upstream release. Closes: #522071, #452219 + * Switch to quilt from dpatch. + * Update patches: + + Refreshed: + - 06_man + - 01_build + - 07_nls + - 10_hurd + - 12_unknown_lscolors + + Merged upstream or no longer needed, dropped: + - 03_expand + - 04_termh + - 05_termnames + - 09_readinval + - 13_tcsh.old + + Need more investigation: + - 02_fix + - 08_read + - 11_j-prompt + * Bump debhelper compat level to 7 + * Build-depend on debhelper >= 7 ; add misc:Depends + * Drop tcsh-kanji dummy package. Closes: #471033, #471034, #477542 + * Switch to standard Homepage field + * No need to create usr/sbin + * Switch to dh + * Standards-Version bumped to 3.8.4. No additional changes needed + * Change menu section from Apps to Applications + * Add README.source + * Add 15_no-strip.patch: do not strip binaries + + -- Lucas Nussbaum Tue, 02 Mar 2010 08:55:03 +0100 + +tcsh (6.14.00-7) unstable; urgency=low + + * debian/control: + - Removed tcsh-i18n from Provides and Conflicts as it's only available + in oldstable. + - Conflicts & Replaces only for tcsh-kanji (<< 6.14.00-6), + closes: #376432. + - Added tcsh-kanji to Provides to ensure clean transition. + + -- Franz Pletz Mon, 3 Jul 2006 01:32:29 +0200 + +tcsh (6.14.00-6) unstable; urgency=low + + * Converted to debhelper and introduced dpatch. + * Reintroduced tcsh-kanji transitional package so that previous users of + tcsh-kanji upgrade to tcsh smoothly, closes: #367378. + * debian/control: Added homepage to Description. + + -- Franz Pletz Fri, 19 May 2006 14:42:19 +0200 + +tcsh (6.14.00-5) unstable; urgency=low + + * Added patches from http://bugs.gw.com/: + - 327503.diff: Solves %j in $prompt issue, see #21, closes: #327503. + - 03_expand.diff: Makes symlink=expand work on all paths, see #12. + - 04_termh.diff: Fixes terminal resizing, see #8. + - 05_termnames.diff: Fixes inconsistency between termcap and terminfo + names, see #7. + - 08_read.diff: Makes $< stop at EOL, see #24. + - 09_readinval.diff: Fixes invalid character handling for $<, see #25. + * New maintainer, closes: #347446. + * Modularized csh.login, closes: #351652. + * Updated debian/watch. + * Completely removed tcsh-kanji packgage. + * Bumped Standards-Version to 3.7.2, no further changes necessary. + + -- Franz Pletz Thu, 11 May 2006 20:16:00 +0200 + +tcsh (6.14.00-4) experimental; urgency=low + + * Obsoleted tcsh-kanji package. tcsh-kanji users will upgrade to + tcsh automatically. The tcsh package now includes kanji support. + + -- Martin A. Godisch Sun, 16 Apr 2006 16:26:00 +0200 + +tcsh (6.14.00-3) unstable; urgency=low + + * Changed config_f.h to upstream default, going to obsolte tcsh-kanji. + * Applied hurd patch, closes: #322148. Thanks to Yury Semenov. + * Made use of add-shell and remove-shell, closes: #361548. + + -- Martin A. Godisch Sat, 15 Apr 2006 20:27:15 +0200 + +tcsh (6.14.00-2) unstable; urgency=low + + * Don't die on unknown LS_COLORS values, closes: #339034. + * Updated standards version, fixed debian/rules. + + -- Martin A. Godisch Wed, 30 Nov 2005 18:36:20 +0100 + +tcsh (6.14.00-1) unstable; urgency=low + + * New upstream release. + + -- Martin A. Godisch Fri, 25 Mar 2005 21:35:45 +0100 + +tcsh (6.13.07-2) unstable; urgency=low + + * Fixed xprintf args, closes: #291972. + + -- Martin A. Godisch Mon, 31 Jan 2005 18:04:10 +0100 + +tcsh (6.13.07-1) unstable; urgency=low + + * New upstream release. + + -- Martin A. Godisch Fri, 21 Jan 2005 15:52:25 +0100 + +tcsh (6.13.04-3) unstable; urgency=low + + * Run autoconf2.50, closes: #266640. + + -- Martin A. Godisch Sun, 02 Jan 2005 17:48:35 +0100 + +tcsh (6.13.04-2) unstable; urgency=low + + * Fixed history command, closes: #283291. Thanks to Alex Romosan. + * Added Neil W. Van Dyke's tcsh completions, closes: #283801. + * Compiled tcsh binary package with kanji support. If nobody complains, + tcsh-kanji will be replaced with tcsh in the future. Closes: #275128. + + -- Martin A. Godisch Sat, 01 Jan 2005 20:09:20 +0100 + +tcsh (6.13.04-1) unstable; urgency=low + + * New upstream release. + * Updated build patches, closes: #266640. Thanks to Robert Millan. + + -- Martin A. Godisch Sun, 21 Nov 2004 09:45:45 +0100 + +tcsh (6.13.01-4) unstable; urgency=low + + * Fixed DSPMBYTE issues, closes: #261616, #261633. + Thanks to upstream maintainer Christos Zoulas. + + -- Martin A. Godisch Wed, 28 Jul 2004 16:47:42 +0200 + +tcsh (6.13.01-3) unstable; urgency=low + + * Fixed NLS abortion once more, closes: #261417. + + -- Martin A. Godisch Mon, 26 Jul 2004 19:51:58 +0200 + +tcsh (6.13.01-2) unstable; urgency=low + + * Fixed NLS abortion, closes: #261417. + * Added watch file. + + -- Martin A. Godisch Mon, 26 Jul 2004 17:43:40 +0200 + +tcsh (6.13.01-1) unstable; urgency=low + + * New upstream release. + * Fixed POSIX compliance of debian/rules. + + -- Martin A. Godisch Sun, 25 Jul 2004 07:28:24 +0200 + +tcsh (6.13.00-1) unstable; urgency=low + + * New upstream release. + + -- Martin A. Godisch Wed, 19 May 2004 20:06:36 +0200 + +tcsh (6.12.03-1) unstable; urgency=low + + * New upstream release. + * Installed Fixes as changelog.gz. + + -- Martin A. Godisch Wed, 24 Mar 2004 16:37:55 +0100 + +tcsh (6.12.02-1) unstable; urgency=low + + * New upstream release. + + -- Martin A. Godisch Sun, 22 Feb 2004 16:40:35 +0100 + +tcsh (6.12.00-10) unstable; urgency=low + + * Updated completions, closes: #223800. + + -- Martin A. Godisch Fri, 12 Dec 2003 19:22:35 +0100 + +tcsh (6.12.00-9) unstable; urgency=low + + * Updated completions, closes: #221600. + + -- Martin A. Godisch Sun, 23 Nov 2003 12:17:10 +0100 + +tcsh (6.12.00-8) unstable; urgency=low + + * Applied completion patch for $hosts and ssh, thanks to Jayen Ashar, + moved completion file to /etc/complete.tcsh, closes: #214302. + * Completion file cleanup and upstream resynchronization. + * Updated standards version. + + -- Martin A. Godisch Wed, 08 Oct 2003 20:33:10 +0200 + +tcsh (6.12.00-7) unstable; urgency=low + + * Added ja_JP.eucJP patch for tcsh-kanji, closes: #210865, + thanks to Suehiro-san, NAKANO Takeo. + * Updated package description. + + -- Martin A. Godisch Sun, 14 Sep 2003 18:30:16 +0200 + +tcsh (6.12.00-6) unstable; urgency=low + + * Fixed ignoreeof, closes: #203945. + + -- Martin A. Godisch Tue, 05 Aug 2003 17:00:24 +0200 + +tcsh (6.12.00-5) unstable; urgency=low + + * Updated patch for bug #191708, thanks to Pixel and Christos Zoulas. + * Added patch to build-dependencies. + * Removed C locale files. + * Updated package description. + * Updated standards version. + * Thanks to Matej Vela for co-maintaining. + + -- Martin A. Godisch Sat, 02 Aug 2003 08:31:25 +0200 + +tcsh (6.12.00-4) unstable; urgency=low + + * Fixed debian/rules in case that the build target is not run as root. + + -- Martin A. Godisch Sat, 24 May 2003 21:13:10 +0200 + +tcsh (6.12.00-3) unstable; urgency=low + + * Fixed cmd parsing for correct = cmd, closes: #75974. + * Added source command argument expansion, closes: #78380. + * Added manual note for "unlimit descriptors", closes: #142367. + + -- Martin A. Godisch Sat, 24 May 2003 18:09:40 +0200 + +tcsh (6.12.00-2) unstable; urgency=low + + * Fixed compiler warning on alpha and ia64, thanks to Adam Lackorzynski. + * Fixed nostrip and substvars handling. + * Added csh-mode.el for Emacs. + * Updated package description. + * Added priority for the source package. + + -- Martin A. Godisch Fri, 23 May 2003 16:27:05 +0200 + +tcsh (6.12.00-1) unstable; urgency=low + + * New maintainer, closes: #194033, + * Closing NMUs, closes: #93246, #132111, #139758, #63087, #80417, #137178. + * New upstream release, closes: #40584, #67138, #187970, #138429, #189313; + removed several patches which are now in the upstream source. + * Merged binary package tcsh-i18n into tcsh and tcsh-kanji. The tcsh-i18n + binary package was only 98 KB big, ftp-masters: please remove tcsh-i18n. + * Updated default config files, closes: #108177, #155974. + * Updated completion examples, closes: #185597, #191218. + * Applied Chinese input patch, closes: #191708. + * Fixed wording in manual page, closes: #76604. + * Fixed typo in French l10n, closes: #175750. + * Removed dependency on debhelper, added dependency on autotools-dev. + * Removed glob.3 manual page which is also in package manpages-dev. + * Removed skeleton files, added csh.whynot to /usr/share/doc/tcsh/. + * debian/ cleanup, closes: #183971. + + -- Martin A. Godisch Wed, 21 May 2003 11:14:30 +0200 + +tcsh (6.11.00-2.2) unstable; urgency=low + + * NMU. + * When invoked as csh, default to bsd echo. Closes: #63087. + * Language code for Greek is "el". Closes: #80417. + * Fix typo in postinst. Closes: #137178. + + -- Matej Vela Tue, 9 Jul 2002 16:18:55 +0200 + +tcsh (6.11.00-2.1) unstable; urgency=low + + * NMU. + * Hand-apply patch to fix build on MIPS. (Closes: #139758) + + -- Chris Lawrence Tue, 2 Apr 2002 04:56:42 -0600 + +tcsh (6.11.00-2) unstable; urgency=low + + * Added the new config.guess and config.sub (closes: #135287) + + -- Luis Francisco Gonzalez Sat, 23 Feb 2002 12:47:22 +0000 + +tcsh (6.11.00-1) unstable; urgency=low + + * Updated new version: packaged by James Moss + Thanks for this work! (closes: #111623) + * Thanks to all the people doing the NMUs. + (closes: #88372, #94727, #76555, #88370, #94214, #99593, #82972) + * Other NMU fixes. + (closes: #88574, #78483) + * Applied patch supplied by Fumitoshi UKAI + (closes: #131692) + * Removed advertising clause (closes: #123832) + * Applied fix suggested by Nathan Scott for + large file support (closes: #117120) + + -- Luis Francisco Gonzalez Wed, 20 Feb 2002 23:01:44 +0000 + +tcsh (6.10-0.3) unstable; urgency=low + + * Non-maintainer upload. + * Make /etc/csh.* and /etc/skel/.* conffiles in tcsh-kanji as well as tcsh + (closes: #93246, #132111). + * Install glob(3tcsh) in tcsh-kanji as well as tcsh, and symlink to it + from globfree(3tcsh) in both (closes: #99593). + + -- Colin Watson Sat, 9 Feb 2002 13:27:44 +0000 + +tcsh (6.10-0.2) unstable; urgency=low + + * NMU + * Updated config.{guess,sub} + * Added build-depends + + -- Randolph Chung Sat, 7 Jul 2001 02:57:52 -0600 + +tcsh (6.10-0.1) unstable; urgency=low + + * NMU + * new upstream (closes: #78483) + * S/390 support already done upstream (closes: #88574) + * manpage patch (closes: #82972) (send this upstream) + * include time.h to build (closes: #88372) + * bug 76555 was fixed in 6.09.03-2 (closes: #76555) + + -- Adrian Bridgett Thu, 22 Mar 2001 00:13:24 +0000 + +tcsh (6.09.03-2.1) unstable; urgency=low + + * Non-Maintainer Upload + * Check correct Japanese locale name (closes: #61842) + + -- Tomohiro KUBOTA Tue, 6 Feb 2001 22:46:27 +0900 + +csh (6.09.03-2) unstable; urgency=low + + * Fixed relative symlink to top level directory (Closes #76555) + + -- Luis Francisco Gonzalez Thu, 9 Nov 2000 00:01:45 +0000 + +tcsh (6.09.03-1) unstable; urgency=high + + * New upstream source + * Fixed security hole in the way temporary files are created for + << redirection (Fixes Bug#76364, Bug#76402) + * Moved the executable to /bin as per FHS + + -- Luis Francisco Gonzalez Mon, 6 Nov 2000 22:45:24 +0000 + +tcsh (6.09.00-9) frozen unstable; urgency=low + + * Corrected the priority of the tcsh-i18n package back to optional + + -- Luis Francisco Gonzalez Tue, 16 May 2000 20:47:33 +0100 + +tcsh (6.09.00-8) frozen unstable; urgency=low + + * /etc/csh.cshrc checks for ?$tcsh. Closes #59678 + * Upload to fronzen. How many times will I get this wrong... + + -- Luis Francisco Gonzalez Tue, 7 Mar 2000 23:16:22 +0000 + +tcsh (6.09.00-7) unstable; urgency=low + + * Corrected identification of pty for devpts. Closes #58985 + + -- Luis Francisco Gonzalez Tue, 7 Mar 2000 22:44:31 +0000 + +tcsh (6.09.00-6) frozen unstable; urgency=low + + * Changed condition in configure and configure.in to correct + erroneous alpha detection. Closes #58245 + + -- Luis Francisco Gonzalez Thu, 2 Mar 2000 23:05:34 +0000 + +tcsh (6.09.00-5) frozen unstable; urgency=low + + * Corrected definition in lnx-alpha configuration to put it in sync + with ix86. + * Reupload as the previous one only went to unstable. + + -- Luis Francisco Gonzalez Wed, 16 Feb 2000 22:08:44 +0000 + +tcsh (6.09.00-4) unstable; urgency=low + + * Patched problem found in tcsh-kanji. Thanks to ex8k-hbn@asahi-net.or.jp + for the patch. + + -- Luis Francisco Gonzalez Wed, 16 Feb 2000 21:36:23 +0000 + +tcsh (6.09.00-3) frozen unstable; urgency=low + + * Added DOOR to parseLSCOLORS Closes #57082 + + -- Luis Francisco Gonzalez Mon, 7 Feb 2000 22:05:01 +0000 + +tcsh (6.09.00-2) frozen unstable; urgency=low + + * Corrected problem with alternatives Bug#56480, Bug#53566 + * Allows calling newgrp with no arguments. Bug#45541 + * Miscelaneous lintian errors: + E: tcsh-kanji: postrm-does-not-call-updatemenus usr/lib/menu/tcsh + E: tcsh-kanji: incorrect-package-test tcsh /usr/lib/menu/tcsh + E: tcsh-kanji: FSSTND-dir-in-usr usr/doc/ + E: tcsh: postrm-does-not-call-updatemenus usr/lib/menu/tcsh + E: tcsh: FSSTND-dir-in-usr usr/doc/ + W: tcsh-i18n: postinst-does-not-set-usr-doc-link + W: tcsh-i18n: prerm-does-not-remove-usr-doc-link + -- Luis Francisco Gonzalez Sat, 29 Jan 2000 01:51:27 +0000 + +tcsh (6.09.00-1) unstable; urgency=low + + * New upstream version + * Changed standards + * Corrected handling of /usr/doc and /usr/share/doc + + -- Luis Francisco Gonzalez Fri, 17 Dec 1999 00:01:21 +0000 + +tcsh (6.08.06-2) unstable; urgency=medium + + * Backed out of workaround as it caused problems (Bug#52131) + * Implemented fix for LS_COLORS + * Changed /etc/csh.cshrc to check for $?TERM (Bug#41851) + * Closing Bug#28357 as I haven't gotten confirmation after my contact + that the bug still exists and I can't reproduce it + * Changed references to complete.tcsh in both the examples (Bug#49128) + + -- Luis Francisco Gonzalez Thu, 16 Dec 1999 18:13:14 +0000 + +tcsh (6.08.06-1.1) unstable; urgency=low + + * NMU + * Workaround for bug in LS_COLORS handling (bug#51603, bug#49531) + + -- Hamish Moffatt Fri, 3 Dec 1999 13:49:24 +1100 + +tcsh (6.08.06-1) unstable; urgency=low + + * New upstream version + * Fixed MACH bug (Fixes Bug#32246, Bug#38201) + * Upstream sources include fix for Bug#30621 + * Upstream sources include fix for Bug#34261 + * Changed /etc/csh.cshrc to include umask 002 (Fixes Bug#37779) + + -- Luis Francisco Gonzalez Thu, 8 Jul 1999 20:12:57 +0100 + +tcsh (6.08.01-3) frozen unstable; urgency=low + + * Fixed bug in rules that made compression of docs fail. (Bug#28858) + * Split the tcsh package into two, one with and w/o KANJI support + (Fixes Bug#28959) + + -- Luis Francisco Gonzalez Sun, 17 Jan 1999 14:13:09 +0000 + +tcsh (6.08.01-2.2) frozen unstable; urgency=medium + + * Reupload into frozen because the distribution was changed suddenly + *after* the last upload so it went into the wrong one. + + -- Martin Schulze Wed, 4 Nov 1998 05:59:26 +0100 + +tcsh (6.08.01-2.1) unstable; urgency=low + + * Non-maintainer release by request of maintainer + * Recompiled against ncurses4 + + -- Martin Schulze Sun, 1 Nov 1998 02:39:24 +0100 + +tcsh (6.08.01-2) unstable; urgency=low + + * Defined KANJI and DSPMBYTE to provide support for Japanese users + + -- Luis Francisco Gonzalez Thu, 29 Oct 1998 11:49:53 +0000 + +tcsh (6.08.01-1) unstable; urgency=low + + * New upstream version 6.08.01 with help of + Josip Rodin + + -- Luis Francisco Gonzalez Mon, 26 Oct 1998 17:34:32 +0000 + +tcsh (6.07.06-6) unstable; urgency=low + + * Added the italian translation by Massimo Bertozzi + + -- Luis Francisco Gonzalez Tue, 15 Sep 1998 11:47:18 +0100 + +tcsh (6.07.06-5) stable unstable; urgency=high + + * Plugged buffer overflow reported by Wichert Akkerman + + -- Luis Francisco Gonzalez Tue, 15 Sep 1998 11:13:35 +0100 + +tcsh (6.07.06-4) frozen unstable; urgency=low + + * Wrapped bindkey options with a check for tcsh to avoid clashes with + csh. (Fixes Bug#23201) + + -- Luis Francisco Gonzalez Fri, 12 Jun 1998 12:10:19 +0100 + +tcsh (6.07.06-3) frozen unstable; urgency=low + + * Added the patch suggested by Mark Eichin as reported in the tcsh + mailinglist. This should hopefully solve Bug#16150. (Attempt #2) + I have now backed from the patch by Dennis Clark. + * Added patches for compilation under Alphas. (Thanks to Christopher C + Chimelis) Bug#21924 + * Changed domainname to dnsdomainname in complete.tcsh. Closes Bug#22324. + + -- Luis Francisco Gonzalez Mon, 18 May 1998 12:59:06 +0100 + +tcsh (6.07.06-2) frozen unstable; urgency=low + + * Added definition for delete-char to /etc/csh.cshrc + (Thanks to Branden Robinson ) + Closes Bug#21852 + + -- Luis Francisco Gonzalez Wed, 29 Apr 1998 18:05:42 +0100 + +tcsh (6.07.06-1) frozen unstable; urgency=low + + * New upstream source with the new signals (Fixes Bug#10905) + * Included patch from Dennis Clark that solves the + runaway processes problem (Fixes Bug#16150 and Bug#21302) + * Simplified the files to /etc/skel and moved the originals to the + examples directory Bug#21057. + + -- Luis Francisco Gonzalez Mon, 20 Apr 1998 12:21:32 +0100 + +tcsh (6.07.02-7) unstable; urgency=low + + * Include the new Spanish translations. + + -- Luis Francisco Gonzalez Sun, 15 Mar 1998 17:45:05 +0000 + +tcsh (6.07.02-6) unstable; urgency=low + + * New maintainer + * Includes the message catalogs (Fixes #8569) + * Changed cwdcmd (Fixes #18114) + + -- Luis Francisco Gonzalez Thu, 12 Mar 1998 17:45:21 +0000 + +tcsh (6.07.02-5) unstable; urgency=high + + * Fixed a dangerous bug in bugfix to bug #820 (tcsh builtin `echo' + doesn't check write errors). Now tcsh won't enter an endless loop + (or, at least, it won't be my fault (hopefully)). This bugfix is + accepted by Christos Zoulas, the author of tcsh. + + -- Vadim Vygonets Sun, 21 Sep 1997 21:33:58 +0200 + +tcsh (6.07.02-4) unstable; urgency=high + + * Fixed bug #12721 (mixed linkage) by re-compiling. + + * Hopefully fixed bug #820 (tcsh builtin `echo' doesn't check + write errors) by applying patch by Juan Cespedes . + + -- Vadim Vygonets Thu, 18 Sep 1997 23:43:56 +0200 + +tcsh (6.07.02-3) unstable; urgency=low + + * Added -lcrypt by adding "rm -rf config.cache config.status config.log" + to debian/rules clean. + + -- Vadim Vygonets Wed, 6 Aug 1997 00:49:29 +0300 + +tcsh (6.07.02-2) unstable frozen; urgency=low + + * Fixed bug #8859 (Small changes for Debian/SPARC). + + -- Vadim Vygonets Mon, 21 Apr 1997 14:19:24 +0300 + +tcsh (6.07.02-1) unstable frozen; urgency=high + + * Upgraded upstream version. + + -- Vadim Vygonets Wed, 26 Mar 1997 01:33:20 +0300 + +tcsh (6.06-13) unstable; urgency=low + + * Moved complete.tcsh from /usr/doc/examples/tcsh to + /usr/doc/tcsh/examples. + + -- Vadim Vygonets Fri, 28 Feb 1997 13:25:44 +0200 + +tcsh (6.06-12) unstable; urgency=low + + * Fixed Bug #7609 (feature request for complete.tcsh file). + + -- Vadim Vygonets Tue, 25 Feb 1997 22:38:33 +0200 + +tcsh (6.06-11) unstable; urgency=low + + * Fixed Bug #6542 (tcsh configured not to be fully 8-bit clean) by + upgrading libc. + + -- Vadim Vygonets Sun, 26 Jan 1997 23:05:45 +0200 + +tcsh (6.06-10) stable; urgency=low + + * Fixed Bug #6089 (tcsh upgrade leaves symlink csh.1 -> tcsh.1) + by adding old diversion stuff I forgot to add into postinst. + + * Changed e-mail address. + + -- Vadim Vygonets Fri, 20 Dec 1996 01:11:40 +0200 + +tcsh (6.06-9) unstable frozen; urgency=low + + * Fixed Bug #5704 (tcsh install script fails) by changing prerm. + + -- Vadik Vygonets Sat, 7 Dec 1996 14:22:59 +0200 + +tcsh (6.06-8) upstable frozen; urgency=low + + * Fixed Bug #5582 (/etc/csh.cshrc destroys the default path). + + -- Vadik Vygonets Sun, 24 Nov 1996 03:19:44 +0200 + +tcsh (6.06-7) unstable frozen; urgency=high + + * Fixed Bug #4965 & Bug #5384 (tcsh executes .login before .cshrc). + + * Fixed Bug #5237 (tcsh contains invalid architecture). + + * Changed /etc/csh.cshrc and /etc/csh.login; added /etc/skel/.cshrc + and /etc/skel/.alias. + + -- Vadik Vygonets Sat, 16 Nov 1996 09:19:58 +0200 + +tcsh (6.06-6) stable; urgency=medium + + * fixed Bug #4746 (tcsh overwrites conffiles) by upgrading version of + dpkg. + + * gzipped man page. + + * Made tcsh understand "bye" command and rename "log" to "watchlog"; + aliased "log" to "watchlog" (in /etc/csh.cshrc) for compatibility. + + -- Vadik Vygonets Fri, 1 Nov 1996 23:37:37 +0200 + +tcsh (6.06-5) stable; urgency=high + + * couldn't fix Bug #4746 (tcsh overwrites conffiles), worked around it. + + -- Vadik Vygonets Sat, 12 Oct 1996 11:58:44 +0200 + +tcsh (6.06-4) stable; urgency=high + + * in config_f.h, defined NLS_CATALOGS, LOGIN_FIRST, NODOT, + undefined DOTLAST. + + * in config/linux: defined VFORK. + + * in host.defs: defined VENDOR to unknown, HOSTTYPE to i386-linux + and MACHTYPE to i386 even if compiled on i486 or higher machine. + + * in pathnames.h: returned the original default definition of + _PATH_TCSHELL to "/usr/local/bin/tcsh", but made it + "/usr/bin/tcsh" under linux; linked /bin/tcsh to /usr/bin/tcsh. + + * tcsh now provides c-shell. + + * tcsh now uses update-alternatives. + + * Upgraded the package to meet last dpkg standards (2.1.1.0). + + * Taken over package from Andrew Howell. + + -- Vadik Vygonets Wed, 10 Oct 1996 02:28:10 +0200 + +tcsh (6.06-3); + + * Compiled with ncurses shared library. + * Removed PACKAGE_REVISION. + * Removed -m486 compiler option. + * Defined SYSMALLOC so tcsh has no problems with libc > 5.3.2. + * Fixed Bug#2155 and #2230: tcsh - aborts if unknown TERM at login. + -- 960308 + +tcsh (6.06-2); + + * Converted to ELF. + -- 951123 + +tcsh (6.06-1); + + * Upgraded to latest version. + * Taken over package from Ian Murdoch + -- 950928 Andrew Howell + +tcsh (6.05-4); + * added Debian GNU/Linux package maintenance system files + * applied patches to fix resolver lookup hangs (from Bruce Perens) + + --- tcsh-6.18.01.orig/debian/csh.login +++ tcsh-6.18.01/debian/csh.login @@ -0,0 +1,8 @@ +# /etc/csh.login: system-wide .login file for csh(1) and tcsh(1) + +# allow for other packages/system admins to customize the shell environment +if (-e /etc/csh/login.d && `/bin/ls /etc/csh/login.d` != "") then + foreach FILE (`/bin/ls /etc/csh/login.d/*`) + source $FILE; + end; +endif --- tcsh-6.18.01.orig/debian/csh.logout +++ tcsh-6.18.01/debian/csh.logout @@ -0,0 +1 @@ +# /etc/csh.logout: system-wide .logout file for csh(1) and tcsh(1) --- tcsh-6.18.01.orig/debian/README.Debian +++ tcsh-6.18.01/debian/README.Debian @@ -0,0 +1,19 @@ +tcsh for Debian +--------------- + +The conffile /etc/csh.cshrc has as default the "del" key bound to +delete-char. The manual file has been updated to reflect this. + +You may want to set a symbolic link to /bin/tcsh in the /usr/local/bin +directory. Most tcsh scripts use this path. There is a FAQ describing +why csh programming is considered harmful. Setting the link up is also +useful when you have a network with various Unix boxen and users which +use /usr/local/bin/tcsh as their shells. + +There are two tcsh related mailing lists, visit +http://www.tcsh.org/MailingLists if you want to subscribe. + +The tcsh bug tracker is available at +http://bugs.gw.com/ + + -- Thomas Lange , Thu, 21 Jul 2011 22:36:15 +0200 --- tcsh-6.18.01.orig/debian/README.source +++ tcsh-6.18.01/debian/README.source @@ -0,0 +1,58 @@ +This package uses quilt to manage all modifications to the upstream +source. Changes are stored in the source package as diffs in +debian/patches and applied during the build. + +To configure quilt to use debian/patches instead of patches, you want +either to export QUILT_PATCHES=debian/patches in your environment +or use this snippet in your ~/.quiltrc: + + for where in ./ ../ ../../ ../../../ ../../../../ ../../../../../; do + if [ -e ${where}debian/rules -a -d ${where}debian/patches ]; then + export QUILT_PATCHES=debian/patches + break + fi + done + +To get the fully patched source after unpacking the source package, cd to +the root level of the source package and run: + + quilt push -a + +The last patch listed in debian/patches/series will become the current +patch. + +To add a new set of changes, first run quilt push -a, and then run: + + quilt new + +where is a descriptive name for the patch, used as the filename in +debian/patches. Then, for every file that will be modified by this patch, +run: + + quilt add + +before editing those files. You must tell quilt with quilt add what files +will be part of the patch before making changes or quilt will not work +properly. After editing the files, run: + + quilt refresh + +to save the results as a patch. + +Alternately, if you already have an external patch and you just want to +add it to the build system, run quilt push -a and then: + + quilt import -P /path/to/patch + quilt push -a + +(add -p 0 to quilt import if needed). as above is the filename to +use in debian/patches. The last quilt push -a will apply the patch to +make sure it works properly. + +To remove an existing patch from the list of patches that will be applied, +run: + + quilt delete + +You may need to run quilt pop -a to unapply patches first before running +this command. --- tcsh-6.18.01.orig/debian/rules +++ tcsh-6.18.01/debian/rules @@ -0,0 +1,44 @@ +#!/usr/bin/make -f +# +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +-include /usr/share/dpkg/buildflags.mk +export CPPFLAGS CFLAGS LDFLAGS + +CFLAGS += -D_FILE_OFFSET_BITS=64 + +%: + dh --with quilt $@ + +override_dh_auto_configure: + cp /usr/share/misc/config.sub . + cp /usr/share/misc/config.guess . + dh_auto_configure +# dh_auto_configure -- --mandir=\$${prefix}/share/man + + +override_dh_auto_build: + $(MAKE) + $(MAKE) catalogs + +override_dh_auto_install: + dh_auto_install + $(MAKE) install.man DESTDIR=$(CURDIR)/debian/tcsh/ + install -d -m 0755 debian/tcsh/bin + ln -s /usr/bin/tcsh debian/tcsh/bin/tcsh + install -d -m 0755 debian/tcsh/etc debian/tcsh/etc/csh debian/tcsh/etc/csh/login.d debian/tcsh/usr/share/doc/tcsh + install -m 0644 debian/csh.cshrc debian/csh.login debian/csh.logout complete.tcsh debian/tcsh/etc + install -D -m 0644 csh-mode.el debian/tcsh/usr/share/emacs/site-lisp/csh-mode.el + dh_installchangelogs -a Fixes + dh_installexamples -a complete.tcsh + +override_dh_auto_test: + LS_COLORS= make check || (cat testsuite.log ; false) + +override_dh_auto_clean: + [ ! -f nls/Makefile ] || make -C nls clean + dh_auto_clean + rm -f atconfig + rm -rf tests/package.m4 tests/testsuite testsuite.dir testsuite.log + --- tcsh-6.18.01.orig/debian/postrm +++ tcsh-6.18.01/debian/postrm @@ -0,0 +1,45 @@ +#! /bin/bash +# postrm script for tcsh +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' overwrit>r> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + rm -f /usr/share/emacs/site-lisp/csh-mode.elc + + if [ -x /usr/sbin/remove-shell ]; then + remove-shell /bin/tcsh /usr/bin/tcsh + fi + + if [ -x /usr/bin/update-menus ]; then + update-menus + fi + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 --- tcsh-6.18.01.orig/debian/watch +++ tcsh-6.18.01/debian/watch @@ -0,0 +1,2 @@ +version=3 +opts=pasv ftp://ftp.astron.com/pub/tcsh/tcsh-(.*)\.tar\.gz debian --- tcsh-6.18.01.orig/debian/copyright +++ tcsh-6.18.01/debian/copyright @@ -0,0 +1,30 @@ +This package was redebianized by Franz Pletz on +Thu, 11 May 2006 20:05:34 +0200. + +It was downloaded from ftp://ftp.astron.com/pub/tcsh/ + +Copyright Holder: 1980 - 1991 The Regents of the University of California. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. --- tcsh-6.18.01.orig/debian/compat +++ tcsh-6.18.01/debian/compat @@ -0,0 +1 @@ +7 --- tcsh-6.18.01.orig/debian/docs +++ tcsh-6.18.01/debian/docs @@ -0,0 +1,7 @@ +BUGS +FAQ +README +Ported +WishList +Y2K +debian/csh-whynot --- tcsh-6.18.01.orig/debian/prerm +++ tcsh-6.18.01/debian/prerm @@ -0,0 +1,40 @@ +#! /bin/bash +# prerm script for tcsh +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + remove|upgrade|deconfigure) + update-alternatives --remove csh /bin/tcsh + ;; + + failed-upgrade) + ;; + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- tcsh-6.18.01.orig/debian/csh-whynot +++ tcsh-6.18.01/debian/csh-whynot @@ -0,0 +1,573 @@ +From comp.unix.shell Thu Sep 28 16:13:17 1995 +Path: night.primate.wisc.edu!nntp.msstate.edu!gatech!news.sprintlink.net!in1.uu.net!boulder!csnews!mox!tchrist +From: Tom Christiansen +Newsgroups: comp.unix.shell,comp.unix.questions,comp.unix.programmer,comp.answers,news.answers,comp.infosystems.www.authoring.cgi +Subject: Csh Programming Considered Harmful +Followup-To: comp.unix.shell +Date: 28 Sep 1995 18:52:45 GMT +Organization: scant +Lines: 560 +Approved: news-answers-request@MIT.Edu +Expires: Fri, 1 Nov 1994 12:00:00 GMT +Message-ID: <44eqtt$h7j@csnews.cs.colorado.edu> +NNTP-Posting-Host: perl.com +Originator: tchrist@mox +Xref: night.primate.wisc.edu comp.unix.shell:8718 comp.unix.questions:16357 comp.unix.programmer:10254 comp.answers:5900 news.answers:20987 comp.infosystems.www.authoring.cgi:10967 + +Archive-name: unix-faq/shell/csh-whynot +Version: $xd: csh-faq,v 1.7 95/09/28 12:52:17 tchrist Exp Locker: tchrist $ + +The following periodic article answers in excruciating detail +the frequently asked question "Why shouldn't I program in csh?". +It is available for anon FTP from perl.com in /pub/perl/versus/csh-whynot.gz + + + + *** CSH PROGRAMMING CONSIDERED HARMFUL *** + + Resolved: The csh is a tool utterly inadequate for programming, + and its use for such purposes should be strictly banned! + +I am continually shocked and dismayed to see people write test cases, +install scripts, and other random hackery using the csh. Lack of +proficiency in the Bourne shell has been known to cause errors in /etc/rc +and .cronrc files, which is a problem, because you *must* write these files +in that language. + +The csh is seductive because the conditionals are more C-like, so the path +of least resistance is chosen and a csh script is written. Sadly, this is +a lost cause, and the programmer seldom even realizes it, even when they +find that many simple things they wish to do range from cumbersome to +impossible in the csh. + + +1. FILE DESCRIPTORS + +The most common problem encountered in csh programming is that +you can't do file-descriptor manipulation. All you are able to +do is redirect stdin, or stdout, or dup stderr into stdout. +Bourne-compatible shells offer you an abundance of more exotic +possibilities. + +1a. Writing Files + +In the Bourne shell, you can open or dup arbitrary file descriptors. +For example, + + exec 2>errs.out + +means that from then on, stderr goes into errs file. + +Or what if you just want to throw away stderr and leave stdout +alone? Pretty simple operation, eh? + + cmd 2>/dev/null + +Works in the Bourne shell. In the csh, you can only make a pitiful +attempt like this: + + (cmd > /dev/tty) >& /dev/null + +But who said that stdout was my tty? So it's wrong. This simple +operation *CANNOT BE DONE* in the csh. + + +Along these same lines, you can't direct error messages in csh scripts +out stderr as is considered proper. In the Bourne shell, you might say: + + echo "$0: cannot find $file" 1>&2 + +but in the csh, you can't redirect stdout out stderr, so you end +up doing something silly like this: + + sh -c 'echo "$0: cannot find $file" 1>&2' + +1b. Reading Files + +In the csh, all you've got is $<, which reads a line from your tty. What +if you've redirected stdin? Tough noogies, you still get your tty, which +you really can't redirect. Now, the read statement +in the Bourne shell allows you to read from stdin, which catches +redirection. It also means that you can do things like this: + + exec 3&-, which isn't the same as redirecting it +to /dev/null. + +1d. More Elaborate Combinations + +Maybe you want to pipe stderr to a command and leave stdout alone. +Not too hard an idea, right? You can't do this in the csh as I +mentioned in 1a. In a Bourne shell, you can do things like this: + + exec 3>&1; grep yyy xxx 2>&1 1>&3 3>&- | sed s/file/foobar/ 1>&2 3>&- + grep: xxx: No such foobar or directory + +Normal output would be unaffected. The closes there were in case +something really cared about all its FDs. We send stderr to sed, +and then put it back out 2. + +Consider the pipeline: + + A | B | C + +You want to know the status of C, well, that's easy: it's in $?, or +$status in csh. But if you want it from A, you're out of luck -- if +you're in the csh, that is. In the Bourne shell, you can get it, although +doing so is a bit tricky. Here's something I had to do where I ran dd's +stderr into a grep -v pipe to get rid of the records in/out noise, but had +to return the dd's exit status, not the grep's: + + device=/dev/rmt8 + dd_noise='^[0-9]+\+[0-9]+ records (in|out)$' + exec 3>&1 + status=`((dd if=$device ibs=64k 2>&1 1>&3 3>&- 4>&-; echo $? >&4) | + egrep -v "$dd_noise" 1>&2 3>&- 4>&-) 4>&1` + exit $status; + + +The csh has also been known to close all open file descriptors besides +the ones it knows about, making it unsuitable for applications that +intend to inherit open file descriptors. + + +2. COMMAND ORTHOGONALITY + +2a. Built-ins + +The csh is a horrid botch with its built-ins. You can't put them +together in many reasonable ways. Even simple little things like this: + + % time | echo + +which while nonsensical, shouldn't give me this message: + + Reset tty pgrp from 9341 to 26678 + +Others are more fun: + + % sleep 1 | while + while: Too few arguments. + [5] 9402 + % jobs + [5] 9402 Done sleep | + + +Some can even hang your shell. Try typing ^Z while you're sourcing +something, or redirecting a source command. Just make sure you have +another window handy. Or try + + % history | more + +on some systems. + +Aliases are not evaluated everywhere you would like them do be: + + % alias lu 'ls -u' + % lu + HISTORY News bin fortran lib lyrics misc tex + Mail TEX dehnung hpview logs mbox netlib + % repeat 3 lu + lu: Command not found. + lu: Command not found. + lu: Command not found. + + % time lu + lu: Command not found. + + +2b. Flow control + +You can't mix flow-control and commands, like this: + + who | while read line; do + echo "gotta $line" + done + + +You can't combine multiline constructs in a csh using semicolons. +There's no easy way to do this + + alias cmd 'if (foo) then bar; else snark; endif' + + +You can't perform redirections with if statements that are +evaluated solely for their exit status: + + if ( { grep vt100 /etc/termcap > /dev/null } ) echo ok + +And even pipes don't work: + + if ( { grep vt100 /etc/termcap | sed 's/$/###' } ) echo ok + +But these work just fine in the Bourne shell: + + if grep vt100 /etc/termcap > /dev/null ; then echo ok; fi + + if grep vt100 /etc/termcap | sed 's/$/###/' ; then echo ok; fi + + +Consider the following reasonable construct: + + if ( { command1 | command2 } ) then + ... + endif + +The output of command1 won't go into the input of command2. You will get +the output of both commands on standard output. No error is raised. In +the Bourne shell or its clones, you would say + + if command1 | command2 ; then + ... + fi + + +2c. Stupid parsing bugs + +Certain reasonable things just don't work, like this: + + % kill -1 `cat foo` + `cat foo`: Ambiguous. + +But this is ok: + + % /bin/kill -1 `cat foo` + +If you have a stopped job: + + [2] Stopped rlogin globhost + +You should be able to kill it with + + % kill %?glob + kill: No match + +but + + % fg %?glob + +works. + +White space can matter: + + if(expr) + +may fail on some versions of csh, while + + if (expr) + +works! Your vendor may have attempted to fix this bug, but odds are good +that their csh still won't be able to handle + + if(0) then + if(1) then + echo A: got here + else + echo B: got here + endif + echo We should never execute this statement + endif + + + +3. SIGNALS + +In the csh, all you can do with signals is trap SIGINT. In the Bourne +shell, you can trap any signal, or the end-of-program exit. For example, +to blow away a tempfile on any of a variety of signals: + + $ trap 'rm -f /usr/adm/tmp/i$$ ; + echo "ERROR: abnormal exit"; + exit' 1 2 3 15 + + $ trap 'rm tmp.$$' 0 # on program exit + + + +4. QUOTING + +You can't quote things reasonably in the csh: + + set foo = "Bill asked, \"How's tricks?\"" + +doesn't work. This makes it really hard to construct strings with +mixed quotes in them. In the Bourne shell, this works just fine. +In fact, so does this: + + cd /mnt; /usr/ucb/finger -m -s `ls \`u\`` + +Dollar signs cannot be escaped in double quotes in the csh. Ug. + + set foo = "this is a \$dollar quoted and this is $HOME not quoted" + dollar: Undefined variable. + +You have to use backslashes for newlines, and it's just darn hard to +get them into strings sometimes. + + set foo = "this \ + and that"; + echo $foo + this and that + echo "$foo" + Unmatched ". + +Say what? You don't have these problems in the Bourne shell, where it's +just fine to write things like this: + + echo 'This is + some text that contains + several newlines.' + + +As distributed, quoting history references is a challenge. Consider: + + % mail adec23!alberta!pixel.Convex.COM!tchrist + alberta!pixel.Convex.COM!tchri: Event not found. + + +5. VARIABLE SYNTAX + +There's this big difference between global (environment) and local +(shell) variables. In csh, you use a totally different syntax +to set one from the other. + +In the Bourne shell, this + VAR=foo cmds args + is the same as + (export VAR; VAR=foo; cmd args) +or csh's + (setenv VAR; cmd args) + +You can't use :t, :h, etc on envariables. Watch: + echo Try testing with $SHELL:t + +It's really nice to be able to say + + ${PAGER-more} +or + FOO=${BAR:-${BAZ}} + +to be able to run the user's PAGER if set, and more otherwise. +You can't do this in the csh. It takes more verbiage. + +You can't get the process number of the last background command from the +csh, something you might like to do if you're starting up several jobs in +the background. In the Bourne shell, the pid of the last command put in +the background is available in $!. + +The csh is also flaky about what it does when it imports an +environment variable into a local shell variable, as it does +with HOME, USER, PATH, and TERM. Consider this: + + % setenv TERM '`/bin/ls -l / > /dev/tty`' + % csh -f + +And watch the fun! + + +6. EXPRESSION EVALUATION + +Consider this statement in the csh: + + + if ($?MANPAGER) setenv PAGER $MANPAGER + + +Despite your attempts to only set PAGER when you want +to, the csh aborts: + + MANPAGER: Undefined variable. + +That's because it parses the whole line anyway AND EVALUATES IT! +You have to write this: + + if ($?MANPAGER) then + setenv PAGER $MANPAGER + endif + +That's the same problem you have here: + + if ($?X && $X == 'foo') echo ok + X: Undefined variable + +This forces you to write a couple nested if statements. This is highly +undesirable because it renders short-circuit booleans useless in +situations like these. If the csh were the really C-like, you would +expect to be able to safely employ this kind of logic. Consider the +common C construct: + + if (p && p->member) + +Undefined variables are not fatal errors in the Bourne shell, so +this issue does not arise there. + +While the csh does have built-in expression handling, it's not +what you might think. In fact, it's space sensitive. This is an +error + + @ a = 4/2 + +but this is ok + + @ a = 4 / 2 + + +The ad hoc parsing csh employs fouls you up in other places +as well. Consider: + + % alias foo 'echo hi' ; foo + foo: Command not found. + % foo + hi + + + +7. ERROR HANDLING + +Wouldn't it be nice to know you had an error in your script before +you ran it? That's what the -n flag is for: just check the syntax. +This is especially good to make sure seldom taken segments of code +code are correct. Alas, the csh implementation of this doesn't work. +Consider this statement: + + exit (i) + +Of course, they really meant + + exit (1) + +or just + + exit 1 + +Either shell will complain about this. But if you hide this in an if +clause, like so: + + #!/bin/csh -fn + if (1) then + exit (i) + endif + +The csh tells you there's nothing wrong with this script. The equivalent +construct in the Bourne shell, on the other hand, tells you this: + + + #!/bin/sh -n + if (1) then + exit (i) + endif + + /tmp/x: syntax error at line 3: `(' unexpected + + + +RANDOM BUGS + +Here's one: + + fg %?string + ^Z + kill %?string + No match. + +Huh? Here's another + + !%s%x%s + +Coredump, or garbage. + +If you have an alias with backquotes, and use that in backquotes in +another one, you get a coredump. + +Try this: + % repeat 3 echo "/vmu*" + /vmu* + /vmunix + /vmunix +What??? + + +Here's another one: + + % mkdir tst + % cd tst + % touch '[foo]bar' + % foreach var ( * ) + > echo "File named $var" + > end + foreach: No match. + + +8. SUMMARY + + +While some vendors have fixed some of the csh's bugs (the tcsh also does +much better here), many have added new ones. Most of its problems can +never be solved because they're not actually bugs per se, but rather the +direct consequences of braindead design decisions. It's inherently flawed. + +Do yourself a favor, and if you *have* to write a shell script, do it in the +Bourne shell. It's on every UNIX system out there. However, behavior +can vary. + +There are other possibilities. + +The Korn shell is the preferred programming shell by many sh addicts, +but it still suffers from inherent problems in the Bourne shell's design, +such as parsing and evaluation horrors. The Korn shell or its +public-domain clones and supersets (like bash) aren't quite so ubiquitous +as sh, so it probably wouldn't be wise to write a sharchive in them that +you post to the net. When 1003.2 becomes a real standard that companies +are forced to adhere to, then we'll be in much better shape. Until +then, we'll be stuck with bug-incompatible versions of the sh lying about. + +The Plan 9 shell, rc, is much cleaner in its parsing and evaluation; it is +not widely available, so you'd be significantly sacrificing portability. +No vendor is shipping it yet. + +If you don't have to use a shell, but just want an interpreted language, +many other free possibilities present themselves, like Perl, REXX, TCL, +Scheme, or Python. Of these, Perl is probably the most widely available +on UNIX (and many other) systems and certainly comes with the most +extensive UNIX interface. Increasing numbers vendors ship Perl with +their standard systems. (See the comp.lang.perl FAQ for a list.) + +If you have a problem that would ordinarily use sed or awk or sh, but it +exceeds their capabilities or must run a little faster, and you don't want +to write the silly thing in C, then Perl may be for you. You can get +at networking functions, binary data, and most of the C library. There +are also translators to turn your sed and awk scripts into Perl scripts, +as well as a symbolic debugger. Tchrist's personal rule of thumb is +that if it's the size that fits in a Makefile, it gets written in the +Bourne shell, but anything bigger gets written in Perl. + +See the comp.lang.{perl,rexx,tcl} newsgroups for details about these +languages (including FAQs), or David Muir Sharnoff's comparison of +freely available languages and tools in comp.lang.misc and news.answers. + +NOTE: Doug Hamilton has a program that he sells for +profit for little toy non-UNIX systems. He calls it 'csh' or the +'hamilton csh', but it's not a csh as it's neither bug nor feature +compatible with the real csh. Actually, he's fixed a great deal, but +in doing so, has created a totally different shell. +-- +Tom Christiansen Perl Consultant, Gamer, Hiker tchrist@mox.perl.com --- tcsh-6.18.01.orig/debian/postinst +++ tcsh-6.18.01/debian/postinst @@ -0,0 +1,51 @@ +#! /bin/bash +# postinst script for tcsh +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package +# + +case "$1" in + configure) + update-alternatives \ + --install /bin/csh csh /bin/tcsh 20 \ + --slave /usr/share/man/man1/csh.1.gz csh.1.gz /usr/share/man/man1/tcsh.1.gz + + if [ -x /usr/sbin/add-shell ]; then + add-shell /bin/tcsh /usr/bin/tcsh + fi + + if [ -x /usr/bin/update-menus ]; then + update-menus + fi + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- tcsh-6.18.01.orig/debian/control +++ tcsh-6.18.01/debian/control @@ -0,0 +1,18 @@ +Source: tcsh +Section: shells +Priority: optional +Maintainer: Thomas Lange +Build-Depends: autotools-dev, libncurses5-dev, quilt, debhelper, autoconf +Vcs-Git: git://git.debian.org/git/collab-maint/tcsh.git +Vcs-Browser: http://git.debian.org/?p=collab-maint/tcsh.git +Standards-Version: 3.9.3 +Homepage: http://www.tcsh.org/ + +Package: tcsh +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Provides: c-shell +Description: TENEX C Shell, an enhanced version of Berkeley csh + The TENEX C Shell is an enhanced version of the Berkeley Unix C shell. + It includes all features of 4.4BSD C shell, plus a command-line editor, + programmable word completion, spelling correction and more. --- tcsh-6.18.01.orig/debian/patches/co-completion +++ tcsh-6.18.01/debian/patches/co-completion @@ -0,0 +1,14 @@ +Author: Thomas Lange +Description: disable -co* completion +Debian-Bug: #628960 +--- tcsh.orig/complete.tcsh 2012-01-26 15:34:15.249242444 +0100 ++++ tcsh/complete.tcsh 2012-01-26 15:34:33.723494750 +0100 +@@ -177,8 +177,6 @@ + complete limit c/-/"(h)"/ n/*/l/ + complete unlimit c/-/"(h)"/ n/*/l/ + +- complete -co* p/0/"(compress)"/ # make compress completion +- # not ambiguous + if ($?traditional_complete) then + complete zcat n/*/f:*.Z/ + else --- tcsh-6.18.01.orig/debian/patches/01_build.1.patch +++ tcsh-6.18.01/debian/patches/01_build.1.patch @@ -0,0 +1,16 @@ +Author: Franz Pletz +Description: Original comment: Fix build +Not sure why we have this patch. Let's keep it for compatibility. +--- a/pathnames.h ++++ b/pathnames.h +@@ -92,6 +92,10 @@ + # define _PATH_TCSHELL "/local/bin/tcsh" /* use ram disk */ + #endif /* _MINIX && !_PATH_TCSHELL */ + ++#ifndef _PATH_TCSHELL ++# define _PATH_TCSHELL "/bin/tcsh" /* Debian */ ++#endif /* !_PATH_TCSHELL */ ++ + #if defined(__EMX__) && !defined(_PATH_DEVNULL) + # define _PATH_DEVNULL "nul" + #endif /* __EMX__ && !_PATH_DEVNULL */ --- tcsh-6.18.01.orig/debian/patches/disable-test-nice.patch +++ tcsh-6.18.01/debian/patches/disable-test-nice.patch @@ -0,0 +1,23 @@ +Author: Lucas Nussbaum +Description: disable test that fails on the buildd with + "setpriority: Permission denied". +--- a/tests/commands.at ++++ b/tests/commands.at +@@ -888,17 +888,6 @@ TCSH_UNTESTED([migrate]) + TCSH_UNTESTED([newgrp]) + + +-AT_SETUP([nice]) +- +-# Nothing really tested +-AT_CHECK([tcsh -f -c 'nice set var=1; echo $?var'], , +-[0 +-]) +- +- +-AT_CLEANUP +- +- + AT_SETUP([nohup]) + + AT_DATA([nohup.csh], --- tcsh-6.18.01.orig/debian/patches/01_build.3.patch +++ tcsh-6.18.01/debian/patches/01_build.3.patch @@ -0,0 +1,13 @@ +Author: Franz Pletz +Description: Enable NODOT +--- a/config_f.h ++++ b/config_f.h +@@ -98,7 +98,7 @@ + /* + * NODOT Don't put "." in the default path, for security reasons + */ +-#undef NODOT ++#define NODOT + + /* + * AUTOLOGOUT tries to determine if it should set autologout depending --- tcsh-6.18.01.orig/debian/patches/01_build.2.patch +++ tcsh-6.18.01/debian/patches/01_build.2.patch @@ -0,0 +1,13 @@ +Author: Franz Pletz +Description: Update manpage. +--- a/tcsh.man ++++ b/tcsh.man +@@ -578,7 +578,7 @@ Repeating \fIdabbrev-expand\fR without a + changes to the next previous word etc., skipping identical matches + much like \fIhistory-search-backward\fR does. + .TP 8 +-.B delete-char \fR(not bound) ++.B delete-char \fR(bound to `Del' if using the standard \fI/etc/csh.cshrc\fR) + Deletes the character under the cursor. + See also \fIdelete-char-or-list-or-eof\fR. + .TP 8 --- tcsh-6.18.01.orig/debian/patches/disable-test-notty.patch +++ tcsh-6.18.01/debian/patches/disable-test-notty.patch @@ -0,0 +1,30 @@ +From: Lucas Nussbaum +Description: Those tests fail when running the testsuite without a tty. Disabling them. + +--- a/tests/commands.at ++++ b/tests/commands.at +@@ -1203,11 +1203,6 @@ AT_SETUP([source]) + AT_DATA([script.csh], + [[set var=$1 + ]]) +-AT_CHECK([[tcsh -f -c 'source -h script.csh foo; history' \ +- | sed 's/ [^ ]* / TIME /']], , +-[ 1 TIME source -h script.csh foo ; history +- 2 TIME set var=$1 +-]) + + AT_CHECK([tcsh -f -c 'source -h script.csh foo; echo $var'], 1, [], + [var: Undefined variable. +--- a/tests/variables.at ++++ b/tests/variables.at +@@ -319,10 +319,6 @@ AT_CLEANUP + + AT_SETUP([$ edit]) + +-AT_CHECK([TERM=something tcsh -f -c 'echo $?edit'], , +-[1 +-]) +- + AT_CHECK([TERM=dumb tcsh -f -c 'echo $?edit'], , + [0 + ]) --- tcsh-6.18.01.orig/debian/patches/disable-lexical.at-31.patch +++ tcsh-6.18.01/debian/patches/disable-lexical.at-31.patch @@ -0,0 +1,30 @@ +--- a/tests/lexical.at ++++ b/tests/lexical.at +@@ -27,27 +27,6 @@ AT_CHECK([tcsh -f oneword.csh], , + + AT_CLEANUP + +- +-AT_SETUP([Comments]) +- +-AT_CHECK([echo 'echo OK@%:@comment' | tcsh -f], , [OK +-]) +- +-AT_CHECK([tcsh -f -c 'echo @%:@no comment'], , +-[@%:@no comment +-]) +- +-AT_DATA([comment2.csh], +-[[echo testing...@%:@\ +-OK +-]]) +-AT_CHECK([tcsh -f comment2.csh], , +-[testing... OK +-]) +- +-AT_CLEANUP +- +- + AT_SETUP([Escaping special characters]) + + AT_DATA([nosplit.csh], --- tcsh-6.18.01.orig/debian/patches/series +++ tcsh-6.18.01/debian/patches/series @@ -0,0 +1,8 @@ +co-completion +01_build.2.patch +01_build.3.patch +15_no-strip.patch +disable-test-notty.patch +disable-test-nice.patch +disable-lexical.at-31.patch +12_unknown_lscolors.patch --- tcsh-6.18.01.orig/debian/patches/15_no-strip.patch +++ tcsh-6.18.01/debian/patches/15_no-strip.patch @@ -0,0 +1,14 @@ +Author: Lucas Nussbaum +Description: do not strip binary + Stripping should be handled by dh_strip instead, so DEB_BUILD_OPTIONS=nostrip works. + Closes: #438109, #411607 +--- a/Makefile.in ++++ b/Makefile.in +@@ -596,7 +596,6 @@ install: tcsh$(EXEEXT) + -mkdir -p ${DESTBIN} + -mv -f ${DESTBIN}/tcsh$(EXEEXT) ${DESTBIN}/tcsh.old + cp tcsh$(EXEEXT) ${DESTBIN}/tcsh$(EXEEXT) +- -strip ${DESTBIN}/tcsh$(EXEEXT) + chmod 755 ${DESTBIN}/tcsh$(EXEEXT) + + install.man: tcsh.man --- tcsh-6.18.01.orig/debian/patches/12_unknown_lscolors.patch +++ tcsh-6.18.01/debian/patches/12_unknown_lscolors.patch @@ -0,0 +1,24 @@ +Author: Franz Pletz +Description: Don't die on unknown LS_COLORS values +Removing the patch causes a segfault when dircolors is set by coreutils' dircolors. +Debian-Bug: #592089 + +--- a/tw.color.c ++++ b/tw.color.c +@@ -239,13 +239,10 @@ parseLS_COLORS(const Char *value) + if ((Char)variables[i].variable[0] == (v[0] & CHAR) && + (Char)variables[i].variable[1] == (v[1] & CHAR)) + break; +- if (i < nvariables) { +- v += 3; ++ v += 3; ++ if (i < nvariables) + getstring(&c, &v, &variables[i].color, ':'); +- continue; +- } +- else +- stderror(ERR_BADCOLORVAR, v[0], v[1]); ++ continue; + } + break; + }