Git Product home page Git Product logo

librarian-puppet's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

librarian-puppet's Issues

Adds support for alternate module directory/path

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/".

Question: can I use more than one forge?

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.

Versions are not read properly for git modules

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.

ignore dependencies

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.

Submit upstream?

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 :)

Cyclic dependency between modules causes install to fail

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.

open3_backport

Looks like you need to add gem 'open3_backport' to support ruby 1.8

`require': no such file to load -- open3_backport (LoadError)

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:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.