Issue #15634 has been updated by Ryan Conway.
Sure.
All you need to do is malform one of your gemspecs to see how that affects
Puppet's parsing. First check the state of a current gem:
[ryan:~] $ gem list shotgun
*** LOCAL GEMS ***
shotgun (0.9)
Next, add a syntax error to the file that would generate a ruby warning, for
example, declaring a constant twice (I'm using rbenv, so confirm the actual
path to gems on your system:
[ryan:~] $ vi
/Users/ryan/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/specifications/shotgun-0.9.gemspec
Now when you run gem list you should see the extra errors caused by the
malformed gemspec:
[ryan:~] $ gem list shotgun
/Users/ryan/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/specifications/shotgun-0.9.gemspec:4:
warning: already initialized constant TESTVAR
*** LOCAL GEMS ***
/Users/ryan/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/specifications/shotgun-0.9.gemspec:3:
warning: already initialized constant TESTVAR
/Users/ryan/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/specifications/shotgun-0.9.gemspec:4:
warning: already initialized constant TESTVAR
shotgun (0.9)
Hope that helps!
----------------------------------------
Bug #15634: Malformed gemspec prevents Gem provider from parsing output
https://projects.puppetlabs.com/issues/15634#change-69285
Author: Ryan Conway
Status: Needs More Information
Priority: High
Assignee: Ryan Conway
Category:
Target version:
Affected Puppet version: 2.7.14
Keywords:
Branch:
I've found that if you end up with a broken Ruby Gem on a system, for example,
if a Gem has a malformed Gemspec, this is output at the top of the response
from 'gem list', and then prevents the Gem provider for the Package type from
successfully parsing the installed version of a gem it is managing. Puppet then
assumes that the gem is absent, and installs it.
This on its own isn't ideal, but the real trouble comes if you have other
resources depending on the gem, as every catalog run will trigger a refresh of
those dependents, which could cause more serious issues depending on what those
resources do.
Testing on 2.7.14, but I expect it will affect the latest too.
Thanks,
Ryan
--
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-bugs?hl=en.