Gentoo Archives: gentoo-dev

From: Grobian <grobian@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] RFC: tcsh vs. csh, removal of the latter
Date: Sat, 28 Jan 2006 09:34:29
Message-Id: 20060128093155.GH10049@gentoo.org
In Reply to: Re: [gentoo-dev] RFC: tcsh vs. csh, removal of the latter by "Peter Volkov (pva)"
1 On 28-01-2006 12:05:30 +0300, Peter Volkov (pva) wrote:
2 > On Срд, 2006-01-25 at 20:57 +0100, Grobian wrote:
3 > > Are there any objections to removing csh from the tree? If there are no
4 > > problems with csh removal before Feb 1st 2006, then I will starting from
5 > > that date work on getting csh removed by masking it, blocking tcsh and
6 > > csh, and request for updates of the packages that depend on csh.
7 >
8 > Thinking a little bit on subject I'd say I object. There is a big
9 > difference in size between csh and tcsh:
10 > -rwxr-xr-x 1 root root 130148 Янв 28 08:11 /bin/csh
11 > -rwxr-xr-x 1 root root 299136 Янв 28 08:13 /bin/tcsh
12 > So tcsh is *2.3 times bigger* then csh. Of course, that's not a big pain
13 > for current desktop or server systems. But gentoo is used for different
14 > purposes... Also personally I like small system and I'm not using csh
15 > for anything except for installing packages. So I do not need anything
16 > except basic csh functionality. Thus for me it's better to leave csh and
17 > remove tcsh (I know this is bad solution ;) ).
18
19 Well, tcsh is still small comparing to bash:
20 -rwxr-xr-x 1 root root 739936 Jul 7 2005 /bin/bash
21 or to put it in perspective:
22 % la -h /bin/bash /bin/tcsh
23 -rwxr-xr-x 1 root root 723K Jul 7 2005 /bin/bash
24 -rwxr-xr-x 1 root root 304K Dec 30 10:48 /bin/tcsh
25
26 And for the full picture:
27 % ls -la /bin/{sh,csh,bash,tcsh}
28 -r-xr-xr-x 1 root bin 516392 Jan 6 2000 /bin/bash
29 -r-xr-xr-x 2 root bin 159196 Nov 22 2002 /bin/csh
30 -r-xr-xr-x 4 root root 95316 Nov 6 2002 /bin/sh
31 -r-xr-xr-x 1 root bin 331332 Mar 15 2001 /bin/tcsh
32
33 In fact, I'd like to have only sh, because I never use bash. However,
34 sh is quite picky and has some annoyances, that many people don't even
35 know of because they call bash sh.
36 I think that for csh and tcsh hold the same. If people refer to csh,
37 they usually just mean tcsh. (like vi means vim for most people ;) )
38
39 > > Problem here is that creating a conditional symlink for csh -> tcsh is a
40 > > bit dirty, and leaves the user with a system that has no csh in case the
41 > > csh is unmerged after tcsh was installed.
42 >
43 > To solve symlink problem I can suggest the following.
44 > 1. As it should be done now, tcsh should create symlink csh -> tcsh if
45 > csh does not exist (in src_install()).
46 >
47 > 2. csh ebuild should create csh -> tcsh symlink if tcsh exist during
48 > unmerge. This is possible with pkg_postrm:
49 > pkg_postrm () {
50 > [ -e /bin/tcsh ] && ln -s /bin/tcsh /bin/csh
51 > }
52 >
53 > 3. tcsh should remove csh -> tcsh symlink on unmerge.
54 > pkg_postrm () {
55 > [ -e /bin/tcsh ] && ln -s /bin/tcsh /bin/csh
56 > }
57 >
58 > Not a very clean solution, but works.
59
60 It can work like this, but I'm not in favour of it. Maybe someone with
61 some more experience with this kind of issues has come advice/comments
62 here.
63
64 > BTW. Why tcsh is a blocker for csh?
65
66 If tcsh just installs the symlink, it needs to block on csh, otherwise
67 collision-protect people will get an error during the merge phase.
68
69 Finally, csh and tcsh will always have to block each other, not because
70 of the symlink, but because they read the same config files, and I guess
71 that csh doesn't fully understand the tcsh config files. Would be luck
72 if it would. I just checked it, and no it doesn't.
73 We would for sure not be the only ones only to ship tcsh.
74
75 Thanks for your comments, though.
76
77
78 --
79 Fabian Groffen
80 --
81 gentoo-dev@g.o mailing list

Replies

Subject Author
Re: [gentoo-dev] RFC: tcsh vs. csh, removal of the latter Ciaran McCreesh <ciaranm@g.o>