Coder Social home page Coder Social logo

Comments (3)

term1n4l avatar term1n4l commented on July 17, 2024

given time, I may be able to create a PR for this, but putting the issue in here for awareness while I am thinking of it

from puppet-puppet.

ekohl avatar ekohl commented on July 17, 2024

It's mentioned in https://github.com/theforeman/puppet-puppet#git-repo-support that it's needed. Soft dependencies in Puppet aren't great to say the least.

Perhaps it would be better to have something like extlib::has_module. So we can change this part here:

if $puppet::server::git_repo {
include git

To

  if $puppet::server::git_repo {
    unless extlib::has_module('theforeman/git') {
      fail('theforeman/git module is not present')
    }
    include git

Alternatively you could use load_module_metadata to load the metadata and verify the version is compatible. I can also imagine has_module could be extended with another argument to verify the version.

from puppet-puppet.

term1n4l avatar term1n4l commented on July 17, 2024

Making it a hard dependency means it should to be visible to the end user also. Without having it visible in the dependencies on the forge it might be missed. By all means make it a hard dependency, but please consider adding it to the module metadata so it's picked up by the forge as well as some people will only do a cursory scan of the README and still miss that it has undefined dependencies.

from puppet-puppet.

Related Issues (20)

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.