maestrodev / librarian-puppet Goto Github PK
View Code? Open in Web Editor NEWThis project forked from rodjek/librarian-puppet
Since 0.9.11.6 this fork is no longer used
License: MIT License
This project forked from rodjek/librarian-puppet
Since 0.9.11.6 this fork is no longer used
License: MIT License
We're in the process of transitioning from our legacy puppet modules to new ones. At the moment, we have one git repository with two directories in it - modules/ (our internally developed modules, most of which don't have a Modulefile or anything like that), and modules-community/ which contains our forge and github modules.
It would be really helpful if there was an option to manage a path other than "modules/".
All of the example config files I've seen include a single "forge" declaration at the top of the Puppetfile. I want to use more than one forge. Looking at the source it appears I should be able to do the following however it throws an error. Any ideas?
mod "puppetlabs/ntp",
:forge => "http://forge.puppetlabs.com"
which throws
/usr/lib/ruby/gems/1.8/gems/librarian-0.1.1/lib/librarian/dependency.rb:113:in `cache_manifests!': undefined method `manifests' for []:Array (NoMethodError)
OR
mod "puppetlabs/ntp",
:source => "http://forge.puppetlabs.com"
which throws
Could not resolve the dependencies.
I think I have found a case that illustrates the behavior that I am seeing. Specifically, when a Puppetfile sources a module from a git repo, librarian-puppet seems to ignore the version declared in the module's Modulefile.
I have put together a simple test case for this at https://github.com/inkblot/break-librarian-puppet. In this test case, I am trying to fetch a fork of puppetlabs/apache and a fork of puppetlabs/passenger. The passenger module requires apache >= 0.0.3, which should be satisfied by the apache module as specified in the Puppetfile, which is version 0.6.0. The librarian-puppet output is at https://gist.github.com/inkblot/5401854.
Hi,
Just curious if you would accept a patch for something before I go through the trouble of writing it.
I would really like to have an option for librarian-puppet that ignores all attempts at dependency resolution (and does not even bother looking inside of the Modulefiles).
I often run into a myriad of issues related to invalid modulefiles, dependency mismatches etc, and I am quite comfortable ensuring that I specify all of my required repos along with their desired versions.
Hey! Not to get on your case or anything, but any reason why you guys aren't interested in submitting your patches upstream to @rodjek's repo? I'm just seeing that it's causing a bit of fragmentation as others are starting to use your gem/project too, so I was curious :)
librarian-puppet install
vs
librarian-puppet update
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:in
each_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.
Looks like you need to add gem 'open3_backport'
to support ruby 1.8
Hello,
I have a failure in Travis on Ruby 1.8.7 - the open3_backport gem isn't being installed. This appears to be due to the gemspec conditionally adding this as a dependency, but it's evaluated at build time, not install time, so the dependency isn't added to Ruby < 1.9 installs.
Apparently this is the required approach: http://en.wikibooks.org/wiki/Ruby_Programming/RubyGems#How_to_install_different_versions_of_gems_depending_on_which_version_of_ruby_the_installee_is_using
References:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.