Issue #17616 has been updated by Josh Nichols.
I ran into this bug again, in a different context. I took a bit more time to dig into it, and found a good place to inject `Bundler.with_clean_env`. I've sent two pull requests, one for 2.7.x and one for 3.0.x. I originally wrote it against master, and was able to cherry-pick to 3.0.x, so should apply cleanly to 3.1.x too. * https://github.com/puppetlabs/puppet/pull/1484 * https://github.com/puppetlabs/puppet/pull/1485 The way I was testing on was a small development server, with a Gemfile like: <pre>source "https://rubygems.org" gem "puppet", :path => "/path/to/checkout/of/my/fork"</pre> Then running: <pre>bundle install --binstubs sudo bin/puppet ^Cply --debug -e 'package {foreground: ensure => latest, provider => gem}'</pre> Without the patch, it failed with the error Andrew Parker posted. With the patch, it installs without error. ---------------------------------------- Bug #17616: Package update via Gem provider fails when running Puppet via bundler https://projects.puppetlabs.com/issues/17616#change-83384 Author: Björn Albers Status: Accepted Priority: Normal Assignee: Category: package Target version: Affected Puppet version: 2.6.10 Keywords: gem, bundler, bundle, package, provider Branch: Given a rubygem / package with dependencies to other package. When I try do manage that package with Puppet all is fine. But when I apply the same manifest with Puppet executed via Bundler then I get an error (Installing a package w/o dependencies, i.e. rake, works). To my understanding installing Puppet with bundler is best practice when developing & testing modules, so this might have some relevance. Here's my TPS report: # Bad: $ sudo bin/puppet apply --verbose --no-report foreground.pp info: Applying configuration version '1352903073' err: /Stage[main]//Package[foreground]/ensure: change from absent to latest failed: Could not update: Execution of '/usr/bin/gem install --include-dependencies --no-rdoc --no-ri foreground' returned 1: ERROR: Error installing foreground: foreground requires mixlib-cli (~> 1.2.2) INFO: `gem install -y` is now default and will be removed INFO: use --ignore-dependencies to install only the gems you list at /Users/bjoern/Documents/puppet-zabbix_osx/foreground.pp:4 notice: Finished catalog run in 78.69 seconds $ bin/puppet --version 2.7.19 # Good: $ sudo puppet apply --verbose --no-report foreground.pp info: Applying configuration version '1352903176' notice: Finished catalog run in 3.82 seconds $ puppet --version 2.7.19 # Context: $ ruby --version ruby 1.8.7 (2011-12-28 patchlevel 357) [universal-darwin11.0] $ bundle --version Bundler version 1.2.1 $ cat foreground.pp package { 'foreground': ensure => latest, provider => gem, } $ sw_vers ProductName: Mac OS X ProductVersion: 10.7.4 BuildVersion: 11E53 $ gem --version 1.8.24 PS: This might be a bug in bundler / rubygems / whatever, but I think it should at least be documented here. -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/puppet-bugs?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
