Class: IESD::Packages::OSInstall
- Inherits:
-
PKGUtil::PKG
- Object
- PKGUtil::PKG
- IESD::Packages::OSInstall
- Defined in:
- lib/iesd/InstallESD/Packages/OSInstall.pkg.rb
Overview
OSInstall.pkg
Instance Attribute Summary
Attributes inherited from PKGUtil::PKG
Instance Method Summary collapse
-
#postinstall_extensions(extensions) ⇒ Object
Create the postinstall script for extensions.
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
Create the postinstall script for extensions.
extensions - The Extensions to update.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/iesd/InstallESD/Packages/OSInstall.pkg.rb', line 10 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[:uninstall].each { |kext| f.puts(%Q{logger -p install.info "Uninstalling #{kext}"}) f.puts(%Q{/bin/test -e "$3%{extra_extensions_kext}" && /bin/rm -rf "$3%{extra_extensions_kext}" || /bin/rm -rf "$3%{extensions_kext}"} % { :extensions_kext => "/System/Library/Extensions/#{kext}", :extra_extensions_kext => "/Library/Extensions/#{kext}" }) } extensions[:install].each { |kext| f.puts(%Q{logger -p install.info "Installing #{File.basename kext}"}) f.puts(%Q{/bin/test -e "%{extensions_kext}" && /usr/bin/ditto "%{extensions_kext}" "$3%{extensions_kext}" || /usr/bin/ditto "%{extra_extensions_kext}" "$3%{extra_extensions_kext}"} % { :extensions_kext => "/System/Library/Extensions/#{File.basename kext}", :extra_extensions_kext => "/Library/Extensions/#{File.basename kext}" }) } } File.chmod(0755, script) puts "Created: #{script}" } end |