Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The dependency graph is missing some pieces #5

Open
voxik opened this issue Aug 21, 2012 · 2 comments
Open

The dependency graph is missing some pieces #5

voxik opened this issue Aug 21, 2012 · 2 comments

Comments

@voxik
Copy link

voxik commented Aug 21, 2012

Looking into dependencies of railties [1], I'm missing there all the rails parts the railties depends on, i.e. This is the list of dependencies from .spec file:

Requires: ruby(abi) = %{rubyabi}
Requires: ruby(rubygems)
Requires: rubygem(actionpack) = %{version}
Requires: rubygem(activesupport) = %{version}
Requires: rubygem(rake) >= 0.8.7
Requires: rubygem(rack-ssl) >= 1.3.2
Requires: rubygem(rack-ssl) < 1.4
Requires: rubygem(rdoc) >= 3.4
Requires: rubygem(rdoc) < 4
Requires: rubygem(thor) >= 0.14.6
Requires: rubygem(thor) < 2.0

but I see listed just Requires: thor, rack-ssl and sqlite3. BTW sqlite3 is just development dependency, which should not be listed there at all, or should be shown optionally, on request, e.g. when "Show development dependencies" check box would be checked.

http://isitfedoraruby.com/fedorarpms/rubygem-railties/full_deps

@voxik
Copy link
Author

voxik commented Aug 21, 2012

Uh, I see now I was not completely right. The dependencies are listed there, but not on the first level, where I would expect them. So may be the direct dependencies should be listed higher in the hierarchy? Or several times on several levels? Or may be if there is some recursion, it could be marked by some different color? That would help to avoid circular dependencies for clarity of the graph, while keep users aware.

@movitto
Copy link
Collaborator

movitto commented Aug 21, 2012

True, in the dependency lookup method (app/models/fedora_rpm.rb#L46) we iterate over dependencies using a depth first traversal, and ignore packages if they have already been processed. We should be able to change this so that it adds the node as a child but doesn't dive into processing it's dependencies if it already has done so.

We'd have to play around with how to visualize it on the graph like you said, but any of those solutions sound like it could work. Will look into this in the near future (unless it annoyed you and you wanted to send the fix first! ;-) )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants