rye 0.8.8 → 0.8.9
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.
- data/CHANGES.txt +5 -0
- data/bin/rye +4 -3
- data/lib/rye/box.rb +18 -7
- data/lib/rye/set.rb +1 -1
- data/lib/rye.rb +3 -2
- data/rye.gemspec +3 -2
- metadata +12 -2
data/CHANGES.txt
CHANGED
data/bin/rye
CHANGED
@@ -79,10 +79,11 @@ command :authorize_local do |obj|
|
|
79
79
|
user = Rye.sysinfo.user
|
80
80
|
|
81
81
|
puts "Authorizing #{user}@localhost"
|
82
|
-
rbox = Rye::Box.new('localhost')
|
82
|
+
rbox = Rye::Box.new('localhost', :debug => false)
|
83
83
|
puts "Added public keys for: ", rbox.authorize_keys_local
|
84
|
-
|
85
|
-
|
84
|
+
unless Rye.sysinfo.os == :windows
|
85
|
+
puts "Now try: " << "ssh #{user}@localhost"
|
86
|
+
end
|
86
87
|
end
|
87
88
|
command_alias :local_authorize, :local_authorise
|
88
89
|
|
data/lib/rye/box.rb
CHANGED
@@ -224,7 +224,7 @@ module Rye
|
|
224
224
|
# * +additional_keys+ is a list of file paths to private keys
|
225
225
|
# Returns the instance of Box
|
226
226
|
def add_keys(*additional_keys)
|
227
|
-
if Rye.sysinfo.os == :
|
227
|
+
if Rye.sysinfo.os == :windows
|
228
228
|
@rye_opts[:keys] ||= []
|
229
229
|
@rye_opts[:keys] += additional_keys.flatten
|
230
230
|
return @rye_opts[:keys]
|
@@ -348,7 +348,7 @@ module Rye
|
|
348
348
|
user_defaults['HOME'] = '/export/home'
|
349
349
|
elsif ostmp == "darwin"
|
350
350
|
user_defaults['HOME'] = '/Users'
|
351
|
-
elsif ostmp == "
|
351
|
+
elsif ostmp == "windows"
|
352
352
|
user_defaults['HOME'] = 'C:/Documents and Settings'
|
353
353
|
else
|
354
354
|
raw = self.quietly { useradd(:D) } rescue ["HOME=/home"]
|
@@ -425,19 +425,30 @@ module Rye
|
|
425
425
|
rap.add_exit_code(0)
|
426
426
|
rap
|
427
427
|
end
|
428
|
-
|
428
|
+
require 'fileutils'
|
429
429
|
# Authorize the current user to login to the local machine via
|
430
430
|
# SSH without a password. This is the same functionality as
|
431
431
|
# authorize_keys_remote except run with local shell commands.
|
432
432
|
def authorize_keys_local
|
433
433
|
added_keys = []
|
434
|
+
ssh_dir = File.join(Rye.sysinfo.home, '.ssh')
|
434
435
|
Rye.keys.each do |path|
|
435
436
|
debug "# Public key for #{path}"
|
436
437
|
k = Rye::Key.from_file(path).public_key.to_ssh2
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
438
|
+
FileUtils.mkdir ssh_dir unless File.exists? ssh_dir
|
439
|
+
|
440
|
+
authkeys_file = File.join(ssh_dir, 'authorized_keys')
|
441
|
+
|
442
|
+
debug "Writing to #{authkeys_file}"
|
443
|
+
File.open(authkeys_file, 'a') {|f| f.write("#{$/}#{k}") }
|
444
|
+
File.open("#{authkeys_file}2", 'a') {|f| f.write("#{$/}#{k}") }
|
445
|
+
|
446
|
+
unless Rye.sysinfo.os == :windows
|
447
|
+
Rye.shell(:chmod, '700', ssh_dir)
|
448
|
+
Rye.shell(:chmod, '0600', authkeys_file)
|
449
|
+
Rye.shell(:chmod, '0600', "#{authkeys_file}2")
|
450
|
+
end
|
451
|
+
|
441
452
|
added_keys << path
|
442
453
|
end
|
443
454
|
added_keys
|
data/lib/rye/set.rb
CHANGED
@@ -69,7 +69,7 @@ module Rye
|
|
69
69
|
# * +additional_keys+ is a list of file paths to private keys
|
70
70
|
# Returns the instance of Rye::Set
|
71
71
|
def add_key(*additional_keys)
|
72
|
-
if Rye.sysinfo.os == :
|
72
|
+
if Rye.sysinfo.os == :windows
|
73
73
|
@opts[:keys] ||= []
|
74
74
|
@opts[:keys] += additional_keys.flatten
|
75
75
|
return @opts[:keys]
|
data/lib/rye.rb
CHANGED
@@ -43,7 +43,7 @@ module Rye
|
|
43
43
|
extend self
|
44
44
|
|
45
45
|
unless defined?(SYSINFO)
|
46
|
-
VERSION = "0.8.
|
46
|
+
VERSION = "0.8.9".freeze
|
47
47
|
SYSINFO = SysInfo.new.freeze
|
48
48
|
end
|
49
49
|
|
@@ -184,6 +184,7 @@ module Rye
|
|
184
184
|
# Returns the absolute path if found in PATH otherwise nil.
|
185
185
|
def which(executable)
|
186
186
|
return unless executable.is_a?(String)
|
187
|
+
return executable if Rye.sysinfo.os == :windows
|
187
188
|
#return executable if File.exists?(executable) # SHOULD WORK, MUST TEST
|
188
189
|
shortname = File.basename(executable)
|
189
190
|
dir = Rye.sysinfo.paths.select do |path| # dir contains all of the
|
@@ -315,7 +316,7 @@ module Rye
|
|
315
316
|
|
316
317
|
Rye.reload
|
317
318
|
|
318
|
-
unless Rye.sysinfo.os == :
|
319
|
+
unless Rye.sysinfo.os == :windows
|
319
320
|
begin
|
320
321
|
@@mutex.synchronize { # One thread only
|
321
322
|
start_sshagent_environment # Run this now
|
data/rye.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
@spec = Gem::Specification.new do |s|
|
2
2
|
s.name = "rye"
|
3
3
|
s.rubyforge_project = "rye"
|
4
|
-
s.version = "0.8.
|
4
|
+
s.version = "0.8.9"
|
5
5
|
s.summary = "Rye: Safely run SSH commands on a bunch of machines at the same time (from Ruby)."
|
6
6
|
s.description = s.summary
|
7
7
|
s.author = "Delano Mandelbaum"
|
@@ -13,9 +13,10 @@
|
|
13
13
|
s.add_dependency 'drydock'
|
14
14
|
s.add_dependency 'sysinfo'
|
15
15
|
s.add_dependency 'storable'
|
16
|
+
s.add_dependency 'sysinfo', '>= 0.7.0'
|
16
17
|
|
17
18
|
s.add_dependency 'highline', '>= 1.5.1'
|
18
|
-
s.add_dependency 'net-ssh', '>= 2.0.
|
19
|
+
s.add_dependency 'net-ssh', '>= 2.0.13'
|
19
20
|
s.add_dependency 'net-scp', '>= 1.0.2'
|
20
21
|
#s.add_dependency 'net-ssh-gateway'
|
21
22
|
#s.add_dependency 'net-ssh-multi'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rye
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Delano Mandelbaum
|
@@ -42,6 +42,16 @@ dependencies:
|
|
42
42
|
- !ruby/object:Gem::Version
|
43
43
|
version: "0"
|
44
44
|
version:
|
45
|
+
- !ruby/object:Gem::Dependency
|
46
|
+
name: sysinfo
|
47
|
+
type: :runtime
|
48
|
+
version_requirement:
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 0.7.0
|
54
|
+
version:
|
45
55
|
- !ruby/object:Gem::Dependency
|
46
56
|
name: highline
|
47
57
|
type: :runtime
|
@@ -60,7 +70,7 @@ dependencies:
|
|
60
70
|
requirements:
|
61
71
|
- - ">="
|
62
72
|
- !ruby/object:Gem::Version
|
63
|
-
version: 2.0.
|
73
|
+
version: 2.0.13
|
64
74
|
version:
|
65
75
|
- !ruby/object:Gem::Dependency
|
66
76
|
name: net-scp
|