Forum: Ruby-core [ruby-trunk - Bug #7496][Open] incorrect base_dir for default gemspecs

Posted by bitsweat (Jeremy Kemper) (Guest)
on 2012-12-02 08:38
(Received via mailing list)
Issue #7496 has been reported by bitsweat (Jeremy Kemper).

----------------------------------------
Bug #7496: incorrect base_dir for default gemspecs
https://bugs.ruby-lang.org/issues/7496

Author: bitsweat (Jeremy Kemper)
Status: Open
Priority: Normal
Assignee:
Category: lib
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-12-01 trunk 38126) [x86_64-darwin12.2.0]


gemspecs for default gems have incorrect path since they're installed in 
a subdirectory of the normal specifications path. The base_dir is 
dirname(dirname(loaded_from)), so using an additional subdir results in 
a base_dir that's "off by one." Example:

Find the gemspec for the default rake gem:

> spec = Gem::Specification.find_by_name('rake')
=> #<Gem::Specification:0x3fc3fa4dd570 rake-0.9.5>
> spec.default_gem?
=> true
> spec.loaded_from
=> 
"/Users/jeremy/.rbenv/versions/2.0.0-preview2/lib/ruby/gems/2.0.0/specifications/default/rake-0.9.5.gemspec"


The spec.base_dir should be 
"/Users/jeremy/.rbenv/versions/2.0.0-preview2/lib/ruby/gems/2.0.0"

> spec.base_dir
=> 
"/Users/jeremy/.rbenv/versions/2.0.0-preview2/lib/ruby/gems/2.0.0/specifications"


This means Gem.bin_path lookups in bin/rake, etc result in incorrect 
executable paths:

> spec.bin_file('rake')
=> 
"/Users/jeremy/.rbenv/versions/2.0.0-preview2/lib/ruby/gems/2.0.0/specifications/gems/rake-0.9.5/bin/rake"
> File.file? _
=> false
Posted by Luis Lavena (luislavena)
on 2012-12-02 08:42
(Received via mailing list)
Issue #7496 has been updated by luislavena (Luis Lavena).

Status changed from Open to Assigned
Assignee set to drbrain (Eric Hodel)


----------------------------------------
Bug #7496: incorrect base_dir for default gemspecs
https://bugs.ruby-lang.org/issues/7496#change-34309

Author: bitsweat (Jeremy Kemper)
Status: Assigned
Priority: Normal
Assignee: drbrain (Eric Hodel)
Category: lib
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-12-01 trunk 38126) [x86_64-darwin12.2.0]


gemspecs for default gems have incorrect path since they're installed in 
a subdirectory of the normal specifications path. The base_dir is 
dirname(dirname(loaded_from)), so using an additional subdir results in 
a base_dir that's "off by one." Example:

Find the gemspec for the default rake gem:

> spec = Gem::Specification.find_by_name('rake')
=> #<Gem::Specification:0x3fc3fa4dd570 rake-0.9.5>
> spec.default_gem?
=> true
> spec.loaded_from
=> 
"/Users/jeremy/.rbenv/versions/2.0.0-preview2/lib/ruby/gems/2.0.0/specifications/default/rake-0.9.5.gemspec"


The spec.base_dir should be 
"/Users/jeremy/.rbenv/versions/2.0.0-preview2/lib/ruby/gems/2.0.0"

> spec.base_dir
=> 
"/Users/jeremy/.rbenv/versions/2.0.0-preview2/lib/ruby/gems/2.0.0/specifications"


This means Gem.bin_path lookups in bin/rake, etc result in incorrect 
executable paths:

> spec.bin_file('rake')
=> 
"/Users/jeremy/.rbenv/versions/2.0.0-preview2/lib/ruby/gems/2.0.0/specifications/gems/rake-0.9.5/bin/rake"
> File.file? _
=> false
Posted by bitsweat (Jeremy Kemper) (Guest)
on 2012-12-09 01:14
(Received via mailing list)
Issue #7496 has been updated by bitsweat (Jeremy Kemper).


Thank you!
----------------------------------------
Bug #7496: incorrect base_dir for default gemspecs
https://bugs.ruby-lang.org/issues/7496#change-34547

Author: bitsweat (Jeremy Kemper)
Status: Closed
Priority: Normal
Assignee: drbrain (Eric Hodel)
Category: lib
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-12-01 trunk 38126) [x86_64-darwin12.2.0]


gemspecs for default gems have incorrect path since they're installed in 
a subdirectory of the normal specifications path. The base_dir is 
dirname(dirname(loaded_from)), so using an additional subdir results in 
a base_dir that's "off by one." Example:

Find the gemspec for the default rake gem:

> spec = Gem::Specification.find_by_name('rake')
=> #<Gem::Specification:0x3fc3fa4dd570 rake-0.9.5>
> spec.default_gem?
=> true
> spec.loaded_from
=> 
"/Users/jeremy/.rbenv/versions/2.0.0-preview2/lib/ruby/gems/2.0.0/specifications/default/rake-0.9.5.gemspec"


The spec.base_dir should be 
"/Users/jeremy/.rbenv/versions/2.0.0-preview2/lib/ruby/gems/2.0.0"

> spec.base_dir
=> 
"/Users/jeremy/.rbenv/versions/2.0.0-preview2/lib/ruby/gems/2.0.0/specifications"


This means Gem.bin_path lookups in bin/rake, etc result in incorrect 
executable paths:

> spec.bin_file('rake')
=> 
"/Users/jeremy/.rbenv/versions/2.0.0-preview2/lib/ruby/gems/2.0.0/specifications/gems/rake-0.9.5/bin/rake"
> File.file? _
=> false
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.