Bug #7807

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

Added by Vit Ondruch about 1 year ago. Updated 6 months ago.

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

Description

=begin
My configuration options:
./configure --build=x8664-redhat-linux-gnu --host=x8664-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/siteruby/
/usr/lib64/ruby/site
ruby//x8664-linux
/usr/lib64/ruby/site
ruby
/usr/lib64/ruby/vendorruby/
/usr/lib64/ruby/vendor
ruby//x8664-linux
/usr/lib64/ruby/vendor
ruby
/usr/lib64/ruby/
/usr/lib64/ruby//x86_64-linux

After:

$ ruby -e "puts $:"
/usr/lib64/ruby/siteruby
/usr/lib64/ruby/site
ruby/x8664-linux
/usr/lib64/ruby/vendor
ruby
/usr/lib64/ruby/vendorruby/x8664-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 Magnifier (2.52 KB) Vit Ondruch, 02/09/2013 08:23 AM

History

#1 Updated by Nobuyoshi Nakada about 1 year ago

  • Status changed from Open to Rejected

It doesn't work right now, sorry.

#2 Updated by Vit Ondruch about 1 year 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 Updated by Vit Ondruch about 1 year ago

  • Status changed from Rejected to Open
  • Assignee set to 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 Updated by Vit Ondruch about 1 year 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 Updated by Vit Ondruch about 1 year 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 Updated by Luis Lavena 11 months ago

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

Also available in: Atom PDF