From 17e0f5a72cf2586f7a2a04cc1457572c8175f999 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Dec 13 2013 05:31:12 +0000 Subject: Add extension directory to contains_requirable_file (bug 1041391) --- diff --git a/rubygems-2.1.x-binary-extensions.patch b/rubygems-2.1.x-binary-extensions.patch index 8dd1f10..8cdb9d0 100644 --- a/rubygems-2.1.x-binary-extensions.patch +++ b/rubygems-2.1.x-binary-extensions.patch @@ -1,6 +1,25 @@ ---- rubygems-2.1.9/lib/rubygems/basic_specification.rb.binext 2013-10-15 07:11:07.000000000 +0900 -+++ rubygems-2.1.9/lib/rubygems/basic_specification.rb 2013-10-21 17:36:58.757317693 +0900 -@@ -52,6 +52,14 @@ +--- rubygems-2.1.11/lib/rubygems/basic_specification.rb.binext 2013-11-13 08:24:55.000000000 +0900 ++++ rubygems-2.1.11/lib/rubygems/basic_specification.rb 2013-12-13 14:23:26.680998682 +0900 +@@ -39,11 +39,16 @@ + + def contains_requirable_file? file + root = full_gem_path ++ ext = full_gem_ext_path + suffixes = Gem.suffixes + + require_paths.any? do |lib| +- base = "#{root}/#{lib}/#{file}" +- suffixes.any? { |suf| File.file? "#{base}#{suf}" } ++ base = ["#{root}/#{lib}/#{file}"] ++ base << "#{ext}/#{lib}/#{file}" unless !ext || ext.empty? ++ ++ base.any? do |path| ++ suffixes.any? { |suf| File.file? "#{path}#{suf}" } ++ end + end + end + +@@ -52,6 +57,14 @@ File.dirname(loaded_from) == self.class.default_specifications_dir end @@ -15,7 +34,7 @@ def find_full_gem_path # :nodoc: # TODO: also, shouldn't it default to full_name if it hasn't been written? path = File.expand_path File.join(gems_dir, full_name) -@@ -61,6 +69,15 @@ +@@ -61,6 +74,15 @@ private :find_full_gem_path @@ -31,7 +50,7 @@ ## # The full path to the gem (install path + full name). -@@ -71,6 +88,13 @@ +@@ -71,6 +93,13 @@ end ## @@ -45,7 +64,7 @@ # Returns the full name (name-version) of this Gem. Platform information # is included (name-version-platform) if it is specified and not the # default Ruby platform. -@@ -100,7 +124,9 @@ +@@ -100,7 +129,9 @@ @loaded_from = path && path.to_s @full_gem_path = nil @@ -55,8 +74,8 @@ @base_dir = nil end ---- rubygems-2.1.9/lib/rubygems/defaults.rb.binext 2013-10-15 07:06:15.000000000 +0900 -+++ rubygems-2.1.9/lib/rubygems/defaults.rb 2013-10-21 17:36:58.757317693 +0900 +--- rubygems-2.1.11/lib/rubygems/defaults.rb.binext 2013-11-13 08:24:55.000000000 +0900 ++++ rubygems-2.1.11/lib/rubygems/defaults.rb 2013-12-13 14:22:17.079954405 +0900 @@ -111,6 +111,17 @@ end @@ -75,8 +94,8 @@ # A wrapper around RUBY_ENGINE const that may not be defined def self.ruby_engine ---- rubygems-2.1.9/lib/rubygems/ext/builder.rb.binext 2013-10-15 07:11:07.000000000 +0900 -+++ rubygems-2.1.9/lib/rubygems/ext/builder.rb 2013-10-21 17:36:58.757317693 +0900 +--- rubygems-2.1.11/lib/rubygems/ext/builder.rb.binext 2013-11-13 08:24:55.000000000 +0900 ++++ rubygems-2.1.11/lib/rubygems/ext/builder.rb 2013-12-13 14:22:17.079954405 +0900 @@ -170,7 +170,7 @@ say "This could take a while..." end @@ -96,9 +115,9 @@ + end ---- rubygems-2.1.9/lib/rubygems/installer.rb.binext 2013-10-15 07:11:07.000000000 +0900 -+++ rubygems-2.1.9/lib/rubygems/installer.rb 2013-10-21 17:36:58.757317693 +0900 -@@ -662,6 +662,7 @@ +--- rubygems-2.1.11/lib/rubygems/installer.rb.binext 2013-11-13 08:24:55.000000000 +0900 ++++ rubygems-2.1.11/lib/rubygems/installer.rb 2013-12-13 14:22:17.080954520 +0900 +@@ -663,6 +663,7 @@ def build_extensions builder = Gem::Ext::Builder.new spec, @build_args @@ -106,9 +125,9 @@ builder.build_extensions end ---- rubygems-2.1.9/lib/rubygems/specification.rb.binext 2013-10-15 07:11:10.000000000 +0900 -+++ rubygems-2.1.9/lib/rubygems/specification.rb 2013-10-21 17:39:19.171530531 +0900 -@@ -1331,6 +1331,8 @@ +--- rubygems-2.1.11/lib/rubygems/specification.rb.binext 2013-11-13 08:24:55.000000000 +0900 ++++ rubygems-2.1.11/lib/rubygems/specification.rb 2013-12-13 14:22:17.080954520 +0900 +@@ -1328,6 +1328,8 @@ File.join full_gem_path, path end @@ -117,7 +136,7 @@ # gem directories must come after -I and ENV['RUBYLIB'] insert_index = Gem.load_path_insert_index -@@ -1620,6 +1622,13 @@ +@@ -1617,6 +1619,13 @@ @executables = Array(value) end @@ -131,8 +150,8 @@ ## # Sets extensions to +extensions+, ensuring it is an array. Don't # use this, push onto the array instead. ---- rubygems-2.1.9/lib/rubygems/uninstaller.rb.binext 2013-10-15 07:11:07.000000000 +0900 -+++ rubygems-2.1.9/lib/rubygems/uninstaller.rb 2013-10-21 17:36:58.758317808 +0900 +--- rubygems-2.1.11/lib/rubygems/uninstaller.rb.binext 2013-11-13 08:24:55.000000000 +0900 ++++ rubygems-2.1.11/lib/rubygems/uninstaller.rb 2013-12-13 14:22:17.081954636 +0900 @@ -247,6 +247,7 @@ File.writable?(spec.base_dir) diff --git a/rubygems.spec b/rubygems.spec index c4f4a01..1deeeec 100644 --- a/rubygems.spec +++ b/rubygems.spec @@ -25,7 +25,7 @@ Summary: The Ruby standard for packaging ruby libraries Name: rubygems Version: 2.1.11 -Release: 113%{?dist} +Release: 114%{?dist} Group: Development/Libraries License: Ruby or MIT @@ -268,6 +268,9 @@ ruby -Ilib %{SOURCE11} %changelog +* Fri Dec 13 2013 Mamoru TASAKA - 2.1.11-114 +- Add extension directory to contains_requirable_file (bug 1041391) + * Thu Nov 14 2013 Mamoru TASAKA - 2.1.11-113 - Update to 2.1.11