bosh_cli 1.3149.0 → 1.3153.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1e6e48b681cad0d0f645e9d6ff1bd8126069b7ff
4
- data.tar.gz: 07b7445ed115381b9e2a30dafd76f868c0866493
3
+ metadata.gz: 9288053c595932dca02f894b746a049497315c51
4
+ data.tar.gz: 64523e7035728ae162447d36f09cc3c220333abf
5
5
  SHA512:
6
- metadata.gz: 1faeec8f0f71007a47ee7d7bae8221371d293e6743ca49284fe6372e66595e1ef9f9c74565ac5167eba7a242eeb74175e618a3c2363b748847af5bc4962f8e87
7
- data.tar.gz: f7e9b4fa041ab8841a391e1faacfa90ef49ef283d8523ee5422745d9ad6863c63436e68e37ab0086fdec3165bcb744487fa886aa3ebb530d178ec2573c91c3e9
6
+ metadata.gz: cee79cb8375224eaf5523320ecab20da13c6846f61cb152a247842d79e658090d2a5df5972a40784effbcfe79ef4db93f27e37d94e63b208003358ea2a388a59
7
+ data.tar.gz: 4c91b54036c364b29cf70ce4a8ca505427051326c1fd362fa4d245b8c5493b832e8b9a0d95ae299f00d6b492880512f81035924ad1da1a459cd58b7af4449ab2
@@ -21,23 +21,43 @@ module Bosh::Cli
21
21
 
22
22
  def unpack_manifest
23
23
  return @unpacked_manifest unless @unpacked_manifest.nil?
24
- exit_success = fast_unpack('./release.MF')
24
+ exit_success = safe_fast_unpack('./release.MF')
25
25
  @unpacked_manifest = !!exit_success
26
26
  end
27
27
 
28
28
  def unpack_jobs
29
29
  return @unpacked_jobs unless @unpacked_jobs.nil?
30
- exit_success = fast_unpack('./jobs/')
30
+ exit_success = safe_fast_unpack('./jobs/')
31
31
  @unpacked_jobs = !!exit_success
32
32
  end
33
33
 
34
34
  def unpack_license
35
35
  return @unpacked_license unless @unpacked_license.nil?
36
- exit_success = fast_unpack('./license.tgz')
36
+ exit_success = safe_fast_unpack('./license.tgz')
37
37
  @unpacked_license = !!exit_success
38
38
  end
39
39
 
40
- def fast_unpack(target)
40
+ # On machines using GNU based tar command, it should be able to unpack files irrespective of
41
+ # the ./ prefix in the file name
42
+ def safe_fast_unpack(target)
43
+ exit_status = raw_fast_unpack(target)
44
+ if !exit_status
45
+ processed_target = handle_dot_slash_prefix(target)
46
+ exit_status = raw_fast_unpack(processed_target)
47
+ end
48
+ exit_status
49
+ end
50
+
51
+ # This will [add or remove] the './' when trying to extract a specific file from archive
52
+ def handle_dot_slash_prefix(target)
53
+ if target =~ /^\.\/.*/
54
+ target.sub!(/^\.\//, '')
55
+ else
56
+ target.prepend("./")
57
+ end
58
+ end
59
+
60
+ def raw_fast_unpack(target)
41
61
  tar_version, _, _ = Open3.capture3('tar', '--version')
42
62
 
43
63
  case tar_version
@@ -1,5 +1,5 @@
1
1
  module Bosh
2
2
  module Cli
3
- VERSION = '1.3149.0'
3
+ VERSION = '1.3153.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bosh_cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3149.0
4
+ version: 1.3153.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - VMware
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-07 00:00:00.000000000 Z
11
+ date: 2015-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bosh_common
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.3149.0
19
+ version: 1.3153.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.3149.0
26
+ version: 1.3153.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bosh-template
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.3149.0
33
+ version: 1.3153.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.3149.0
40
+ version: 1.3153.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: cf-uaa-lib
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -128,14 +128,14 @@ dependencies:
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 1.3149.0
131
+ version: 1.3153.0
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 1.3149.0
138
+ version: 1.3153.0
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: net-ssh
141
141
  requirement: !ruby/object:Gem::Requirement