Class: IESD::Packages::OSInstall

Inherits:
PKGUtil::PKG show all
Defined in:
lib/iesd/InstallESD/Packages/OSInstall.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

#postinstall_extensions(extensions) ⇒ Object



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

def postinstall_extensions extensions
  update { |pkg|
    oh1 "Creating Extensions Postinstall Script"
    script = File.join pkg, *%w{ Scripts postinstall_actions kext.tool }
    File.open(script, "a+") { |f|
      f.puts("#!/bin/sh")
      extensions[:remove].each { |kext|
        f.puts("logger -p install.info \"Removing #{kext}\"")
        f.puts("/bin/rm -rf \"$3/System/Library/Extensions/#{kext}\"")
      }
      extensions[:install].each { |kext|
        f.puts("logger -p install.info \"Installing #{File.basename kext}\"")
        f.puts("/usr/bin/ditto \"/System/Library/Extensions/#{File.basename kext}\" \"$3/System/Library/Extensions/#{File.basename kext}\"")
      }
    }
    File.chmod(0755, script)
    puts "Created: #{script}"
  }
end