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