maestrodev / librarian-puppet

Since 0.9.11.6 this fork is no longer used
MIT License
16 stars 7 forks source link

Cyclic dependency between modules causes install to fail #14

Open clarenceb opened 11 years ago

clarenceb commented 11 years ago

Hi, thanks for forking librarian-puppet to fix the "-rc-x.y.z" issue. I am experiencing a different issue now but one that might be due to the module implementer creating a cyclic dependency rather than librarian-puppet issue.

My Puppetfile: mod 'theforeman/foreman', "1.2.0"

librarian-puppet install fails with:

/usr/lib/ruby/1.8/tsort.rb:152:in tsort_each': topological sort failed: ["theforeman/apache", "theforeman/passenger"] (TSort::Cyclic) from /usr/lib/ruby/1.8/tsort.rb:183:ineach_strongly_connected_component' from /usr/lib/ruby/1.8/tsort.rb:210:in `each_strongly_connected_component_from' ...

It looks like "theforeman/apache" depends directly on "theforeman/passenger" and vice versa. Not sure how to resolve this. I guess in this instance it doesn't matter which one gets installed first as long as they both get installed.

carlossg commented 11 years ago

that's a tough one, I don't see how the dependency mechanism is going to work with cyclic dependencies, they need to fix it at the source. Cyclic dependencies are evil