Bugs item #28965, was opened at 2011-02-23 13:47
You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=575&aid=28965&group_id=126

Category: None
Group: None
Status: Open
Resolution: None
Priority: 3
Submitted By: Aaron Patterson (aaronp)
Assigned to: Nobody (None)
Summary: Gems packaged with `=` version requirements on 1.9.2 will not install 
on 1.8.7.

Initial Comment:
If you create a gem with a hard version dependency (using an "=" in the version 
requirement), on ruby 1.9.2, that gem cannot be installed on 1.8.7.

The reason is because of a bug in the Syck YAML parser.  When Psych emits an 
"=", it does not include quotes (which is valid).  Syck does not parse that 
correctly, and when the gemspec is read on 1.8, an error occurs.

Consider the following irb session:

irb(main):001:0> require 'yaml'
=> true
irb(main):002:0> require 'psych'
=> true
irb(main):003:0> Psych.load("--- =")
=> "="
irb(main):004:0> Psych.load("--- '='")
=> "="
irb(main):006:0> YAML.load("--- =")
=> #<Syck::DefaultKey:0x00000100b203a8>
irb(main):007:0> YAML.load("--- '='")
=> "="
irb(main):008:0> Psych.dump "="
=> "--- =\n...\n"
irb(main):009:0> YAML.dump "="
=> "--- \=\\n"
irb(main):010:0> YAML.load Psych.dump '='
=> #<Syck::DefaultKey:0x00000100b03848>
irb(main):011:0>

----------------------------------------------------------------------

You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=575&aid=28965&group_id=126
_______________________________________________
Rubygems-developers mailing list
http://rubyforge.org/projects/rubygems
Rubygems-developers@rubyforge.org
http://rubyforge.org/mailman/listinfo/rubygems-developers

Reply via email to