1 |
maillog: 17/07/2004-16:09:08(+0000): omestre types |
2 |
> |
3 |
> Hello, |
4 |
> My name is Leal, i'm working in my graduation monograph, |
5 |
> and the subject is "GNU/Linux Distribution's application |
6 |
> management software". Initially, I'm testing two distros... |
7 |
> Debian and Gentoo. After that, i will try out fedora. I know |
8 |
> Debian, but with gentoo i have found some "problems", and i'm |
9 |
> asking you help, to make my work as right as possible. One of |
10 |
> my principal tasks is determine how much dependences a package |
11 |
> have. With "qpkg" i have got that informations for my installed |
12 |
> gentoo system, but the "SYSTEM PROFILE" confuses me. Some packages |
13 |
> have as dependence the word "SYSTEM PROFILE" that is not a package, |
14 |
> but too many of them... So i have created a "fake" package "SYSTEM-PROFILE |
15 |
> " to my tasks... The question is: There is a manner to extract the |
16 |
> informations that i want, whithout this SYSTEM PROFILE? |
17 |
> Well, in my opinion this procedure used by gentoo is "confuse" because |
18 |
> creates global dependence. In production environments, the information |
19 |
> about packages dependences (exactly) is essential. If one software |
20 |
> dependes on libc6, i want to know that, and don't want know that it |
21 |
> depends on SYSTEM PROFILE. In my home page have "graphs" and text files, |
22 |
> take a look and tell me if gentoo give a tool to get the informations |
23 |
> that i want: Especifics depends. |
24 |
|
25 |
I am not sure what you're trying to accomplish, and am pretty sure that those |
26 |
numbers that you're gathering would make little sense in a cross-distribution |
27 |
paper. Several other things that bother me: what do you do when useflags change |
28 |
the number of dependcies? Or what do you do, if a dependency is not listed in |
29 |
one distro, because it depends on something else that requires the other one |
30 |
anyway. Something like having a dependency on gtk, but not on x11, because gtk |
31 |
depends on x11 anyway. Take a look at what is listed in the ebuild for gedit, |
32 |
and what it says on http://packages.debian.org/unstable/gnome/gedit for |
33 |
example. |
34 |
|
35 |
Now to your question. Are you interested in run-time dependencies, or |
36 |
compile-time dependencies? If you're comparing to a binary distribution, I'd |
37 |
say you are looking for run-time deps, a.k.a RDEPEND, and here is how to find |
38 |
both of them. |
39 |
|
40 |
emerge --pretend --emptytree |
41 |
|
42 |
This command will show you what packages are needed to get a given package |
43 |
running on a fresh system. This is the best way to find all the dependencies |
44 |
for a given package. However, since you probably want to differentiate between |
45 |
DEPEND and RDEPEND, I suggest the following approach: |
46 |
|
47 |
mkdir /mnt/dummy |
48 |
export ROOT=/mnt/dummy |
49 |
emerge --pretend --emptytree gedit |
50 |
|
51 |
Running the same command as above, but with a different root, will tell you |
52 |
what packages need be installed on your current system (if it were fresh) in |
53 |
order to compile the package, and what packages need to be installed in the |
54 |
$ROOT system (if it were fresh, and it really is fresh) in order to run the |
55 |
package there. Those that are to be installed in /mnt/dummy are the run-time |
56 |
dependencies. The rest are the compile-time dependencies. Version numbers |
57 |
however, would be irrelevant, since they heavily depend on what is currently in |
58 |
your portage tree and your ACCEPT_KEYWORDS. |
59 |
|
60 |
-- |
61 |
\ Georgi Georgiev \ I cannot draw a cart, nor eat dried oats; \ |
62 |
/ chutz@×××.net / If it be man's work I will do it. / |
63 |
\ +81(90)6266-1163 \ \ |
64 |
|
65 |
-- |
66 |
gentoo-dev@g.o mailing list |