rubygems-update 1.8.1 → 1.8.2
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.
- data.tar.gz.sig +0 -0
- data/History.txt +14 -1
- data/lib/rubygems.rb +1 -1
- data/lib/rubygems/commands/outdated_command.rb +1 -18
- data/lib/rubygems/commands/pristine_command.rb +4 -3
- data/lib/rubygems/dependency.rb +1 -1
- data/lib/rubygems/gem_path_searcher.rb +3 -0
- data/lib/rubygems/gem_runner.rb +1 -0
- data/lib/rubygems/installer.rb +7 -3
- data/lib/rubygems/specification.rb +22 -0
- data/setup.rb +5 -2
- data/test/rubygems/test_gem_commands_pristine_command.rb +30 -0
- metadata +6 -6
- metadata.gz.sig +0 -0
data.tar.gz.sig
CHANGED
Binary file
|
data/History.txt
CHANGED
@@ -1,4 +1,17 @@
|
|
1
|
-
=== 1.8.
|
1
|
+
=== 1.8.2 / 2011-05-11
|
2
|
+
|
3
|
+
* 2 minor enhancements:
|
4
|
+
|
5
|
+
* Moved #outdated from OutdatedCommand to Specification (for Isolate).
|
6
|
+
* Print out a warning about missing executables.
|
7
|
+
|
8
|
+
* 3 bug fixes:
|
9
|
+
|
10
|
+
* Added missing requires to fix various upgrade issues.
|
11
|
+
* `gem pristine` respects multiple gem repositories.
|
12
|
+
* setup.rb now execs with --disable-gems when possible
|
13
|
+
|
14
|
+
=== 1.8.1 / 2011-05-05
|
2
15
|
|
3
16
|
* 1 minor enhancement:
|
4
17
|
|
data/lib/rubygems.rb
CHANGED
@@ -16,7 +16,7 @@ class Gem::Commands::OutdatedCommand < Gem::Command
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def execute
|
19
|
-
outdated.sort.each do |name|
|
19
|
+
Gem::Specification.outdated.sort.each do |name|
|
20
20
|
local = Gem::Specification.find_all_by_name(name).max
|
21
21
|
dep = Gem::Dependency.new local.name, ">= #{local.version}"
|
22
22
|
remotes = Gem::SpecFetcher.fetcher.fetch dep
|
@@ -27,21 +27,4 @@ class Gem::Commands::OutdatedCommand < Gem::Command
|
|
27
27
|
say "#{local.name} (#{local.version} < #{remote.version})"
|
28
28
|
end
|
29
29
|
end
|
30
|
-
|
31
|
-
def outdated
|
32
|
-
outdateds = []
|
33
|
-
|
34
|
-
fetcher = Gem::SpecFetcher.fetcher
|
35
|
-
|
36
|
-
Gem::Specification.latest_specs.each do |local|
|
37
|
-
dependency = Gem::Dependency.new local.name, ">= #{local.version}"
|
38
|
-
remotes = fetcher.find_matching dependency
|
39
|
-
remotes = remotes.map { |(_, version, _), _| version }
|
40
|
-
latest = remotes.sort.last
|
41
|
-
|
42
|
-
outdateds << local.name if latest and local.version < latest
|
43
|
-
end
|
44
|
-
|
45
|
-
outdateds
|
46
|
-
end
|
47
30
|
end
|
@@ -94,12 +94,13 @@ extensions.
|
|
94
94
|
end
|
95
95
|
|
96
96
|
# TODO use installer options
|
97
|
-
installer = Gem::Installer.new
|
97
|
+
installer = Gem::Installer.new(gem,
|
98
|
+
:wrappers => true,
|
99
|
+
:force => true,
|
100
|
+
:install_dir => spec.base_dir)
|
98
101
|
installer.install
|
99
102
|
|
100
103
|
say "Restored #{spec.full_name}"
|
101
104
|
end
|
102
105
|
end
|
103
|
-
|
104
106
|
end
|
105
|
-
|
data/lib/rubygems/dependency.rb
CHANGED
@@ -240,7 +240,7 @@ class Gem::Dependency
|
|
240
240
|
# TODO: check Gem.activated_spec[self.name] in case matches falls outside
|
241
241
|
|
242
242
|
if matches.empty? then
|
243
|
-
specs = Gem::Specification.
|
243
|
+
specs = Gem::Specification.all_names.join ", "
|
244
244
|
error = Gem::LoadError.new "Could not find #{name} (#{requirement}) amongst [#{specs}]"
|
245
245
|
error.name = self.name
|
246
246
|
error.requirement = self.requirement
|
data/lib/rubygems/gem_runner.rb
CHANGED
data/lib/rubygems/installer.rb
CHANGED
@@ -283,11 +283,15 @@ class Gem::Installer
|
|
283
283
|
spec.executables.each do |filename|
|
284
284
|
filename.untaint
|
285
285
|
bin_path = File.expand_path File.join(gem_dir, spec.bindir, filename)
|
286
|
-
|
287
|
-
|
288
|
-
|
286
|
+
|
287
|
+
unless File.exist? bin_path
|
288
|
+
warn "Hey?!?! Where did #{bin_path} go??"
|
289
|
+
next
|
289
290
|
end
|
290
291
|
|
292
|
+
mode = File.stat(bin_path).mode | 0111
|
293
|
+
FileUtils.chmod mode, bin_path
|
294
|
+
|
291
295
|
if @wrappers then
|
292
296
|
generate_bin_script filename, bindir
|
293
297
|
else
|
@@ -569,6 +569,28 @@ class Gem::Specification
|
|
569
569
|
result.gsub(/ !!null \n/, " \n")
|
570
570
|
end
|
571
571
|
|
572
|
+
##
|
573
|
+
# Return a list of all outdated specifications. This method is HEAVY
|
574
|
+
# as it must go fetch specifications from the server.
|
575
|
+
|
576
|
+
def self.outdated
|
577
|
+
outdateds = []
|
578
|
+
|
579
|
+
# TODO: maybe we should switch to rubygems' version service?
|
580
|
+
fetcher = Gem::SpecFetcher.fetcher
|
581
|
+
|
582
|
+
latest_specs.each do |local|
|
583
|
+
dependency = Gem::Dependency.new local.name, ">= #{local.version}"
|
584
|
+
remotes = fetcher.find_matching dependency
|
585
|
+
remotes = remotes.map { |(_, version, _), _| version }
|
586
|
+
latest = remotes.sort.last
|
587
|
+
|
588
|
+
outdateds << local.name if latest and local.version < latest
|
589
|
+
end
|
590
|
+
|
591
|
+
outdateds
|
592
|
+
end
|
593
|
+
|
572
594
|
##
|
573
595
|
# Removes +spec+ from the known specs.
|
574
596
|
|
data/setup.rb
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
#++
|
7
7
|
|
8
8
|
# Make sure rubygems isn't already loaded.
|
9
|
-
if ENV['RUBYOPT']
|
9
|
+
if ENV['RUBYOPT'] or defined? Gem then
|
10
10
|
ENV.delete 'RUBYOPT'
|
11
11
|
|
12
12
|
require 'rbconfig'
|
@@ -15,7 +15,10 @@ if ENV['RUBYOPT'] and defined? Gem then
|
|
15
15
|
ruby = File.join config::CONFIG['bindir'], config::CONFIG['ruby_install_name']
|
16
16
|
ruby << config::CONFIG['EXEEXT']
|
17
17
|
|
18
|
-
|
18
|
+
cmd = [ruby, 'setup.rb', *ARGV].compact
|
19
|
+
cmd[1,0] = "--disable-gems" if RUBY_VERSION > "1.9"
|
20
|
+
|
21
|
+
exec(*cmd)
|
19
22
|
end
|
20
23
|
|
21
24
|
Dir.chdir File.dirname(__FILE__)
|
@@ -111,6 +111,36 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
111
111
|
assert_empty out, out.inspect
|
112
112
|
end
|
113
113
|
|
114
|
+
def test_execute_many_multi_repo
|
115
|
+
a = quick_spec 'a'
|
116
|
+
install_gem a
|
117
|
+
|
118
|
+
Gem.clear_paths
|
119
|
+
gemhome2 = File.join @tempdir, 'gemhome2'
|
120
|
+
Gem.paths = { "GEM_PATH" => [gemhome2, @gemhome], "GEM_HOME" => gemhome2 }
|
121
|
+
|
122
|
+
b = quick_spec 'b'
|
123
|
+
install_gem b
|
124
|
+
|
125
|
+
@cmd.options[:args] = %w[a b]
|
126
|
+
|
127
|
+
use_ui @ui do
|
128
|
+
@cmd.execute
|
129
|
+
end
|
130
|
+
|
131
|
+
out = @ui.output.split "\n"
|
132
|
+
|
133
|
+
assert_equal "Restoring gems to pristine condition...", out.shift
|
134
|
+
assert_equal "Restored #{a.full_name}", out.shift
|
135
|
+
assert_equal "Restored #{b.full_name}", out.shift
|
136
|
+
assert_empty out, out.inspect
|
137
|
+
|
138
|
+
assert_path_exists File.join(@gemhome, "gems", 'a-2')
|
139
|
+
refute_path_exists File.join(gemhome2, "gems", 'a-2')
|
140
|
+
assert_path_exists File.join(gemhome2, "gems", 'b-2')
|
141
|
+
refute_path_exists File.join(@gemhome, "gems", 'b-2')
|
142
|
+
end
|
143
|
+
|
114
144
|
def test_execute_missing_cache_gem
|
115
145
|
a_2 = quick_spec 'a', 2
|
116
146
|
a_3 = quick_spec 'a', 3
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubygems-update
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 51
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 8
|
9
|
-
-
|
10
|
-
version: 1.8.
|
9
|
+
- 2
|
10
|
+
version: 1.8.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jim Weirich
|
@@ -38,7 +38,7 @@ cert_chain:
|
|
38
38
|
x52qPcexcYZR7w==
|
39
39
|
-----END CERTIFICATE-----
|
40
40
|
|
41
|
-
date: 2011-05-
|
41
|
+
date: 2011-05-12 00:00:00 Z
|
42
42
|
dependencies:
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: minitest
|
@@ -406,7 +406,7 @@ post_install_message:
|
|
406
406
|
rdoc_options:
|
407
407
|
- --main
|
408
408
|
- README.rdoc
|
409
|
-
- --title=RubyGems 1.8.
|
409
|
+
- --title=RubyGems 1.8.2 Documentation
|
410
410
|
require_paths:
|
411
411
|
- hide_lib_for_update
|
412
412
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -432,7 +432,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
432
432
|
requirements: []
|
433
433
|
|
434
434
|
rubyforge_project: rubygems
|
435
|
-
rubygems_version: 1.8.
|
435
|
+
rubygems_version: 1.8.1
|
436
436
|
signing_key:
|
437
437
|
specification_version: 3
|
438
438
|
summary: RubyGems is a package management framework for Ruby
|
metadata.gz.sig
CHANGED
Binary file
|