Gentoo Archives: gentoo-dev

From: Ed Grimm <paranoid@××××××××××××××××××××××.org>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Handling multiple packages providing the same convenience symlink
Date: Fri, 05 Nov 2004 03:59:24
Message-Id: Pine.LNX.4.60.0411050323210.12724@mbeq.rq.iarg
In Reply to: Re: [gentoo-dev] Handling multiple packages providing the same convenience symlink by Graham Murray
1 On Thu, 4 Nov 2004, Graham Murray wrote:
2
3 > Ciaran McCreesh <ciaranm@g.o> writes:
4 >
5 >> A user installing any one of these packages would expect to be given
6 >> convenience symlinks which would allow them to access the packages
7 >> via the traditional names. Suddenly we have a problem -- what if a
8 >> user has more than one of these packages installed?
9 >
10 > Would it be possible for the emerge to only install the symlink if it
11 > does not already exist or if it is 'dangling'? Then allow the user to
12 > change the symlink if (s)he wishes to change the program called using
13 > the traditional names.
14
15 I think that this is the most sensible idea mentioned in this thread.
16 Admittedly, shortly after this message, the Grand System crowd came out
17 in force.
18
19 Personally, I'd augment the above with, 'Of course, the original package
20 (in this case, vi) would remove any symlinks it needed to remove in
21 order to install its binaries - this is the principle of "the actual
22 product trumps the emulator."', and then feel this is sufficient
23 direction to the coders.
24
25 Yeah, I know, this is Gentoo, so regardless of how complicated the spec
26 is, they're going to make a Grand System. But it'd be nice if the spec
27 at least were simple. This gives people more opportunity to fix
28 senseless complication later on by distinguishing between what was
29 perceived to be needed, and what was added in simply because it seemed
30 cool.
31
32 Personally, I'd implement the above with a wrapper around installing
33 links and another around installing files; the former checks to see if
34 os.stat(pathname) exists and is not a symlink, the latter checks to see
35 if os.lstat(pathname) exists and is not a symlink.
36
37 Ed
38
39 --
40 gentoo-dev@g.o mailing list