1 |
Hello, |
2 |
|
3 |
TL;DR Is there any tool to build dependency tree for all packages |
4 |
needed to be stabilized (or keyworded) in order stabilize (keyword) |
5 |
foo/bar? |
6 |
|
7 |
Sometimes in order to stabilize a single version bump a whole lot |
8 |
of packages needs to be stabilized as dependencies. A good example |
9 |
is [1]. What I really need here is to stabilize |
10 |
dev-haskell/pandoc-siteproc (I don't even care about exact version, |
11 |
since any version looks ok for app-doc/root-docs), but this |
12 |
triggers a whole lot of haskell packages to be stabilized. There |
13 |
are several issues here: |
14 |
|
15 |
1. There are many solutions for this issue, since version |
16 |
requirements usually allow some range of versions. Looks like this |
17 |
is a classical graph path finding task. It would be great to have a |
18 |
tool for best effort solution: e.g. for a tree with minimal number |
19 |
of dependencies of with most recent packages possible (for those |
20 |
which are in the tree for at least 30 days). |
21 |
|
22 |
2. It is very tedious to build such dependency tree manually (this |
23 |
is how it was done in [1]). To make it worse such work is |
24 |
error-prone, because it is near to impossible to check that each |
25 |
stabilization in the dependency tree will not trigger any blocker |
26 |
in the whole portage tree. Actually at least one such error was made |
27 |
[2]. The best that can be done by hand is to verify that the |
28 |
stabilization dependency tree is self-consistent, but even this |
29 |
check requires a lot of time and effort. |
30 |
|
31 |
All these problems should be solvable with an appropriate tool, but |
32 |
I can't find such tool. Apparently it should inherit some of emerge |
33 |
and repoman functionality for deptree building and checking |
34 |
respectively. |
35 |
|
36 |
Any ideas? I suppose arch teams should have something similar for |
37 |
their goals. |
38 |
|
39 |
P.S. Note for the record: I filed a lot of stabilization request |
40 |
for dev-haskell/* packaged I do not maintain, because haskell team |
41 |
had not responded in a reasonable amount of time for my stable |
42 |
request [3]. I'm not blaming anyone here, just explaining why such |
43 |
action was taken. |
44 |
|
45 |
[1] https://bugs.gentoo.org/showdependencytree.cgi?id=529538&hide_resolved=0 |
46 |
[2] https://bugs.gentoo.org/show_bug.cgi?id=552388 |
47 |
[3] https://bugs.gentoo.org/show_bug.cgi?id=546260 |
48 |
|
49 |
Best regards, |
50 |
Andrew Savchenko |