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

Explicitly require puppet/module_tool #193

Closed
wants to merge 1 commit into from
Closed

Explicitly require puppet/module_tool #193

wants to merge 1 commit into from

Conversation

adrienthebo
Copy link

In Puppet < 3.5.0 require 'puppet' will also require
'puppet/module_tool', but in 3.5.0 it's no longer automatically
required. Because of this we need to explicitly require the module_tool
file.

In Puppet < 3.5.0 `require 'puppet'` will also require
'puppet/module_tool', but in 3.5.0 it's no longer automatically
required. Because of this we need to explicitly require the module_tool
file.
mwildehahn pushed a commit to voxpupuli/vagrant-librarian-puppet that referenced this pull request Apr 3, 2014
Should have done this awhile ago. Kept getting hit with issues from
librarian-puppet, most recently:

rodjek/librarian-puppet#193
@beporter
Copy link

beporter commented Apr 4, 2014

Not to rush you, but how long will it take for this to make it into a deployable version? The lack of require 'puppet/module_tool' is destroying puphpet installs at the moment.

So that other googlers can benefit from this, if you're using vagrant with puphpet/puppet, and you're seeing the following error:

vagrant@vagrantbox:/etc/puppet$ sudo librarian-puppet install --clean
/var/lib/gems/1.8/gems/librarian-puppet-0.9.16/lib/librarian/puppet/source/local.rb:78:in `evaluate_modulefile': uninitialized constant Puppet::ModuleTool (NameError)
    from /var/lib/gems/1.8/gems/librarian-puppet-0.9.16/lib/librarian/puppet/source/local.rb:74:in `module_version'
    from /var/lib/gems/1.8/gems/librarian-puppet-0.9.16/lib/librarian/puppet/source/local.rb:42:in `fetch_version'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/manifest.rb:121:in `fetch_version!'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/manifest.rb:113:in `fetched_version'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/manifest.rb:59:in `version'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/manifest.rb:97:in `satisfies?'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/dependency.rb:121:in `satisfied_by?'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/resolver/implementation.rb:103:in `check_manifest'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/dsl/receiver.rb:30:in `find'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/resolver/implementation.rb:104:in `each'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/resolver/implementation.rb:104:in `find'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/resolver/implementation.rb:104:in `check_manifest'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/resolver/implementation.rb:63:in `recursive_resolve'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/resolver/implementation.rb:154:in `resolving_dependency_map_find_manifests'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/resolver/implementation.rb:187:in `scope_checking_manifest'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/resolver/implementation.rb:223:in `scope'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/resolver/implementation.rb:186:in `scope_checking_manifest'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/resolver/implementation.rb:153:in `resolving_dependency_map_find_manifests'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/resolver/implementation.rb:211:in `map_find'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/resolver/implementation.rb:210:in `each'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/resolver/implementation.rb:210:in `map_find'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/resolver/implementation.rb:152:in `resolving_dependency_map_find_manifests'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/resolver/implementation.rb:165:in `scope_resolving_dependency'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/resolver/implementation.rb:179:in `scope_checking_manifests'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/resolver/implementation.rb:223:in `scope'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/resolver/implementation.rb:178:in `scope_checking_manifests'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/resolver/implementation.rb:164:in `scope_resolving_dependency'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/resolver/implementation.rb:223:in `scope'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/resolver/implementation.rb:163:in `scope_resolving_dependency'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/resolver/implementation.rb:151:in `resolving_dependency_map_find_manifests'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/resolver/implementation.rb:62:in `recursive_resolve'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/resolver/implementation.rb:50:in `resolve'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/resolver.rb:23:in `resolve'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/action/resolve.rb:26:in `run'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/cli.rb:169:in `resolve!'
    from /var/lib/gems/1.8/gems/librarian-puppet-0.9.16/lib/librarian/puppet/cli.rb:69:in `install'
    from /var/lib/gems/1.8/gems/thor-0.19.1/lib/thor/command.rb:27:in `__send__'
    from /var/lib/gems/1.8/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
    from /var/lib/gems/1.8/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
    from /var/lib/gems/1.8/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
    from /var/lib/gems/1.8/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/cli.rb:26:in `bin!'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/cli.rb:31:in `returning_status'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/cli.rb:26:in `bin!'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/cli.rb:47:in `with_environment'
    from /var/lib/gems/1.8/gems/librarian-0.1.2/lib/librarian/cli.rb:26:in `bin!'
    from /var/lib/gems/1.8/gems/librarian-puppet-0.9.16/bin/librarian-puppet:7
    from /usr/local/bin/librarian-puppet:19:in `load'
    from /usr/local/bin/librarian-puppet:19

...you can hack a fix into place by editing this file inside your VM:

/var/lib/gems/1.8/gems/librarian-puppet-0.9.16/lib/librarian/puppet/source/local.rb

Make the first 4 lines look like this:

begin
  require 'puppet'
  require 'puppet/module_tool'
rescue LoadError

EDIT: This alone is not solving the entire problem with puphpet. The bigger issue seems to be multiple incompatibilities introduced by the release of Puppet v3.5 today. (See puphpet/puphpet#621 reference below.)

@njam
Copy link
Contributor

njam commented Apr 4, 2014

👍 Seems legit imo

@carlossg
Copy link
Collaborator

carlossg commented Apr 4, 2014

doh, unfortunately I don't get notifications of new issues and just added the fix myself
Now building in Travis https://travis-ci.org/rodjek/librarian-puppet/builds/22255858

@carlossg
Copy link
Collaborator

carlossg commented Apr 4, 2014

Released as v0.9.17

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

Successfully merging this pull request may close these issues.

4 participants