autoproj 2.8.6 → 2.8.7

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '04412977bebcc1312ef1314762cdef6e4f0a212feeb7a075bf5ff1d871731997'
4
- data.tar.gz: fd0885bc9ab4e54ca6d98be0be8d1293135bd86b46a0cb914ee867574034d414
3
+ metadata.gz: '06899cc513fc1e9db2ad848a7fbb41072c7e98da4edfcee416945795bf6b8073'
4
+ data.tar.gz: 529ed7ee3173ba42d7ba283c20aa22ae1dd4dd8fdb86e98372766f2f78236c14
5
5
  SHA512:
6
- metadata.gz: a2caaae2aa2f80b147677a5de8137c916c78670e215b48460871de3472c5d1cd691c1ecfa10640fe646e6fdd1e2f46232c9dd0f9dfd1aa3087da41396d8f3418
7
- data.tar.gz: 5adfe0d73689b2623cdfc1cda507ca9901aa378b5148bfd2d180f7f8bafe295544c3951fd7f21c522189f6eb3a32dadee99b33dbb212c53653535b88b6ff4bd7
6
+ metadata.gz: 1fff56785550539d5f0192e648dd7e04714d123eb12c91517066e78f24ee31d11f1a294bed999ade50c76b8126cfefb3e1918588ecc0736c90b6091cd681fb7a
7
+ data.tar.gz: 9ad7d2cf7f0101009276449bd8c33d274e29e6ee537455864cc2b369b621df7c0343b4a8dc9a2dabd92344c32286b852284a18475afc52d84534e5afcc90270e
@@ -50,12 +50,11 @@ module Autoproj
50
50
  @env = Hash.new
51
51
  env['RUBYOPT'] = []
52
52
  env['RUBYLIB'] = []
53
- env['GEM_PATH'] = []
54
- env['GEM_HOME'] = []
55
53
  env['PATH'] = self.class.sanitize_env(ENV['PATH'] || "")
56
54
  env['BUNDLE_GEMFILE'] = []
57
55
 
58
56
  load_config
57
+
59
58
  if config['ruby_executable'] != Gem.ruby
60
59
  raise "this autoproj installation was already bootstrapped using "\
61
60
  "#{config['ruby_executable']}, but you are currently running "\
@@ -65,10 +64,14 @@ module Autoproj
65
64
  @ruby_executable = config['ruby_executable']
66
65
  @local = false
67
66
 
68
- install_gems_in_gem_user_dir
67
+ unless @gems_install_path
68
+ install_gems_in_gem_user_dir
69
+ end
70
+ env['GEM_HOME'] = [gems_gem_home]
71
+ env['GEM_PATH'] = [gems_gem_home]
69
72
  end
70
73
 
71
- def env_for_child
74
+ def env_for_child(env = self.env)
72
75
  env.inject(Hash.new) do |h, (k, v)|
73
76
  h[k] = if v && !v.empty? then v.join(File::PATH_SEPARATOR)
74
77
  end
@@ -288,14 +291,14 @@ module Autoproj
288
291
  end
289
292
 
290
293
  def find_bundler(gem_program)
291
- result = system(
292
- env_for_child,
293
- Gem.ruby, gem_program, 'which', 'bundler/setup',
294
- out: '/dev/null')
295
- return if !result
294
+ setup_path =
295
+ IO.popen([env_for_child, Gem.ruby, gem_program, 'which', 'bundler/setup']) do |io|
296
+ io.read
297
+ end
298
+ return unless $?.success?
296
299
 
297
300
  bundler_path = File.join(gems_gem_home, 'bin', 'bundle')
298
- if File.exist?(bundler_path)
301
+ if File.exist?(bundler_path) && setup_path.start_with?(gems_gem_home)
299
302
  bundler_path
300
303
  end
301
304
  end
@@ -308,25 +311,28 @@ module Autoproj
308
311
  redirection = Hash[out: :close]
309
312
  end
310
313
 
314
+ # Shut up the bundler warning about 'bin' not being in PATH
315
+ env = self.env
316
+ env['PATH'] += [File.join(gems_gem_home, 'bin')]
311
317
  result = system(
312
- env_for_child.merge('GEM_HOME' => gems_gem_home),
318
+ env_for_child(env),
313
319
  Gem.ruby, gem_program, 'install',
314
320
  '--env-shebang', '--no-document', '--no-format-executable',
315
321
  '--clear-sources', '--source', gem_source,
322
+ '--no-user-install', '--install-dir', gems_gem_home,
316
323
  *local, "--bindir=#{File.join(gems_gem_home, 'bin')}",
317
- 'bundle', **redirection)
324
+ 'bundler', **redirection)
318
325
 
319
326
  if !result
320
327
  STDERR.puts "FATAL: failed to install bundler in #{gems_gem_home}"
321
328
  nil
322
329
  end
323
330
 
324
- bundler_path = File.join(gems_gem_home, 'bin', 'bundle')
325
- if File.exist?(bundler_path)
331
+ if (bundler_path = find_bundler(gem_program))
326
332
  bundler_path
327
333
  else
328
334
  STDERR.puts "gem install bundler returned successfully, but still "\
329
- "cannot find bundler in #{bundler_path}"
335
+ "cannot find bundler in #{gems_gem_home}"
330
336
  nil
331
337
  end
332
338
  end
@@ -603,6 +609,7 @@ require 'bundler/setup'
603
609
  gem_program = self.class.guess_gem_program
604
610
  puts "Detected 'gem' to be #{gem_program}"
605
611
  env['GEM_HOME'] = [gems_gem_home]
612
+ env['GEM_PATH'] = [gems_gem_home]
606
613
 
607
614
  if bundler = find_bundler(gem_program)
608
615
  puts "Detected bundler at #{bundler}"
data/bin/autoproj_install CHANGED
@@ -50,12 +50,11 @@ module Autoproj
50
50
  @env = Hash.new
51
51
  env['RUBYOPT'] = []
52
52
  env['RUBYLIB'] = []
53
- env['GEM_PATH'] = []
54
- env['GEM_HOME'] = []
55
53
  env['PATH'] = self.class.sanitize_env(ENV['PATH'] || "")
56
54
  env['BUNDLE_GEMFILE'] = []
57
55
 
58
56
  load_config
57
+
59
58
  if config['ruby_executable'] != Gem.ruby
60
59
  raise "this autoproj installation was already bootstrapped using "\
61
60
  "#{config['ruby_executable']}, but you are currently running "\
@@ -65,10 +64,14 @@ module Autoproj
65
64
  @ruby_executable = config['ruby_executable']
66
65
  @local = false
67
66
 
68
- install_gems_in_gem_user_dir
67
+ unless @gems_install_path
68
+ install_gems_in_gem_user_dir
69
+ end
70
+ env['GEM_HOME'] = [gems_gem_home]
71
+ env['GEM_PATH'] = [gems_gem_home]
69
72
  end
70
73
 
71
- def env_for_child
74
+ def env_for_child(env = self.env)
72
75
  env.inject(Hash.new) do |h, (k, v)|
73
76
  h[k] = if v && !v.empty? then v.join(File::PATH_SEPARATOR)
74
77
  end
@@ -288,14 +291,14 @@ module Autoproj
288
291
  end
289
292
 
290
293
  def find_bundler(gem_program)
291
- result = system(
292
- env_for_child,
293
- Gem.ruby, gem_program, 'which', 'bundler/setup',
294
- out: '/dev/null')
295
- return if !result
294
+ setup_path =
295
+ IO.popen([env_for_child, Gem.ruby, gem_program, 'which', 'bundler/setup']) do |io|
296
+ io.read
297
+ end
298
+ return unless $?.success?
296
299
 
297
300
  bundler_path = File.join(gems_gem_home, 'bin', 'bundle')
298
- if File.exist?(bundler_path)
301
+ if File.exist?(bundler_path) && setup_path.start_with?(gems_gem_home)
299
302
  bundler_path
300
303
  end
301
304
  end
@@ -308,25 +311,28 @@ module Autoproj
308
311
  redirection = Hash[out: :close]
309
312
  end
310
313
 
314
+ # Shut up the bundler warning about 'bin' not being in PATH
315
+ env = self.env
316
+ env['PATH'] += [File.join(gems_gem_home, 'bin')]
311
317
  result = system(
312
- env_for_child.merge('GEM_HOME' => gems_gem_home),
318
+ env_for_child(env),
313
319
  Gem.ruby, gem_program, 'install',
314
320
  '--env-shebang', '--no-document', '--no-format-executable',
315
321
  '--clear-sources', '--source', gem_source,
322
+ '--no-user-install', '--install-dir', gems_gem_home,
316
323
  *local, "--bindir=#{File.join(gems_gem_home, 'bin')}",
317
- 'bundle', **redirection)
324
+ 'bundler', **redirection)
318
325
 
319
326
  if !result
320
327
  STDERR.puts "FATAL: failed to install bundler in #{gems_gem_home}"
321
328
  nil
322
329
  end
323
330
 
324
- bundler_path = File.join(gems_gem_home, 'bin', 'bundle')
325
- if File.exist?(bundler_path)
331
+ if (bundler_path = find_bundler(gem_program))
326
332
  bundler_path
327
333
  else
328
334
  STDERR.puts "gem install bundler returned successfully, but still "\
329
- "cannot find bundler in #{bundler_path}"
335
+ "cannot find bundler in #{gems_gem_home}"
330
336
  nil
331
337
  end
332
338
  end
@@ -603,6 +609,7 @@ require 'bundler/setup'
603
609
  gem_program = self.class.guess_gem_program
604
610
  puts "Detected 'gem' to be #{gem_program}"
605
611
  env['GEM_HOME'] = [gems_gem_home]
612
+ env['GEM_PATH'] = [gems_gem_home]
606
613
 
607
614
  if bundler = find_bundler(gem_program)
608
615
  puts "Detected bundler at #{bundler}"
@@ -40,12 +40,11 @@ def initialize(root_dir)
40
40
  @env = Hash.new
41
41
  env['RUBYOPT'] = []
42
42
  env['RUBYLIB'] = []
43
- env['GEM_PATH'] = []
44
- env['GEM_HOME'] = []
45
43
  env['PATH'] = self.class.sanitize_env(ENV['PATH'] || "")
46
44
  env['BUNDLE_GEMFILE'] = []
47
45
 
48
46
  load_config
47
+
49
48
  if config['ruby_executable'] != Gem.ruby
50
49
  raise "this autoproj installation was already bootstrapped using "\
51
50
  "#{config['ruby_executable']}, but you are currently running "\
@@ -55,10 +54,14 @@ def initialize(root_dir)
55
54
  @ruby_executable = config['ruby_executable']
56
55
  @local = false
57
56
 
58
- install_gems_in_gem_user_dir
57
+ unless @gems_install_path
58
+ install_gems_in_gem_user_dir
59
+ end
60
+ env['GEM_HOME'] = [gems_gem_home]
61
+ env['GEM_PATH'] = [gems_gem_home]
59
62
  end
60
63
 
61
- def env_for_child
64
+ def env_for_child(env = self.env)
62
65
  env.inject(Hash.new) do |h, (k, v)|
63
66
  h[k] = if v && !v.empty? then v.join(File::PATH_SEPARATOR)
64
67
  end
@@ -278,14 +281,14 @@ def parse_options(args = ARGV)
278
281
  end
279
282
 
280
283
  def find_bundler(gem_program)
281
- result = system(
282
- env_for_child,
283
- Gem.ruby, gem_program, 'which', 'bundler/setup',
284
- out: '/dev/null')
285
- return if !result
284
+ setup_path =
285
+ IO.popen([env_for_child, Gem.ruby, gem_program, 'which', 'bundler/setup']) do |io|
286
+ io.read
287
+ end
288
+ return unless $?.success?
286
289
 
287
290
  bundler_path = File.join(gems_gem_home, 'bin', 'bundle')
288
- if File.exist?(bundler_path)
291
+ if File.exist?(bundler_path) && setup_path.start_with?(gems_gem_home)
289
292
  bundler_path
290
293
  end
291
294
  end
@@ -298,25 +301,28 @@ def install_bundler(gem_program, silent: false)
298
301
  redirection = Hash[out: :close]
299
302
  end
300
303
 
304
+ # Shut up the bundler warning about 'bin' not being in PATH
305
+ env = self.env
306
+ env['PATH'] += [File.join(gems_gem_home, 'bin')]
301
307
  result = system(
302
- env_for_child.merge('GEM_HOME' => gems_gem_home),
308
+ env_for_child(env),
303
309
  Gem.ruby, gem_program, 'install',
304
310
  '--env-shebang', '--no-document', '--no-format-executable',
305
311
  '--clear-sources', '--source', gem_source,
312
+ '--no-user-install', '--install-dir', gems_gem_home,
306
313
  *local, "--bindir=#{File.join(gems_gem_home, 'bin')}",
307
- 'bundle', **redirection)
314
+ 'bundler', **redirection)
308
315
 
309
316
  if !result
310
317
  STDERR.puts "FATAL: failed to install bundler in #{gems_gem_home}"
311
318
  nil
312
319
  end
313
320
 
314
- bundler_path = File.join(gems_gem_home, 'bin', 'bundle')
315
- if File.exist?(bundler_path)
321
+ if (bundler_path = find_bundler(gem_program))
316
322
  bundler_path
317
323
  else
318
324
  STDERR.puts "gem install bundler returned successfully, but still "\
319
- "cannot find bundler in #{bundler_path}"
325
+ "cannot find bundler in #{gems_gem_home}"
320
326
  nil
321
327
  end
322
328
  end
@@ -593,6 +599,7 @@ def install
593
599
  gem_program = self.class.guess_gem_program
594
600
  puts "Detected 'gem' to be #{gem_program}"
595
601
  env['GEM_HOME'] = [gems_gem_home]
602
+ env['GEM_PATH'] = [gems_gem_home]
596
603
 
597
604
  if bundler = find_bundler(gem_program)
598
605
  puts "Detected bundler at #{bundler}"
@@ -1,3 +1,3 @@
1
1
  module Autoproj
2
- VERSION = "2.8.6"
2
+ VERSION = "2.8.7"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: autoproj
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.6
4
+ version: 2.8.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sylvain Joyeux