rubygems-update 2.0.3 → 2.0.4
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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/History.txt +42 -1
- data/Manifest.txt +0 -2
- data/Rakefile +0 -1
- data/lib/rubygems.rb +7 -2
- data/lib/rubygems/commands/help_command.rb +9 -1
- data/lib/rubygems/commands/list_command.rb +4 -6
- data/lib/rubygems/commands/owner_command.rb +1 -1
- data/lib/rubygems/commands/pristine_command.rb +5 -4
- data/lib/rubygems/commands/push_command.rb +2 -1
- data/lib/rubygems/commands/search_command.rb +17 -3
- data/lib/rubygems/commands/setup_command.rb +35 -23
- data/lib/rubygems/commands/specification_command.rb +1 -1
- data/lib/rubygems/commands/update_command.rb +1 -1
- data/lib/rubygems/core_ext/kernel_require.rb +8 -0
- data/lib/rubygems/defaults.rb +3 -1
- data/lib/rubygems/dependency_installer.rb +0 -1
- data/lib/rubygems/dependency_resolver.rb +1 -1
- data/lib/rubygems/errors.rb +2 -2
- data/lib/rubygems/ext/builder.rb +8 -3
- data/lib/rubygems/ext/ext_conf_builder.rb +1 -0
- data/lib/rubygems/gemcutter_utilities.rb +14 -4
- data/lib/rubygems/installer.rb +9 -2
- data/lib/rubygems/package.rb +0 -1
- data/lib/rubygems/platform.rb +2 -0
- data/lib/rubygems/psych_tree.rb +4 -0
- data/lib/rubygems/specification.rb +24 -26
- data/lib/rubygems/test_case.rb +58 -0
- data/test/rubygems/test_gem.rb +4 -2
- data/test/rubygems/test_gem_commands_help_command.rb +5 -0
- data/test/rubygems/test_gem_commands_owner_command.rb +12 -0
- data/test/rubygems/test_gem_commands_push_command.rb +16 -0
- data/test/rubygems/test_gem_commands_setup_command.rb +52 -0
- data/test/rubygems/test_gem_ext_cmake_builder.rb +4 -4
- data/test/rubygems/test_gem_ext_configure_builder.rb +4 -4
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +8 -13
- data/test/rubygems/test_gem_gemcutter_utilities.rb +23 -0
- data/test/rubygems/test_gem_installer.rb +15 -0
- data/test/rubygems/test_gem_package.rb +3 -1
- data/test/rubygems/test_gem_spec_fetcher.rb +3 -1
- data/test/rubygems/test_gem_specification.rb +25 -1
- metadata +6 -23
- metadata.gz.sig +0 -0
- data/test/rubygems/insure_session.rb +0 -43
- data/test/rubygems/test_gem_commands_search_command.rb +0 -25
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 23d91223aab36769e7bd55ec6a42800a4b8d9f40
|
4
|
+
data.tar.gz: b5190f2902a2fe929a7c27a0864a2f0d087e749f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f96281ae469f202368eab4524a800b4d9f0dc389b6628afc5c0a3d70981dac6c069d0a4e058dddfe10a1c6e753ed3d69c69bb4ffc22f1575673b89eb393d4d28
|
7
|
+
data.tar.gz: cb3f3ff170c6d6b680f72cfe9b296f335f3dc5d5564ffeba7df037808fa4696892754c107fbaf94b8698b37253f2d7106f3378e34c018c9dd9647e6f185d32dc
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/History.txt
CHANGED
@@ -1,6 +1,47 @@
|
|
1
1
|
# coding: UTF-8
|
2
2
|
|
3
|
-
=== 2.0.
|
3
|
+
=== 2.0.4 / 2013-07-09
|
4
|
+
|
5
|
+
Bug fixes:
|
6
|
+
|
7
|
+
* Fixed error caused by gem install not finding the right platform for your
|
8
|
+
platform. Bug #576 by John Anderson
|
9
|
+
* Fixed pushing gems with the default host. Bug #495 by Utkarsh Kukreti
|
10
|
+
* Improved unhelpful error message from `gem owner --remove`. Bug #488 by
|
11
|
+
Steve Klabnik
|
12
|
+
* Fixed typo in `gem spec` help. Pull request #563 by oooooooo
|
13
|
+
* Fixed creation of build_info with --install-dir. Bug #457 by Vít Ondruch.
|
14
|
+
* RubyGems converts non-string dependency names to strings now. Bug #505 by
|
15
|
+
Terence Lee
|
16
|
+
* Outdated prerelease versions are now listed in `gem outdated`.
|
17
|
+
* RubyGems now only calls fsync() on the specification when installing, not
|
18
|
+
every file from the gem. This improves the performance of gem installation
|
19
|
+
on some systems. Pull Request #556 by Grzesiek Kolodziejczyk
|
20
|
+
* Removed surprise search term anchoring in `gem search` to restore 1.8-like
|
21
|
+
search behavior while still defaulting to --remote. Pull request #562 by
|
22
|
+
Ben Bleything
|
23
|
+
* Fixed handling of DESTDIR when building extensions. Pull request #573 by
|
24
|
+
Akinori MUSHA
|
25
|
+
* Fixed documentation of `gem pristine` defaults (--all is not a default).
|
26
|
+
Pull request #577 by Shannon Skipper
|
27
|
+
* Fixed a windows extension-building test failure. Pull request #575 by
|
28
|
+
Hiroshi Shirosaki
|
29
|
+
* Fixed issue with `gem update` where it would attempt to use a Version
|
30
|
+
instead of a Requirement to find the latest gem. Fixes #570 by Nick Cox.
|
31
|
+
* RubyGems now ignores an empty but set RUBYGEMS_HOST environment variable.
|
32
|
+
Based on pull request #558 by Robin Dupret.
|
33
|
+
* Removed duplicate creation of gem subdirectories in
|
34
|
+
Gem::DependencyInstaller. Pull Request #456 by Vít Ondruch
|
35
|
+
* RubyGems now works with Ruby built with `--with-ruby-version=''`. Pull
|
36
|
+
Request #455 by Vít Ondruch
|
37
|
+
* Fixed race condition when two threads require the same gem. Ruby bug report
|
38
|
+
#8374 by Joel VanderWerf
|
39
|
+
* Cleaned up siteconf between extension build and extension install. Pull
|
40
|
+
request #587 by Dominic Cleal
|
41
|
+
* Fix deprecation warnings when converting gemspecs to yaml. Ruby commit
|
42
|
+
r41148 by Yui Naruse
|
43
|
+
|
44
|
+
=== 2.0.3 / 2013-03-11
|
4
45
|
|
5
46
|
* Bug fixes:
|
6
47
|
* Reverted automatic upgrade to HTTPS as it breaks RubyGems APIs. Fixes
|
data/Manifest.txt
CHANGED
@@ -142,7 +142,6 @@ test/rubygems/good_rake.rb
|
|
142
142
|
test/rubygems/grandchild_cert.pem
|
143
143
|
test/rubygems/grandchild_cert_32.pem
|
144
144
|
test/rubygems/grandchild_key.pem
|
145
|
-
test/rubygems/insure_session.rb
|
146
145
|
test/rubygems/invalid_issuer_cert.pem
|
147
146
|
test/rubygems/invalid_issuer_cert_32.pem
|
148
147
|
test/rubygems/invalid_key.pem
|
@@ -189,7 +188,6 @@ test/rubygems/test_gem_commands_owner_command.rb
|
|
189
188
|
test/rubygems/test_gem_commands_pristine_command.rb
|
190
189
|
test/rubygems/test_gem_commands_push_command.rb
|
191
190
|
test/rubygems/test_gem_commands_query_command.rb
|
192
|
-
test/rubygems/test_gem_commands_search_command.rb
|
193
191
|
test/rubygems/test_gem_commands_server_command.rb
|
194
192
|
test/rubygems/test_gem_commands_setup_command.rb
|
195
193
|
test/rubygems/test_gem_commands_sources_command.rb
|
data/Rakefile
CHANGED
@@ -50,7 +50,6 @@ hoe = Hoe.spec 'rubygems-update' do
|
|
50
50
|
|
51
51
|
extra_dev_deps << ['builder', '~> 2.1']
|
52
52
|
extra_dev_deps << ['hoe-seattlerb', '~> 1.2']
|
53
|
-
extra_dev_deps << ['session', '~> 2.4']
|
54
53
|
extra_dev_deps << ['rdoc', '~> 3.0']
|
55
54
|
extra_dev_deps << ['ZenTest', '~> 4.5']
|
56
55
|
extra_dev_deps << ['rake', '~> 0.9.3']
|
data/lib/rubygems.rb
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
require 'rbconfig'
|
9
9
|
|
10
10
|
module Gem
|
11
|
-
VERSION = '2.0.
|
11
|
+
VERSION = '2.0.4'
|
12
12
|
end
|
13
13
|
|
14
14
|
# Must be first since it unloads the prelude from 1.9.2
|
@@ -173,7 +173,12 @@ module Gem
|
|
173
173
|
# require will try to activate the more specific version.
|
174
174
|
|
175
175
|
spec = Gem::Specification.find_inactive_by_path path
|
176
|
-
|
176
|
+
|
177
|
+
unless spec
|
178
|
+
spec = Gem::Specification.find_by_path path
|
179
|
+
return true if spec && spec.activated?
|
180
|
+
return false
|
181
|
+
end
|
177
182
|
|
178
183
|
begin
|
179
184
|
spec.activate
|
@@ -113,7 +113,15 @@ platform.
|
|
113
113
|
format = "#{' ' * margin_width}%-#{desc_width}s%s"
|
114
114
|
|
115
115
|
command_manager.command_names.each do |cmd_name|
|
116
|
-
|
116
|
+
command = command_manager[cmd_name]
|
117
|
+
|
118
|
+
summary =
|
119
|
+
if command then
|
120
|
+
command.summary
|
121
|
+
else
|
122
|
+
"[No command found for #{cmd_name}, bug?]"
|
123
|
+
end
|
124
|
+
|
117
125
|
summary = wrap(summary, summary_width).split "\n"
|
118
126
|
out << sprintf(format, cmd_name, summary.shift)
|
119
127
|
until summary.empty? do
|
@@ -7,9 +7,8 @@ require 'rubygems/commands/query_command'
|
|
7
7
|
|
8
8
|
class Gem::Commands::ListCommand < Gem::Commands::QueryCommand
|
9
9
|
|
10
|
-
def initialize
|
11
|
-
|
12
|
-
super name, summary
|
10
|
+
def initialize
|
11
|
+
super 'list', 'Display gems whose name starts with STRING'
|
13
12
|
|
14
13
|
remove_option('--name-matches')
|
15
14
|
end
|
@@ -27,9 +26,8 @@ class Gem::Commands::ListCommand < Gem::Commands::QueryCommand
|
|
27
26
|
end
|
28
27
|
|
29
28
|
def execute
|
30
|
-
|
31
|
-
options[:name] = /^#{
|
32
|
-
|
29
|
+
string = get_one_optional_argument || ''
|
30
|
+
options[:name] = /^#{string}/i
|
33
31
|
super
|
34
32
|
end
|
35
33
|
|
@@ -10,7 +10,8 @@ class Gem::Commands::PristineCommand < Gem::Command
|
|
10
10
|
def initialize
|
11
11
|
super 'pristine',
|
12
12
|
'Restores installed gems to pristine condition from files located in the gem cache',
|
13
|
-
:version => Gem::Requirement.default,
|
13
|
+
:version => Gem::Requirement.default,
|
14
|
+
:extensions => true,
|
14
15
|
:all => false
|
15
16
|
|
16
17
|
add_option('--all',
|
@@ -37,7 +38,7 @@ class Gem::Commands::PristineCommand < Gem::Command
|
|
37
38
|
end
|
38
39
|
|
39
40
|
def defaults_str # :nodoc:
|
40
|
-
|
41
|
+
'--extensions'
|
41
42
|
end
|
42
43
|
|
43
44
|
def description # :nodoc:
|
@@ -52,8 +53,8 @@ for the gem are regenerated.
|
|
52
53
|
If the cached gem cannot be found, you will need to use `gem install` to
|
53
54
|
revert the gem.
|
54
55
|
|
55
|
-
If --no-extensions is provided pristine will not attempt to restore gems
|
56
|
-
extensions.
|
56
|
+
If --no-extensions is provided pristine will not attempt to restore gems
|
57
|
+
with extensions.
|
57
58
|
EOF
|
58
59
|
end
|
59
60
|
|
@@ -1,17 +1,31 @@
|
|
1
1
|
require 'rubygems/command'
|
2
|
-
require 'rubygems/commands/
|
2
|
+
require 'rubygems/commands/query_command'
|
3
3
|
|
4
|
-
class Gem::Commands::SearchCommand < Gem::Commands::
|
4
|
+
class Gem::Commands::SearchCommand < Gem::Commands::QueryCommand
|
5
5
|
|
6
6
|
def initialize
|
7
7
|
super 'search', 'Display all gems whose name contains STRING'
|
8
8
|
|
9
|
-
|
9
|
+
remove_option '--name-matches'
|
10
|
+
end
|
11
|
+
|
12
|
+
def arguments # :nodoc:
|
13
|
+
"STRING fragment of gem name to search for"
|
10
14
|
end
|
11
15
|
|
12
16
|
def defaults_str # :nodoc:
|
13
17
|
"--remote --no-details"
|
14
18
|
end
|
15
19
|
|
20
|
+
def usage # :nodoc:
|
21
|
+
"#{program_name} [STRING]"
|
22
|
+
end
|
23
|
+
|
24
|
+
def execute
|
25
|
+
string = get_one_optional_argument
|
26
|
+
options[:name] = /#{string}/i
|
27
|
+
super
|
28
|
+
end
|
29
|
+
|
16
30
|
end
|
17
31
|
|
@@ -159,29 +159,7 @@ By default, this RubyGems will install gem as:
|
|
159
159
|
|
160
160
|
options[:previous_version] = Gem::Version.new(options[:previous_version])
|
161
161
|
|
162
|
-
|
163
|
-
|
164
|
-
release_notes = if File.exist? release_notes then
|
165
|
-
history = File.read release_notes
|
166
|
-
history = history.sub(/^# coding:.*?^=/m, '')
|
167
|
-
|
168
|
-
text = history.split(HISTORY_HEADER)
|
169
|
-
text.shift # correct an off-by-one generated by split
|
170
|
-
version_lines = history.scan(HISTORY_HEADER)
|
171
|
-
versions = history.scan(VERSION_MATCHER).flatten.map { |x| Gem::Version.new(x) }
|
172
|
-
|
173
|
-
history_string = ""
|
174
|
-
|
175
|
-
until versions.length == 0 or versions.shift < options[:previous_version]
|
176
|
-
history_string += version_lines.shift + text.shift
|
177
|
-
end
|
178
|
-
|
179
|
-
history_string
|
180
|
-
else
|
181
|
-
"Oh-no! Unable to find release notes!"
|
182
|
-
end
|
183
|
-
|
184
|
-
say release_notes
|
162
|
+
show_release_notes
|
185
163
|
|
186
164
|
say
|
187
165
|
say "-" * 78
|
@@ -458,6 +436,40 @@ abort "#{deprecation_message}"
|
|
458
436
|
end
|
459
437
|
end
|
460
438
|
|
439
|
+
def show_release_notes
|
440
|
+
release_notes = File.join Dir.pwd, 'History.txt'
|
441
|
+
|
442
|
+
release_notes =
|
443
|
+
if File.exist? release_notes then
|
444
|
+
history = File.read release_notes
|
445
|
+
|
446
|
+
history.force_encoding Encoding::UTF_8 if
|
447
|
+
Object.const_defined? :Encoding
|
448
|
+
|
449
|
+
history = history.sub(/^# coding:.*?^=/m, '')
|
450
|
+
|
451
|
+
text = history.split(HISTORY_HEADER)
|
452
|
+
text.shift # correct an off-by-one generated by split
|
453
|
+
version_lines = history.scan(HISTORY_HEADER)
|
454
|
+
versions = history.scan(VERSION_MATCHER).flatten.map do |x|
|
455
|
+
Gem::Version.new(x)
|
456
|
+
end
|
457
|
+
|
458
|
+
history_string = ""
|
459
|
+
|
460
|
+
until versions.length == 0 or
|
461
|
+
versions.shift < options[:previous_version] do
|
462
|
+
history_string += version_lines.shift + text.shift
|
463
|
+
end
|
464
|
+
|
465
|
+
history_string
|
466
|
+
else
|
467
|
+
"Oh-no! Unable to find release notes!"
|
468
|
+
end
|
469
|
+
|
470
|
+
say release_notes
|
471
|
+
end
|
472
|
+
|
461
473
|
def uninstall_old_gemcutter
|
462
474
|
require 'rubygems/uninstaller'
|
463
475
|
|
@@ -28,7 +28,7 @@ class Gem::Commands::SpecificationCommand < Gem::Command
|
|
28
28
|
options[:format] = :ruby
|
29
29
|
end
|
30
30
|
|
31
|
-
add_option('--yaml', 'Output
|
31
|
+
add_option('--yaml', 'Output YAML format') do |value, options|
|
32
32
|
options[:format] = :yaml
|
33
33
|
end
|
34
34
|
|
@@ -94,7 +94,7 @@ class Gem::Commands::UpdateCommand < Gem::Command
|
|
94
94
|
|
95
95
|
say "Updating #{name}"
|
96
96
|
begin
|
97
|
-
@installer.install name, version
|
97
|
+
@installer.install name, Gem::Requirement.new(version)
|
98
98
|
success = true
|
99
99
|
rescue Gem::InstallError => e
|
100
100
|
alert_error "Error installing #{name}:\n\t#{e.message}"
|
@@ -4,6 +4,8 @@
|
|
4
4
|
# See LICENSE.txt for permissions.
|
5
5
|
#++
|
6
6
|
|
7
|
+
require 'monitor'
|
8
|
+
|
7
9
|
module Kernel
|
8
10
|
|
9
11
|
if defined?(gem_original_require) then
|
@@ -31,7 +33,11 @@ module Kernel
|
|
31
33
|
# The normal <tt>require</tt> functionality of returning false if
|
32
34
|
# that file has already been loaded is preserved.
|
33
35
|
|
36
|
+
ACTIVATION_MONITOR = Monitor.new
|
37
|
+
|
34
38
|
def require path
|
39
|
+
ACTIVATION_MONITOR.enter
|
40
|
+
|
35
41
|
spec = Gem.find_unresolved_default_spec(path)
|
36
42
|
if spec
|
37
43
|
Gem.remove_unresolved_default_spec(spec)
|
@@ -111,6 +117,8 @@ module Kernel
|
|
111
117
|
end
|
112
118
|
|
113
119
|
raise load_error
|
120
|
+
ensure
|
121
|
+
ACTIVATION_MONITOR.exit
|
114
122
|
end
|
115
123
|
|
116
124
|
private :require
|
data/lib/rubygems/defaults.rb
CHANGED
@@ -54,7 +54,9 @@ module Gem
|
|
54
54
|
# Path for gems in the user's home directory
|
55
55
|
|
56
56
|
def self.user_dir
|
57
|
-
|
57
|
+
parts = [Gem.user_home, '.gem', ruby_engine]
|
58
|
+
parts << ConfigMap[:ruby_version] unless ConfigMap[:ruby_version].empty?
|
59
|
+
File.join parts
|
58
60
|
end
|
59
61
|
|
60
62
|
##
|
@@ -63,7 +63,6 @@ class Gem::DependencyInstaller
|
|
63
63
|
# HACK shouldn't change the global settings, needed for -i behavior
|
64
64
|
# maybe move to the install command? See also github #442
|
65
65
|
Gem::Specification.dirs = @install_dir
|
66
|
-
Gem.ensure_gem_subdirectories @install_dir
|
67
66
|
end
|
68
67
|
|
69
68
|
options = DEFAULT_OPTIONS.merge options
|
data/lib/rubygems/errors.rb
CHANGED
@@ -62,10 +62,10 @@ module Gem
|
|
62
62
|
##
|
63
63
|
# A wordy description of the error.
|
64
64
|
def wordy
|
65
|
-
"Found %s (%), but was for platform%s %s" %
|
65
|
+
"Found %s (%s), but was for platform%s %s" %
|
66
66
|
[@name,
|
67
67
|
@version,
|
68
|
-
@platforms.size == 1 ? '
|
68
|
+
@platforms.size == 1 ? '' : 's',
|
69
69
|
@platforms.join(' ,')]
|
70
70
|
end
|
71
71
|
end
|
data/lib/rubygems/ext/builder.rb
CHANGED
@@ -23,9 +23,14 @@ class Gem::Ext::Builder
|
|
23
23
|
make_program = (/mswin/ =~ RUBY_PLATFORM) ? 'nmake' : 'make'
|
24
24
|
end
|
25
25
|
|
26
|
-
['', '
|
27
|
-
|
28
|
-
|
26
|
+
['', 'install'].each do |target|
|
27
|
+
# Pass DESTDIR via command line to override what's in MAKEFLAGS
|
28
|
+
cmd = [
|
29
|
+
make_program,
|
30
|
+
'"DESTDIR=%s"' % ENV['DESTDIR'],
|
31
|
+
target
|
32
|
+
].join(' ').rstrip
|
33
|
+
run(cmd, results, "make #{target}".rstrip)
|
29
34
|
end
|
30
35
|
end
|
31
36
|
|
@@ -38,7 +38,7 @@ module Gem::GemcutterUtilities
|
|
38
38
|
|
39
39
|
say "Enter your #{pretty_host} credentials."
|
40
40
|
say "Don't have an account yet? " +
|
41
|
-
"Create one at
|
41
|
+
"Create one at #{sign_in_host}/sign_up"
|
42
42
|
|
43
43
|
email = ask " Email: "
|
44
44
|
password = ask_for_password "Password: "
|
@@ -60,7 +60,14 @@ module Gem::GemcutterUtilities
|
|
60
60
|
configured_host = Gem.host unless
|
61
61
|
Gem.configuration.disable_default_gem_server
|
62
62
|
|
63
|
-
@host ||=
|
63
|
+
@host ||=
|
64
|
+
begin
|
65
|
+
env_rubygems_host = ENV['RUBYGEMS_HOST']
|
66
|
+
env_rubygems_host = nil if
|
67
|
+
env_rubygems_host and env_rubygems_host.empty?
|
68
|
+
|
69
|
+
env_rubygems_host|| configured_host
|
70
|
+
end
|
64
71
|
end
|
65
72
|
|
66
73
|
def rubygems_api_request(method, path, host = nil, &block)
|
@@ -79,7 +86,7 @@ module Gem::GemcutterUtilities
|
|
79
86
|
Gem::RemoteFetcher.fetcher.request(uri, request_method, &block)
|
80
87
|
end
|
81
88
|
|
82
|
-
def with_response
|
89
|
+
def with_response resp, error_prefix = nil
|
83
90
|
case resp
|
84
91
|
when Net::HTTPSuccess then
|
85
92
|
if block_given? then
|
@@ -88,7 +95,10 @@ module Gem::GemcutterUtilities
|
|
88
95
|
say resp.body
|
89
96
|
end
|
90
97
|
else
|
91
|
-
|
98
|
+
message = resp.body
|
99
|
+
message = "#{error_prefix}: #{message}" if error_prefix
|
100
|
+
|
101
|
+
say message
|
92
102
|
terminate_interaction 1 # TODO: question this
|
93
103
|
end
|
94
104
|
end
|