Class: IESD::Packages::BaseSystemBinaries

Inherits:
PKGUtil::PKG show all
Defined in:
lib/iesd/InstallESD/Packages/BaseSystemBinaries.pkg.rb

Instance Attribute Summary

Attributes inherited from PKGUtil::PKG

#url

Instance Method Summary collapse

Methods inherited from PKGUtil::PKG

#edit, #initialize, #show, #update

Constructor Details

This class inherits a constructor from PKGUtil::PKG

Instance Method Details

#extract_mach_kernel(output) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/iesd/InstallESD/Packages/BaseSystemBinaries.pkg.rb', line 4

def extract_mach_kernel output
  show { |pkg|
    payload = "#{pkg}/Payload"
    cpio = "#{payload}.cpio"
    ohai "Unarchiving #{payload}"
    case `#{Utility::FILE} --brief --mime-type #{payload}`.chomp
    when "application/x-bzip2"
      system(Utility::MV, payload, "#{cpio}.bz2")
      system(Utility::BUNZIP2, "#{cpio}.bz2")
    when "application/x-gzip"
      system(Utility::MV, payload, "#{cpio}.gz")
      system(Utility::GUNZIP, "#{cpio}.gz")
    end
    puts "Unarchived: #{cpio}"
    ohai "Extracting /mach_kernel"
    system("#{Utility::CPIO} -p -d -I \"#{cpio}\" -- \"#{payload}\" <<</mach_kernel >/dev/null 2>&1")
    system(Utility::MV, "#{payload}/mach_kernel", output)
    puts "Extracted: #{output}"
  }
end