Gentoo Archives: gentoo-dev

From: Andrew Savchenko <bircoph@g.o>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Any deptree stabilization/keywording path finder?
Date: Fri, 17 Jul 2015 10:16:11
Message-Id: 20150717131553.4f9dbf682b72c8d3b142e35b@gentoo.org
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

Replies