Package dependency graphs from SBo

There was a very interesting announcement at the LQ forum of Slackware by Gabriel Magno. In his project SlackBuildsViz, he provides scripts to collect and visualize dependency graphs from SlackBuilds.org. He also provided the generated graphs (*.png) and build queue files (*.sqf). Well, of course I was curious to check mine, especially after i saw that two of the entries that I maintain (clamtk and the associated thunar-sendto-clamtk) are in the “top 10” of dependencies complexity.

Below is a more simple example. EMBOSS is a Java application and requires jdk, while the associated package EMBASSY is dependent on EMBOSS:

EMBASSY

OK, let’s try something more interesting. For example gchemutils. In this case there are 5 first level dependencies (i.e. no deps of deps): goffice, gtkglext, openbabel, bodr, chemical-mime-data. The graph however, includes the dependencies of the first level dependencies as well:

gchemutilsGoing through the graphs, I realised that I had a redundant dependency for gbgoffice. In the REQUIRES field of gbgoffice.info I had listed both libsigc++ and gtkmm. However, by looking at the graph it is quite clear that the only first level dependency is gtkmm and I submitted a fix for that.

gbgofficePretty neat, isn’t it? I made a slight modification of my SlackBuilds list and included the dependency graphs and build queues for all entries. Hopefully it will make it easier for me to keep track of the required packages.
EDIT (16.03.2014): After Slackware 14.1 came out, some things changed for the dependencies and I haven’t had the time to generate new graphs. So, I removed them for now.

Thanks Gabriel!


One Comment on “Package dependency graphs from SBo”

  1. […] In a way, HooRex is reminiscent to the package dependency graphs from SBo. […]


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s