Gentoo Archives: gentoo-dev

From: Thomas de Grenier de Latour <degrenier@×××××××××××.fr>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Reverse dependency Scanning
Date: Mon, 25 Apr 2005 19:11:28
Message-Id: 20050425211117.308c1693@eusebe
In Reply to: Re: [gentoo-dev] Reverse dependency Scanning by Paul de Vrieze
1 On Mon, 25 Apr 2005 14:52:18 +0200
2 Paul de Vrieze <pauldv@g.o> wrote:
3
4 > Making the diagram vertical would probably be a big improvement.
5
6 Yep, that's very true. I've uploaded (same url) a new version
7 which adds 'rankdir=LR' to the graph, and I also think it's
8 much more readable this way (on "medium size" package sure, it's
9 still and will probably always be absolutly messy on big packages
10 like mozilla for instance).
11
12 Another change I've made is the addition of a "-r/--real-paths"
13 option which make the script resolve all symlinks while searching
14 for packages owning some depended-on files. The point is that if
15 you don't do that, then it won't be accurate in finding deps: a
16 program may be linked to "/usr/X11R6/lib/foo.so" whereas the file
17 was installed as "/usr/lib/foo.so" for instance (or the opposite -
18 I've found both on my system actually).
19 The following example shows the difference i think:
20 http://tdegreni.free.fr/gentoo/xdtv-symlinks.ps
21 http://tdegreni.free.fr/gentoo/xdtv-realpaths.ps
22 (the ebuild is not from portage, so i'm the one to blame for the
23 /usr/X11R6/lib linkings)
24
25 The drawback of that "real-paths" approach is that you then can't
26 distinguish a dep on Bash (/bin/bash) from one on any Bourne shell
27 (/bin/sh), and that's why i made it optional. Probably the best
28 would be to do both kinds of search at once and show the
29 difference in the graph, or something like that...
30
31 > one thing I miss however is a destinction between libraries
32 > linked into the application, and those that only are taken in by
33 > another library. The so files do make this distinction so it
34 > should be possible to extract it.
35
36 If i don't misunderstand what you mean, then that was exactly the
37 point of a patch i've submitted 2 days ago, and which is in the
38 current depreverse version. Shared libs that are listed as deps
39 should be only those which are marked NEEDED in the objects
40 headers, not those that are indirectly linked to.
41
42 --
43 TGL.
44 --
45 gentoo-dev@g.o mailing list