summaryrefslogtreecommitdiff
path: root/system/csh/README_Slackware.txt
diff options
context:
space:
mode:
Diffstat (limited to 'system/csh/README_Slackware.txt')
-rw-r--r--system/csh/README_Slackware.txt79
1 files changed, 79 insertions, 0 deletions
diff --git a/system/csh/README_Slackware.txt b/system/csh/README_Slackware.txt
new file mode 100644
index 0000000000..e3ebbcd0dc
--- /dev/null
+++ b/system/csh/README_Slackware.txt
@@ -0,0 +1,79 @@
+
+Notes for using SlackBuilds.org csh package:
+
+This csh build conflicts slightly with Slackware's tcsh package. The
+easiest way to use this is to "removepkg tcsh" before installing csh. If
+you want to do this, you can skip the next section.
+
+
+Installing csh and tcsh together
+--------------------------------
+
+It's possible for csh to coexist with tcsh, with a few caveats:
+
+The shell is installed as /usr/bin/csh to avoid conflicting with
+Slackware's own tcsh package (which makes /bin/csh a symlink to tcsh). If
+you want to make /bin/csh point to the real csh, you have two choices:
+
+1. remove the /bin/csh symlink before installing the csh package:
+ # rm -f /bin/csh
+ The /bin/csh symlink will get created when csh is installed.
+
+2. adjust the symlink manually after csh installation:
+ # rm -f /bin/csh
+ # ln -s ../usr/bin/csh /bin/csh
+ This works the same way as e.g. the /usr/bin/vi symlink, which points
+ to either elvis or vim.
+
+If you have both csh and Slackware's tcsh installed, and you remove csh,
+you'll want to reinstall tcsh to clean up afterwards.
+
+Removing tcsh while csh is installed should be perfectly OK.
+
+Installing/upgrading tcsh when csh is already installed is probably a
+bad idea. Remove csh first, install tcsh, then install csh.
+
+As far as I know, nothing in Slackware depends on tcsh, so if you
+mess things up, you won't break your OS. You can always put things
+back to Slackware's default state by removing both csh and tsch, then
+reinstalling tcsh.
+
+
+Using csh as a login shell
+--------------------------
+
+If you want to use csh as a login shell, be aware that Slackware's
+shipped /etc/csh.login (from the etc package) contains tcsh-specific
+code, which prevents the /etc/profile.d/*.csh scripts from running. This
+won't prevent you from logging in, but your environment won't be set up
+correctly, you'll see "[: No match." errors, and your prompt won't show
+your username, hostname, current directory as tsch does.
+
+To fix this, you can replace /etc/csh.login with the /etc/csh.login.new
+installed with the csh package. It behaves the same as the original,
+for tcsh, and has conditional code to make csh behave correctly.
+
+ # cp /etc/csh.login /etc/csh.login.orig # back up original just in case
+ # mv /etc/csh.login.new /etc/csh.login
+
+If you don't want to replace Slackware's csh.login, just rm
+/etc/csh.login.new and forget about it.
+
+
+Other notes
+-----------
+
+You should read the man page for csh. Also
+/usr/doc/csh-$VERSION/paper.(txt|pdf) is a good intro to the C shell for
+beginning users. Also, if you're an experienced tcsh user, you might
+re-read the NEW FEATURES section in tcsh's man page (it describes the
+tcsh features you won't find in csh).
+
+NEVER make csh the default shell for the root account! In fact, it's
+probably a bad idea to ever change root's default shell on any Linux or
+UNIX system, especially a third-party one that isn't shipped with the OS.
+
+The man page for csh states that "Words can be no longer than 1024
+characters", but this build of csh increases the limit to 8192 (actually,
+BUFSIZ as defined in stdio.h). This was done so Slackware's profile.d
+scripts will work correctly (particularly coreutils-dircolor.sh).