Gentoo Archives: gentoo-alt

From: Peter Waller <peter.waller@×××××.com>
To: Gentoo-Alt mailing list <gentoo-alt@l.g.o>
Subject: [gentoo-alt] Detecting unsatisfied dependencies in gentoo-alt
Date: Wed, 20 May 2009 13:53:31
Message-Id: d3d284ca0905200653u5bb82384xb4a5fe1f2b18001@mail.gmail.com
1 Dear list,
2
3 I hope this can be of use to you. I have written a few hundred lines of
4 python which can parse the dependency lines in the metadata cache. Now it is
5 possible to generate a big list of unsatisfied dependencies, to detect
6 packages which will not merge or run. I still haven't tuned the output so
7 that it is totally optimal, I don't think, but it is better than nothing.
8
9 The program can be run in several ways, and the source still needs tweaking
10 to make it work differently. I have attached the output for a few different
11 scenarios.
12
13 output-portage.txt : The run on portage. It detects 7 packages which it
14 thinks will not merge (under certain USE flag conditions). I did this to
15 show that the program produces no false-positives on a system we know should
16 be reasonably polished
17 output-prefix-nouse.txt : A run on prefix, ignoring any dependencies pulled
18 in by use flags. Reveals 40 missing packages which will probably prevent 32
19 packages from merging (including metacity and nautilus)
20 output-prefix-withuse.txt : A run on prefix, looking at all possible use
21 flag combinations (ignoring those listed in use.mask. As darkside was saying
22 on IRC, this could be used to detect new use flags which should obviously go
23 in use.mask). This finds 219 packages which will probably not merge or run,
24 and 347 packages missing from prefix.
25
26 I know grobian had some idea of making this run nightly (It's nice and fast
27 now, ~5 seconds with a warm disk cache, ~30 to run on the main portage
28 tree). I'm happy to help out however I can to get this happening, just let
29 me know what you need of it.
30
31 I have various ideas of how it might be improved.
32
33 * The only part of the dependency detection still missing is the OR-wise
34 dependencies. This should not affect many packages, but does mean that the
35 list is not quite complete.
36 * When a missing dependency is found, it would be pretty easy to go and look
37 at the graph of the required packages from portage, and generate a list of
38 packages which would need to be pulled in to fix it.
39 * Output could be prettier. I don't know exactly what is most useful yet
40 though.
41
42 Please, let me know what you think.
43
44 Cheers,
45
46 - Pete

Attachments

File name MIME type
output-portage.txt text/plain
depgen.py application/octet-stream
output-prefix-nouse.txt text/plain
output-prefix-withuse.txt text/plain

Replies

Subject Author
[gentoo-alt] Re: Detecting unsatisfied dependencies in gentoo-alt Peter Waller <peter.waller@×××××.com>