rubygems-update 1.5.3 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of rubygems-update might be problematic. Click here for more details.

Files changed (79) hide show
  1. data.tar.gz.sig +2 -1
  2. data/History.txt +60 -9
  3. data/Manifest.txt +1 -1
  4. data/Rakefile +0 -2
  5. data/lib/rubygems.rb +142 -65
  6. data/lib/rubygems/commands/owner_command.rb +3 -2
  7. data/lib/rubygems/commands/pristine_command.rb +5 -3
  8. data/lib/rubygems/commands/push_command.rb +8 -4
  9. data/lib/rubygems/commands/setup_command.rb +1 -2
  10. data/lib/rubygems/commands/uninstall_command.rb +5 -0
  11. data/lib/rubygems/commands/unpack_command.rb +10 -16
  12. data/lib/rubygems/config_file.rb +12 -5
  13. data/lib/rubygems/custom_require.rb +27 -7
  14. data/lib/rubygems/dependency.rb +33 -8
  15. data/lib/rubygems/dependency_installer.rb +21 -6
  16. data/lib/rubygems/dependency_list.rb +35 -3
  17. data/lib/rubygems/doc_manager.rb +6 -4
  18. data/lib/rubygems/gem_path_searcher.rb +45 -1
  19. data/lib/rubygems/gemcutter_utilities.rb +33 -0
  20. data/lib/rubygems/indexer.rb +1 -0
  21. data/lib/rubygems/installer.rb +11 -7
  22. data/lib/rubygems/installer_test_case.rb +23 -15
  23. data/lib/rubygems/mock_gem_ui.rb +1 -1
  24. data/lib/rubygems/remote_fetcher.rb +29 -10
  25. data/lib/rubygems/requirement.rb +1 -1
  26. data/lib/rubygems/security.rb +1 -0
  27. data/lib/rubygems/source_index.rb +3 -2
  28. data/lib/rubygems/spec_fetcher.rb +3 -1
  29. data/lib/rubygems/specification.rb +54 -12
  30. data/lib/rubygems/test_case.rb +99 -28
  31. data/lib/rubygems/test_utilities.rb +11 -1
  32. data/lib/rubygems/uninstaller.rb +22 -11
  33. data/lib/rubygems/user_interaction.rb +50 -29
  34. data/lib/rubygems/validator.rb +1 -1
  35. data/test/rubygems/fix_openssl_warnings.rb +12 -0
  36. data/test/rubygems/plugin/load/rubygems_plugin.rb +3 -1
  37. data/test/rubygems/test_gem.rb +384 -38
  38. data/test/rubygems/test_gem_builder.rb +1 -1
  39. data/test/rubygems/test_gem_command_manager.rb +2 -2
  40. data/test/rubygems/test_gem_commands_build_command.rb +1 -1
  41. data/test/rubygems/test_gem_commands_cert_command.rb +2 -1
  42. data/test/rubygems/test_gem_commands_dependency_command.rb +6 -5
  43. data/test/rubygems/test_gem_commands_fetch_command.rb +4 -4
  44. data/test/rubygems/test_gem_commands_install_command.rb +21 -18
  45. data/test/rubygems/test_gem_commands_lock_command.rb +1 -1
  46. data/test/rubygems/test_gem_commands_outdated_command.rb +2 -5
  47. data/test/rubygems/test_gem_commands_owner_command.rb +42 -0
  48. data/test/rubygems/test_gem_commands_pristine_command.rb +28 -8
  49. data/test/rubygems/test_gem_commands_push_command.rb +31 -5
  50. data/test/rubygems/test_gem_commands_specification_command.rb +8 -8
  51. data/test/rubygems/test_gem_commands_stale_command.rb +4 -2
  52. data/test/rubygems/test_gem_commands_uninstall_command.rb +23 -4
  53. data/test/rubygems/test_gem_commands_unpack_command.rb +10 -8
  54. data/test/rubygems/test_gem_commands_update_command.rb +16 -13
  55. data/test/rubygems/test_gem_commands_which_command.rb +1 -1
  56. data/test/rubygems/test_gem_config_file.rb +14 -0
  57. data/test/rubygems/test_gem_dependency.rb +39 -0
  58. data/test/rubygems/test_gem_dependency_installer.rb +213 -92
  59. data/test/rubygems/test_gem_dependency_list.rb +37 -17
  60. data/test/rubygems/test_gem_doc_manager.rb +5 -4
  61. data/test/rubygems/test_gem_format.rb +2 -2
  62. data/test/rubygems/test_gem_gemcutter_utilities.rb +48 -0
  63. data/test/rubygems/test_gem_indexer.rb +11 -10
  64. data/test/rubygems/test_gem_install_update_options.rb +0 -2
  65. data/test/rubygems/test_gem_installer.rb +151 -78
  66. data/test/rubygems/test_gem_package_tar_output.rb +3 -0
  67. data/test/rubygems/test_gem_remote_fetcher.rb +23 -14
  68. data/test/rubygems/test_gem_requirement.rb +4 -0
  69. data/test/rubygems/test_gem_security.rb +1 -0
  70. data/test/rubygems/test_gem_source_index.rb +17 -16
  71. data/test/rubygems/test_gem_spec_fetcher.rb +6 -1
  72. data/test/rubygems/test_gem_specification.rb +81 -31
  73. data/test/rubygems/test_gem_stream_ui.rb +11 -1
  74. data/test/rubygems/test_gem_uninstaller.rb +70 -10
  75. data/test/rubygems/test_gem_validator.rb +1 -1
  76. data/test/rubygems/test_kernel.rb +1 -1
  77. metadata +7 -7
  78. metadata.gz.sig +0 -0
  79. data/ChangeLog +0 -5811
data.tar.gz.sig CHANGED
@@ -1 +1,2 @@
1
- N4arN ����d�!M�D���Z�����.u���ŒI������J쑆�;�1���z��"Ib���«V���hJ���µ�(�� U��zQ�(�G$���Y����4:�_Z�)�>9O
1
+ �Ѣ�X�;����vYṛ*�-N���j��|��qQ6c�����)8R2�;��+H6KVQ,�PKɶ 5^���f:�]��Dw��1�';�`�O���
2
+ P��!��RB�s�!��Q.hO0�ƨy3m��ϚJ��g8"V�����8A'(#�ҥ!��1�(��怤:�v���v��y�AP�MAׁ�9r*O:!3}U���t6�����U�5�e;;�p��Xd�n؅�>�n�������S�읃�aE҂E;:^
@@ -1,12 +1,59 @@
1
- === 1.5.3 / 2011-02-26
2
-
3
- NOTE: RubyGems 1.5.0 and 1.5.1 have a broken <tt>gem update --system</tt>.
4
-
5
- To upgrade you'll need to use the manual upgrade recipe. Using sudo/su as
6
- appropriate:
7
-
8
- $ gem install rubygems-update
9
- $ update_rubygems
1
+ === 1.6.0 / 2011-02-29
2
+
3
+ 4 Deprecations:
4
+
5
+ * RubyGems no longer requires 'thread'. Rails < 3 will need to add require
6
+ 'thread' to their applications.
7
+ * Gem.cache is deprecated. Use Gem.source_index.
8
+ * RbConfig.datadir is deprecated. Use Gem.datadir.
9
+ * Gem::LoadError#version_requirements has been removed. Use
10
+ Gem::LoadError#requirement.
11
+
12
+ 2 Major Enhancements:
13
+
14
+ * Rewrote how Gem::activate (gem and require) resolves dependencies.
15
+ * Gem::LoadError#version_requirement has been removed. Use
16
+ Gem::LoadError#requirement.
17
+
18
+ 17 Minor Enhancments:
19
+
20
+ * Added --key to `gem push` for setting alternate API keys.
21
+ * Added --format-executable support to gem uninstall.
22
+ * Added Gem::DependencyList#clear.
23
+ * Added Gem::DependencyList#remove_specs_unsatisfied_by
24
+ * Added Gem.latest_spec_for, latest_version_for, and latest_rubygems_version.
25
+ * Added Gem::Dependency#merge which merges requirements for two
26
+ dependencies.
27
+ * Added Gem::TestCase#util_spec for faster tests.
28
+ * Added Gem::Specification#dependent_specs.
29
+ * Added Gem::TestCase#new_spec and Gem::TestCase#install_specs.
30
+ * Added flag to include prerelease gems in Gem::SourceIndex#latest_specs.
31
+ * Gem.cache_dir always references the proper cache dir.
32
+ Pass true to support a user path.
33
+ * Gem.cache_gem, given a filename always references the cache gem.
34
+ Pass true to support a user path.
35
+ * Added Gem::Specification#conflicts
36
+ * Removed rdoc gem/require from test_case.rb.
37
+ * Rubygems will no longer let you push if you're using beta or unreleased
38
+ rubygems.
39
+ * Save RAM / GC churn by removing spec.files and rdoc options from
40
+ locally cached gem specifications.
41
+ * SpecFetcher.fetch_spec can now take a string source_uri.
42
+
43
+ 10 Bug Fixes:
44
+
45
+ * Added missing require of Gem::RemoteFetcher to the unpack command.
46
+ * RubyGems now completely removes a previous install when reinstalling.
47
+ * Fixed Gem::Installer#generate_bin to only chmod files that exist.
48
+ * Fixed handling of Windows style file:/// uris.
49
+ * Fixed requires in tests. (shota)
50
+ * Fixed script generation on Windows.
51
+ * Fixed test issues if you have older rubygems installed.
52
+ * Gem::DependencyInstaller tests use Gem::Security, add the missing require.
53
+ * Gem::Security used FileUtils but didn't require it. Reported by Elia Schito.
54
+ * Gem::Uninstaller now respects --format-executable.
55
+
56
+ === 1.5.3 / 2011-02-26
10
57
 
11
58
  Bug Fixes:
12
59
 
@@ -21,6 +68,8 @@ Bug Fixes:
21
68
 
22
69
  === 1.5.1 / 2011-02-09
23
70
 
71
+ ==== NOTE: `gem update --system` is broken. See UPGRADING.rdoc.
72
+
24
73
  Minor Enhancement:
25
74
 
26
75
  * Added ability to do gem update --system X.Y.Z.
@@ -36,6 +85,8 @@ Bug Fixes:
36
85
 
37
86
  === 1.5.0 / 2011-01-31
38
87
 
88
+ ==== NOTE: `gem update --system` is broken. See UPGRADING.rdoc.
89
+
39
90
  Major Enhancements:
40
91
 
41
92
  * Finally fixed all known 1.9.x issues. Upgrading is now possible!
@@ -1,6 +1,5 @@
1
1
  .autotest
2
2
  .document
3
- ChangeLog
4
3
  GPL.txt
5
4
  History.txt
6
5
  LICENSE.txt
@@ -109,6 +108,7 @@ test/rubygems/bogussources.rb
109
108
  test/rubygems/data/gem-private_key.pem
110
109
  test/rubygems/data/gem-public_cert.pem
111
110
  test/rubygems/fake_certlib/openssl.rb
111
+ test/rubygems/fix_openssl_warnings.rb
112
112
  test/rubygems/foo/discover.rb
113
113
  test/rubygems/functional.rb
114
114
  test/rubygems/insure_session.rb
data/Rakefile CHANGED
@@ -1,7 +1,5 @@
1
1
  # -*- ruby -*-
2
2
 
3
- $:.unshift 'lib'
4
-
5
3
  require 'rubygems'
6
4
  require 'rubygems/package_task'
7
5
 
@@ -26,8 +26,8 @@ if Gem::GEM_PRELUDE_SUCKAGE and defined?(Gem::QuickLoader) then
26
26
  end
27
27
 
28
28
  require 'rubygems/defaults'
29
+ require "rubygems/dependency_list"
29
30
  require 'rbconfig'
30
- require 'thread' # HACK: remove me for 1.5 - this is here just for rails
31
31
 
32
32
  ##
33
33
  # RubyGems is the Ruby standard for publishing and managing third party
@@ -118,7 +118,7 @@ require 'thread' # HACK: remove me for 1.5 - this is here just for rails
118
118
  # -The RubyGems Team
119
119
 
120
120
  module Gem
121
- RubyGemsVersion = VERSION = '1.5.3'
121
+ VERSION = '1.6.0'
122
122
 
123
123
  ##
124
124
  # Raised when RubyGems is unable to load or activate a gem. Contains the
@@ -131,25 +131,11 @@ module Gem
131
131
 
132
132
  # Version requirement of gem
133
133
  attr_accessor :requirement
134
+ end
134
135
 
135
- def version_requirement
136
- warn "#{Gem.location_of_caller.join ':'}:Warning: " \
137
- "Gem::LoadError#version_requirement is deprecated " \
138
- "and will be removed on or after January 2011. " \
139
- "Use #requirement."
140
-
141
- requirement
142
- end
143
-
144
- def version_requirement= requirement
145
- warn "#{Gem.location_of_caller.join ':'}:Warning: " \
146
- "Gem::LoadError#version_requirement= is deprecated " \
147
- "and will be removed on or after January 2011. " \
148
- "Use #requirement."
136
+ # :stopdoc:
149
137
 
150
- self.requirement = requirement
151
- end
152
- end
138
+ RubyGemsVersion = VERSION
153
139
 
154
140
  RbConfigPriorities = %w[
155
141
  EXEEXT RUBY_SO_NAME arch bindir datadir libdir ruby_install_name
@@ -174,6 +160,9 @@ module Gem
174
160
  DIRECTORIES = %w[cache doc gems specifications] unless defined?(DIRECTORIES)
175
161
 
176
162
  RubyGemsPackageVersion = VERSION
163
+
164
+ RUBYGEMS_DIR = File.dirname File.expand_path(__FILE__)
165
+
177
166
  # :startdoc:
178
167
 
179
168
  ##
@@ -210,21 +199,30 @@ module Gem
210
199
  # activated. Returns false if it can't find the path in a gem.
211
200
 
212
201
  def self.try_activate path
202
+ # finds the _latest_ version... regardless of loaded specs and their deps
203
+
204
+ # TODO: use find_all and bork if ambiguous
205
+
213
206
  spec = Gem.searcher.find path
214
207
  return false unless spec
215
208
 
216
- Gem.activate spec.name, "= #{spec.version}"
209
+ begin
210
+ Gem.activate spec.name, "= #{spec.version}"
211
+ rescue Gem::LoadError # this could fail due to gem dep collisions, go lax
212
+ Gem.activate spec.name
213
+ end
214
+
217
215
  return true
218
216
  end
219
217
 
220
218
  ##
221
- # Activates an installed gem matching +gem+. The gem must satisfy
219
+ # Activates an installed gem matching +dep+. The gem must satisfy
222
220
  # +requirements+.
223
221
  #
224
222
  # Returns true if the gem is activated, false if it is already
225
223
  # loaded, or an exception otherwise.
226
224
  #
227
- # Gem#activate adds the library paths in +gem+ to $LOAD_PATH. Before a Gem
225
+ # Gem#activate adds the library paths in +dep+ to $LOAD_PATH. Before a Gem
228
226
  # is activated its required Gems are activated. If the version information
229
227
  # is omitted, the highest version Gem of the supplied name is loaded. If a
230
228
  # Gem is not found that meets the version requirements or a required Gem is
@@ -233,63 +231,78 @@ module Gem
233
231
  # More information on version requirements can be found in the
234
232
  # Gem::Requirement and Gem::Version documentation.
235
233
 
236
- def self.activate(gem, *requirements)
234
+ def self.activate(dep, *requirements)
235
+ # TODO: remove options entirely
237
236
  if requirements.last.is_a?(Hash)
238
237
  options = requirements.pop
239
238
  else
240
239
  options = {}
241
240
  end
242
241
 
243
- sources = options[:sources] || []
244
-
245
- if requirements.empty? then
246
- requirements = Gem::Requirement.default
247
- end
248
-
249
- unless gem.respond_to?(:name) and
250
- gem.respond_to?(:requirement) then
251
- gem = Gem::Dependency.new(gem, requirements)
252
- end
242
+ requirements = Gem::Requirement.default if requirements.empty?
243
+ dep = Gem::Dependency.new(dep, requirements) unless Gem::Dependency === dep
253
244
 
254
- matches = Gem.source_index.find_name(gem.name, gem.requirement)
255
- report_activate_error(gem) if matches.empty?
245
+ # TODO: remove sources entirely
246
+ sources = options[:sources] || []
247
+ matches = Gem.source_index.search dep, true
248
+ report_activate_error(dep) if matches.empty?
256
249
 
257
- if @loaded_specs[gem.name] then
250
+ if @loaded_specs[dep.name] then
258
251
  # This gem is already loaded. If the currently loaded gem is not in the
259
252
  # list of candidate gems, then we have a version conflict.
260
- existing_spec = @loaded_specs[gem.name]
253
+ existing_spec = @loaded_specs[dep.name]
261
254
 
262
255
  unless matches.any? { |spec| spec.version == existing_spec.version } then
263
- sources_message = sources.map { |spec| spec.full_name }
264
- stack_message = @loaded_stacks[gem.name].map { |spec| spec.full_name }
256
+ sources_message = sources.map { |spec| spec.full_name }
257
+ stack_message = @loaded_stacks[dep.name].map { |spec| spec.full_name }
265
258
 
266
- msg = "can't activate #{gem} for #{sources_message.inspect}, "
267
- msg << "already activated #{existing_spec.full_name} for "
268
- msg << "#{stack_message.inspect}"
259
+ msg = "can't activate #{dep} for #{sources_message.inspect}, "
260
+ msg << "already activated #{existing_spec.full_name} for "
261
+ msg << "#{stack_message.inspect}"
269
262
 
270
- e = Gem::LoadError.new msg
271
- e.name = gem.name
272
- e.requirement = gem.requirement
263
+ e = Gem::LoadError.new msg
264
+ e.name = dep.name
265
+ e.requirement = dep.requirement
273
266
 
274
- raise e
267
+ raise e
275
268
  end
276
269
 
277
270
  return false
278
271
  end
279
272
 
280
- # new load
281
273
  spec = matches.last
274
+
275
+ conf = spec.conflicts
276
+ unless conf.empty? then
277
+ why = conf.map { |act,con|
278
+ "#{act.full_name} conflicts with #{con.join(", ")}"
279
+ }.join ", "
280
+
281
+ # TODO: improve message by saying who activated `con`
282
+
283
+ raise LoadError, "Unable to activate #{spec.full_name}, because #{why}"
284
+ end
285
+
282
286
  return false if spec.loaded?
283
287
 
284
288
  spec.loaded = true
285
- @loaded_specs[spec.name] = spec
289
+ @loaded_specs[spec.name] = spec
286
290
  @loaded_stacks[spec.name] = sources.dup
287
291
 
288
- # Load dependent gems first
289
- spec.runtime_dependencies.each do |dep_gem|
290
- activate dep_gem, :sources => [spec, *sources]
292
+ spec.runtime_dependencies.each do |spec_dep|
293
+ next if Gem.loaded_specs.include? spec_dep.name
294
+ specs = Gem.source_index.search spec_dep, true
295
+
296
+ if specs.size == 1 then
297
+ self.activate spec_dep
298
+ else
299
+ name = spec_dep.name
300
+ unresolved_deps[name] = unresolved_deps[name].merge spec_dep
301
+ end
291
302
  end
292
303
 
304
+ unresolved_deps.delete spec.name
305
+
293
306
  require_paths = spec.require_paths.map do |path|
294
307
  File.join spec.full_gem_path, path
295
308
  end
@@ -308,6 +321,10 @@ module Gem
308
321
  return true
309
322
  end
310
323
 
324
+ def self.unresolved_deps
325
+ @unresolved_deps ||= Hash.new { |h, n| h[n] = Gem::Dependency.new n }
326
+ end
327
+
311
328
  ##
312
329
  # An Array of all possible load paths for all versions of all gems in the
313
330
  # Gem installation.
@@ -540,6 +557,7 @@ module Gem
540
557
  # to be depending on HOME in those code samples. I propose that
541
558
  # it should fallback to USERPROFILE and HOMEDRIVE + HOMEPATH (at
542
559
  # least on Win32).
560
+ #++
543
561
 
544
562
  def self.find_home
545
563
  unless RUBY_VERSION > '1.9' then
@@ -716,6 +734,27 @@ module Gem
716
734
  @gem_path
717
735
  end
718
736
 
737
+ ##
738
+ # Get the appropriate cache path.
739
+ #
740
+ # Pass a string to use a different base path, or nil/false (default) for
741
+ # Gem.dir.
742
+ #
743
+
744
+ def self.cache_dir(custom_dir=false)
745
+ File.join(custom_dir ? custom_dir : Gem.dir, 'cache')
746
+ end
747
+
748
+ ##
749
+ # Given a gem path, find the gem in cache.
750
+ #
751
+ # Pass a string as the second argument to use a different base path, or
752
+ # nil/false (default) for Gem.dir.
753
+
754
+ def self.cache_gem(filename, user_dir=false)
755
+ File.join(cache_dir(user_dir), filename)
756
+ end
757
+
719
758
  ##
720
759
  # Set array of platforms this RubyGems supports (primarily for testing).
721
760
 
@@ -781,17 +820,16 @@ module Gem
781
820
  end
782
821
 
783
822
  ##
784
- # The directory prefix this RubyGems was installed at.
823
+ # The directory prefix this RubyGems was installed at. If your
824
+ # prefix is in a standard location (ie, rubygems is installed where
825
+ # you'd expect it to be), then prefix returns nil.
785
826
 
786
827
  def self.prefix
787
- dir = File.dirname File.expand_path(__FILE__)
788
- prefix = File.dirname dir
828
+ prefix = File.dirname RUBYGEMS_DIR
789
829
 
790
- if prefix == File.expand_path(ConfigMap[:sitelibdir]) or
791
- prefix == File.expand_path(ConfigMap[:libdir]) or
792
- 'lib' != File.basename(dir) then
793
- nil
794
- else
830
+ if prefix != File.expand_path(ConfigMap[:sitelibdir]) and
831
+ prefix != File.expand_path(ConfigMap[:libdir]) and
832
+ 'lib' == File.basename(RUBYGEMS_DIR) then
795
833
  prefix
796
834
  end
797
835
  end
@@ -899,6 +937,29 @@ module Gem
899
937
  @ruby
900
938
  end
901
939
 
940
+ def self.latest_spec_for name
941
+ dependency = Gem::Dependency.new name
942
+ fetcher = Gem::SpecFetcher.fetcher
943
+ spec_tuples = fetcher.find_matching dependency
944
+
945
+ match = spec_tuples.select { |(n, _, p), _|
946
+ n == name and Gem::Platform.match p
947
+ }.sort_by { |(_, version, _), _|
948
+ version
949
+ }.last
950
+
951
+ match and fetcher.fetch_spec(*match)
952
+ end
953
+
954
+ def self.latest_version_for name
955
+ spec = latest_spec_for name
956
+ spec and spec.version
957
+ end
958
+
959
+ def self.latest_rubygems_version
960
+ latest_version_for "rubygems-update"
961
+ end
962
+
902
963
  ##
903
964
  # A Gem::Version for the currently running ruby.
904
965
 
@@ -996,6 +1057,13 @@ module Gem
996
1057
  @suffix_pattern ||= "{#{suffixes.join(',')}}"
997
1058
  end
998
1059
 
1060
+ def self.loaded_path? path
1061
+ # TODO: ruby needs a feature to let us query what's loaded in 1.8 and 1.9
1062
+ $LOADED_FEATURES.find { |s|
1063
+ s =~ /(^|\/)#{Regexp.escape path}#{Regexp.union(*Gem.suffixes)}$/
1064
+ }
1065
+ end
1066
+
999
1067
  ##
1000
1068
  # Suffixes for require-able paths.
1001
1069
 
@@ -1142,12 +1210,15 @@ module Gem
1142
1210
 
1143
1211
  attr_reader :pre_uninstall_hooks
1144
1212
 
1145
- # :stopdoc:
1146
-
1147
- alias cache source_index # an alias for the old name
1213
+ end
1148
1214
 
1149
- # :startdoc:
1215
+ def self.cache # :nodoc:
1216
+ warn "#{Gem.location_of_caller.join ':'}:Warning: " \
1217
+ "Gem::cache is deprecated and will be removed on or after " \
1218
+ "August 2011. " \
1219
+ "Use Gem::source_index."
1150
1220
 
1221
+ source_index
1151
1222
  end
1152
1223
 
1153
1224
  ##
@@ -1215,7 +1286,13 @@ end
1215
1286
  # "#{ConfigMap[:datadir]}/#{package_name}".
1216
1287
 
1217
1288
  def RbConfig.datadir(package_name)
1218
- require 'rbconfig/datadir' # TODO Deprecate after June 2010.
1289
+ warn "#{Gem.location_of_caller.join ':'}:Warning: " \
1290
+ "RbConfig.datadir is deprecated and will be removed on or after " \
1291
+ "August 2011. " \
1292
+ "Use Gem::datadir."
1293
+
1294
+ require 'rbconfig/datadir'
1295
+
1219
1296
  Gem.datadir(package_name) ||
1220
1297
  File.join(Gem::ConfigMap[:datadir], package_name)
1221
1298
  end
@@ -1246,7 +1323,7 @@ end
1246
1323
  ##
1247
1324
  # Enables the require hook for RubyGems.
1248
1325
 
1249
- require 'rubygems/custom_require' unless Gem::GEM_PRELUDE_SUCKAGE
1326
+ require 'rubygems/custom_require'
1250
1327
 
1251
1328
  Gem.clear_paths
1252
1329