Project

General

Profile

Bug #7807

[PATCH] Remove duplicated load paths when empty version string is configured

Added by vo.x (Vit Ondruch) about 4 years ago. Updated almost 3 years ago.

Status:
Assigned
Priority:
Normal
Target version:
ruby -v:
ruby 2.0.0dev (2013-02-08 trunk 39161) [x86_64-linux]
Backport:
[ruby-core:52049]

Description

=begin
My configuration options:
./configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-ruby-version='' --with-rubyhdrdir=/usr/include --with-ruby-pc=ruby.pc --disable-rpath --enable-shared

Prior:

$ ruby -e "puts $:"
/usr/lib64/ruby/site_ruby/
/usr/lib64/ruby/site_ruby//x86_64-linux
/usr/lib64/ruby/site_ruby
/usr/lib64/ruby/vendor_ruby/
/usr/lib64/ruby/vendor_ruby//x86_64-linux
/usr/lib64/ruby/vendor_ruby
/usr/lib64/ruby/
/usr/lib64/ruby//x86_64-linux

After:

$ ruby -e "puts $:"
/usr/lib64/ruby/site_ruby
/usr/lib64/ruby/site_ruby/x86_64-linux
/usr/lib64/ruby/vendor_ruby
/usr/lib64/ruby/vendor_ruby/x86_64-linux
/usr/lib64/ruby
/usr/lib64/ruby/x86_64-linux

BTW the duplicated paths caused ActiveSupport test suite errors as far as I remember [1]. Not sure if it was already changed there.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=718695
=end

cleanup-non-versioned-paths.patch View (2.52 KB) vo.x (Vit Ondruch), 02/09/2013 08:23 AM

History

#1 [ruby-core:52066] Updated by nobu (Nobuyoshi Nakada) about 4 years ago

  • Status changed from Open to Rejected

It doesn't work right now, sorry.

#2 [ruby-core:52067] Updated by vo.x (Vit Ondruch) about 4 years ago

Could you be more specific please? What doesn't work? It cannot be applied? Or does it break something? I can provide updated patch of course.

#3 [ruby-core:52122] Updated by vo.x (Vit Ondruch) about 4 years ago

  • Status changed from Rejected to Open
  • Assignee set to nobu (Nobuyoshi Nakada)

Could you please explain? Why r39171 instead of applying my patch? Why there should be version in the path? Actually it is not Ruby version but Ruby ABI version, so it will not help you to install Ruby 1.9.1, 1.9.2 and 1.9.3 side by side, since all of them have the same ABI. In Fedora, we are pretty happy without the version for one year already.

#4 [ruby-core:52125] Updated by vo.x (Vit Ondruch) about 4 years ago

Note that in 1.8.7 days, there was used also different, more generic approach [1] to remove duplicated load paths. However I don't think it is better solution.

[1] http://pkgs.fedoraproject.org/cgit/ruby.git/tree/ruby-1.8.7-p352-path-uniq.patch?h=f16

#5 [ruby-core:53984] Updated by vo.x (Vit Ondruch) almost 4 years ago

One issue preventing this from work fixed in RubyGems [1]. I am not aware of any other after rebuild of more then 400 of packages in Fedora against Ruby 2.0.

Actually, some builds depends on this field in ruby.pc [2], but they would fail the same if I would go with "ruby-version='foo'", which is allowed version string (I hope you are not goint to disable it, since I mentioned it here :)

[1] https://github.com/rubygems/rubygems/pull/455
[2] https://bugzilla.redhat.com/show_bug.cgi?id=923703

#6 [ruby-core:55060] Updated by luislavena (Luis Lavena) almost 4 years ago

  • Status changed from Open to Assigned
  • Target version set to next minor

Also available in: Atom PDF