mixlib-archive 1.0.7 → 1.1.3

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
  SHA256:
3
- metadata.gz: f226aef6aa8aab3cdac46bf377df30ea67f27b191fa0ede6732360cfa250add0
4
- data.tar.gz: e58ad835addcf90ab952d2322741973d6676a02d99b58f00c37d8090360c3d32
3
+ metadata.gz: 7867709116767b766939563553d761b532f1d9b60e73bc90096258cc8f161589
4
+ data.tar.gz: a179a95b20b4bee4578d21edd827ea3f2e58b2c6e7c7e0c2ed4515a928fa04a2
5
5
  SHA512:
6
- metadata.gz: f7359b73374b8b209d2a697d8c194f91fdfc65e6d1e660bff3ad0b39992da2702487057e05d39545b9a37d4090c428dacf269cafa5b9c4db035ae7d55dd4fe8f
7
- data.tar.gz: 3d22e42d60ddff70a8a3174fa91ac7188f2a2e11ba8e8f9115f01ff3acf582a54b616bf71e0a8657e9b3bb89591d2275eb91e5d3ea150db5543cdf5bb3b5209a
6
+ metadata.gz: 62687a247e2d3f150f2629c9edff63231b53b168780c3cfa66cba10c79230799b45416dcc93a73397a170e305110e188b355e90ff86e5c344365f28e66ec74a5
7
+ data.tar.gz: 5dc07f9102036e911fb92d906ee37001819b0ecc4f5faa945c46f622576bcd5f2f34e1e30dbc7a1d9f540df08999895668ab272a3bf2debd8e251967b86c502c
@@ -6,12 +6,6 @@ module Mixlib
6
6
  attr_reader :options
7
7
  attr_reader :archive
8
8
 
9
- class << self
10
- attr_accessor :mutex_chdir
11
- end
12
-
13
- Mixlib::Archive::LibArchive.mutex_chdir = Mutex.new
14
-
15
9
  def initialize(archive, options = {})
16
10
  @archive = archive
17
11
  @options = options
@@ -27,24 +21,17 @@ module Mixlib
27
21
  flags = perms ? ::Archive::EXTRACT_PERM : nil
28
22
  FileUtils.mkdir_p(destination)
29
23
 
30
- # @note Dir.chdir is applied to the process, thus it is not thread-safe
31
- # and must be synchronized.
32
- # TODO: figure out a better alternative to chdir
33
- Mixlib::Archive::LibArchive.mutex_chdir.synchronize do
34
- Dir.chdir(destination) do
35
- reader = ::Archive::Reader.open_filename(@archive)
24
+ reader = ::Archive::Reader.open_filename(@archive)
36
25
 
37
- reader.each_entry do |entry|
38
- if entry.pathname =~ ignore_re
39
- Mixlib::Archive::Log.warn "ignoring entry #{entry.pathname}"
40
- next
41
- end
42
-
43
- reader.extract(entry, flags.to_i)
44
- end
45
- reader.close
26
+ reader.each_entry do |entry|
27
+ if entry.pathname =~ ignore_re
28
+ Mixlib::Archive::Log.warn "ignoring entry #{entry.pathname}"
29
+ next
46
30
  end
31
+
32
+ reader.extract(entry, flags.to_i, destination: destination)
47
33
  end
34
+ reader.close
48
35
  end
49
36
 
50
37
  # Creates an archive with the given set of +files+
@@ -1,5 +1,5 @@
1
1
  module Mixlib
2
2
  class Archive
3
- VERSION = "1.0.7".freeze
3
+ VERSION = "1.1.3".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mixlib-archive
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chef Software, Inc
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-21 00:00:00.000000000 Z
11
+ date: 2021-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mixlib-log
@@ -55,7 +55,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
55
55
  - !ruby/object:Gem::Version
56
56
  version: '0'
57
57
  requirements: []
58
- rubygems_version: 3.0.3
58
+ rubygems_version: 3.1.4
59
59
  signing_key:
60
60
  specification_version: 4
61
61
  summary: A simple interface to various archive formats