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