Class: Excavate::Extractors::RpmExtractor
- Defined in:
- lib/excavate/extractors/rpm_extractor.rb
Overview
Extractor for RPM packages
Uses Omnizip's RPM format support for extraction. Extracts the raw payload as a file (e.g., fonts.src.cpio.gz).
Instance Method Summary collapse
Methods inherited from Extractor
eager_load_subclasses!, for_magic_type, handles, #initialize, registered_types, registry
Constructor Details
This class inherits a constructor from Excavate::Extractors::Extractor
Instance Method Details
#extract(target) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/excavate/extractors/rpm_extractor.rb', line 14 def extract(target) rpm = Omnizip::Formats::Rpm::Reader.new(@archive) rpm.open content = rpm.raw_payload path = target_path(@archive, rpm, target) FileUtils.mkdir_p(File.dirname(path)) File.write(path, content, mode: "wb") ensure rpm&.close end |