Bug 965222

Summary: uninitialized constant Gem::Builder - jruby is broken
Product: [Fedora] Fedora Reporter: gil cattaneo <puntogil>
Component: jrubyAssignee: Mo Morsi <mmorsi>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: bkabrda, mgoldman, mmorsi, vondruch
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-05-21 06:57:37 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description gil cattaneo 2013-05-20 18:03:48 UTC
Description of problem:
jruby lacking in their own libraries Rubygem as 
/usr/share/jruby/lib/ruby/site_ruby/?.?/rubygems/builder.rb

this is the result when try to build 
JRuby-Rack (is a combined Java and Ruby library that adapts the
Java Servlet API to Rack. For JRuby only) in rawhide

@ https://bugzilla.redhat.com/show_bug.cgi?id=821146

** Invoke gem (first_time)
** Invoke target/jruby-rack-1.0.10.jar 
** Invoke target/gem/lib/jruby-rack.rb (first_time)
** Execute target/gem/lib/jruby-rack.rb
mkdir -p target/gem/lib
** Invoke target/gem/lib/jruby/rack/version.rb (first_time)
** Invoke src/main/ruby/jruby/rack/version.rb (first_time, not_needed)
** Execute target/gem/lib/jruby/rack/version.rb
mkdir -p target/gem/lib/jruby/rack
cp src/main/ruby/jruby/rack/version.rb target/gem/lib/jruby/rack/version.rb
** Execute gem
cp History.txt LICENSE.txt README.md target/gem
cp target/jruby-rack-1.0.10.jar target/gem/lib
rm -f jruby-rack.gemspec
rake aborted!
uninitialized constant Gem::Builder
org/jruby/RubyModule.java:2677:in `const_missing'
/builddir/build/BUILD/jruby-rack-1.0.10/Rakefile:206:in `(root)'
org/jruby/RubyDir.java:465:in `chdir'
/builddir/build/BUILD/jruby-rack-1.0.10/Rakefile:191:in `(root)'
org/jruby/RubyProc.java:249:in `call'
/usr/share/gems/gems/rake-10.0.4/lib/rake/task.rb:244:in `execute'
org/jruby/RubyArray.java:1613:in `each'
/usr/share/gems/gems/rake-10.0.4/lib/rake/task.rb:241:in `execute'
/usr/share/gems/gems/rake-10.0.4/lib/rake/task.rb:184:in `invoke_with_call_chain'
/usr/share/jruby/lib/ruby/1.9/monitor.rb:211:in `mon_synchronize'
/usr/share/gems/gems/rake-10.0.4/lib/rake/task.rb:177:in `invoke_with_call_chain'
/usr/share/gems/gems/rake-10.0.4/lib/rake/task.rb:170:in `invoke'
/usr/share/gems/gems/rake-10.0.4/lib/rake/application.rb:143:in `invoke_task'
/usr/share/gems/gems/rake-10.0.4/lib/rake/application.rb:101:in `top_level'
org/jruby/RubyArray.java:1613:in `each'
/usr/share/gems/gems/rake-10.0.4/lib/rake/application.rb:101:in `top_level'
/usr/share/gems/gems/rake-10.0.4/lib/rake/application.rb:110:in `run_with_threads'
/usr/share/gems/gems/rake-10.0.4/lib/rake/application.rb:95:in `top_level'
/usr/share/gems/gems/rake-10.0.4/lib/rake/application.rb:73:in `run'
/usr/share/gems/gems/rake-10.0.4/lib/rake/application.rb:160:in `standard_exception_handling'
/usr/share/gems/gems/rake-10.0.4/lib/rake/application.rb:70:in `run'
/usr/share/gems/gems/rake-10.0.4/bin/rake:33:in `(root)'
org/jruby/RubyKernel.java:1046:in `load'
/usr/share/jruby/bin/rake:23:in `(root)'
Tasks: TOP => gem
RPM build errors:
Version-Release number of selected component (if applicable):
1.7.2

How reproducible:
always

Actual results:


Expected results:
re-add jruby own libraries Rubygem

Comment 1 Vít Ondruch 2013-05-21 06:57:37 UTC
The Gem::Builder was removed in RubyGems 2.0. Please make sure that your package is compatible with RubyGems 2.0. Thank you.

Comment 2 gil cattaneo 2013-05-21 11:46:32 UTC
jruby-rack is compatible with jruby all version only
regards

Comment 3 Vít Ondruch 2013-05-21 12:06:44 UTC
jruby-rack might be compatible with all jruby versions, but apparently, it is not compatible with RubyGems 2.0.

Since bundling is prohibited in Fedora, we are using single instance of RubyGems library, which is shared between Ruby (MRI) as well as JRuby, hence we are using newer RubyGems then shipped with JRuby. Otherwise we would need to bundle, which is obviously against Fedora packaging guidelines.

Moreover, as far as I understand, RubyGems 2.0 supports JRuby just fine, so there is no excuse for any gem to not be adjusted for RubyGems 2.0. Please contact your upstream and work together to solve compatibility with RubyGems 2.0.

Thanks.