Is there a way to dump dependency graph of a project?
Hi, I'm trying to analyze how the packages in my project on my private instance depends on each other. Is there a way to dump/export the dependency graph from any OBS internal data? If that's not possible, is there any other known tool that can scan srpms/specs and generate such info? Regards, Kai
Kai Liu
Hi,
I'm trying to analyze how the packages in my project on my private instance depends on each other. Is there a way to dump/export the dependency graph from any OBS internal data?
If that's not possible, is there any other known tool that can scan srpms/specs and generate such info?
I am only aware of depict: https://pagure.io/depict which relies on dnf
so provided that you publish all repositories and fiddle a bit with your
dnf config, you might arrive at something comparable to what OBS
created.
Cheers,
Dan
--
Dan Čermák
On 2022/01/06 Thu 18:03, Dan Čermák wrote:
Kai Liu
writes: Hi,
I'm trying to analyze how the packages in my project on my private instance depends on each other. Is there a way to dump/export the dependency graph from any OBS internal data?
If that's not possible, is there any other known tool that can scan srpms/specs and generate such info?
I am only aware of depict: https://pagure.io/depict which relies on dnf so provided that you publish all repositories and fiddle a bit with your dnf config, you might arrive at something comparable to what OBS created.
This looks like is a nice tool and can help my project, many thanks, Dan! Regards, Kai
On 2022-01-07 00:24:26 +0800, Kai Liu wrote:
I'm trying to analyze how the packages in my project on my private instance depends on each other. Is there a way to dump/export the dependency graph from any OBS internal data?
Hmm if you are interested in the build dependencies within a project, you could use the /build/<prj>/<repo>/<arch>/_builddepinfo?view=revpkgnames route (note: this does not take build dependencies from other projects into account). I just attached a simple (and incomplete) osc plugin that prints out the build dependency graph in the dot format. You can store it in ~/.osc-plugins/dotgraph.py and invoke it via $> osc depgraph openSUSE:Tools openSUSE_Tumbleweed x86_64 | dot -Teps -o out.eps $> epstopdf out.eps $> mupdf out.pdf (I usually use the -Tpng backend but I probably miss a package...) If there is an edge from the vertex "v" to the vertex "w", then "w" is a build dependency of "v". Marcus
On 2022/01/06 Thu 21:34, Marcus Hüwe wrote:
On 2022-01-07 00:24:26 +0800, Kai Liu wrote:
I'm trying to analyze how the packages in my project on my private instance depends on each other. Is there a way to dump/export the dependency graph from any OBS internal data?
Hmm if you are interested in the build dependencies within a project, you could use the /build/<prj>/<repo>/<arch>/_builddepinfo?view=revpkgnames
This is exactly what I'm looking for. Thanks a lot! Kai
participants (3)
-
Dan Čermák
-
Kai Liu
-
Marcus Hüwe