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 |