excavate 0.2.2 → 0.2.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: 34a72a8ae6eb56395e68cf385d8714d9e6c2aa82245353c2c27bb5cb163d6e2a
4
- data.tar.gz: afd30ada69cad61e75e291281f25bed671c3445c9d625db4593a2ee2ea64bf02
3
+ metadata.gz: f075e9cc9f1e097abd937e9788c119aa19016fb12e04db6d2848b76343ecb16a
4
+ data.tar.gz: 549ab0c2572a205f3eaa95715d203741700942361cdb545ea638e7dbb8a7489e
5
5
  SHA512:
6
- metadata.gz: 345129ddad35de7619aef4b1538ae0fec8b88a64baa45fca4a3e8578067026019614bef3c08ebbd81ef916ef8ba58966cde4cd89cc0afdb3337e2198e09fdafc
7
- data.tar.gz: f829b60851340bf8ff5c881a9e0b9fea7daafdfdceac303e499fba08f2be076df5ffb4f4c0a85f0d072d862d3443298eeddc338df0326b3dbf5f582204685fc8
6
+ metadata.gz: 606fa4dda709f925d779145e4b53b09a310c7cfa98d75cf992e2421eab916acccd1e48c54ae1516509c02ff350c33a54487181842260093d29e8bb70c7b039c7
7
+ data.tar.gz: 4a4a4ab4d2eb48f76af71b8e1378308fc830de06ed7299339995cac94f90438f7d035b30c73646099ad2d8412a7e04441b72794378953eb94e5d5852f2fb27b9
data/excavate.gemspec CHANGED
@@ -27,7 +27,6 @@ Gem::Specification.new do |spec|
27
27
  spec.require_paths = ["lib"]
28
28
 
29
29
  spec.add_runtime_dependency "arr-pm", "~> 0.0"
30
- spec.add_runtime_dependency "ffi-libarchive-binary", "~> 0.0"
31
30
  spec.add_runtime_dependency "libmspack", "~> 0.1"
32
31
  spec.add_runtime_dependency "ruby-ole", "~> 1.0"
33
32
  spec.add_runtime_dependency "rubyzip", "~> 2.3"
@@ -7,7 +7,6 @@ module Excavate
7
7
  "msi" => Extractors::OleExtractor,
8
8
  "rpm" => Extractors::RpmExtractor,
9
9
  "tar" => Extractors::TarExtractor,
10
- "pkg" => Extractors::XarExtractor,
11
10
  "zip" => Extractors::ZipExtractor }.freeze
12
11
 
13
12
  def initialize(archive)
@@ -6,5 +6,4 @@ require_relative "extractors/ole_extractor"
6
6
  require_relative "extractors/rpm_extractor"
7
7
  require_relative "extractors/seven_zip_extractor"
8
8
  require_relative "extractors/tar_extractor"
9
- require_relative "extractors/xar_extractor"
10
9
  require_relative "extractors/zip_extractor"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Excavate
4
- VERSION = "0.2.2"
4
+ VERSION = "0.2.3"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: excavate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-03-31 00:00:00.000000000 Z
11
+ date: 2021-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: arr-pm
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0.0'
27
- - !ruby/object:Gem::Dependency
28
- name: ffi-libarchive-binary
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '0.0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '0.0'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: libmspack
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -141,7 +127,6 @@ files:
141
127
  - lib/excavate/extractors/rpm_extractor.rb
142
128
  - lib/excavate/extractors/seven_zip_extractor.rb
143
129
  - lib/excavate/extractors/tar_extractor.rb
144
- - lib/excavate/extractors/xar_extractor.rb
145
130
  - lib/excavate/extractors/zip_extractor.rb
146
131
  - lib/excavate/file_magic.rb
147
132
  - lib/excavate/utils.rb
@@ -1,35 +0,0 @@
1
- require "ffi-libarchive-binary"
2
-
3
- module Excavate
4
- module Extractors
5
- class XarExtractor < Extractor
6
- def extract(target)
7
- Dir.chdir(target) do
8
- extract_with_libarchive
9
- rename_payload(target)
10
- end
11
- end
12
-
13
- private
14
-
15
- def extract_with_libarchive
16
- flags = ::Archive::EXTRACT_PERM
17
- reader = ::Archive::Reader.open_filename(@archive)
18
-
19
- reader.each_entry do |entry|
20
- reader.extract(entry, flags.to_i)
21
- end
22
-
23
- reader.close
24
- end
25
-
26
- def rename_payload(target)
27
- Dir.glob(File.join(target, "**", "Payload")).each do |file|
28
- next unless File.file?(file)
29
-
30
- FileUtils.mv(file, "#{file}.cpio.gz")
31
- end
32
- end
33
- end
34
- end
35
- end