12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/iesd/utility/kextcache.rb', line 12
def self.update_volume volume_root
oh1 "Updating Kextcache"
if File.exist? (mach_kernel = File.join(volume_root, "mach_kernel"))
extensions_path = [File.join(volume_root, *EXTENSIONS)]
extensions_path.push(File.join(volume_root, *EXTRA_EXTENSIONS)) if File.exist? File.join(volume_root, *EXTRA_EXTENSIONS)
case
when (File.exist? (url = File.join(volume_root, *KERNELCACHE)))
system("/usr/bin/env", "kextcache", *KEXTCACHE_DEFAULT_OPTIONS, "-prelinked-kernel", url, "-kernel", mach_kernel, "-volume-root", volume_root, "--", *extensions_path)
when (File.exist? (url = File.join(volume_root, *MKEXT)))
system("/usr/bin/env", "kextcache", *KEXTCACHE_DEFAULT_OPTIONS, *%w{ -a i386 -a x86_64 }, "-mkext", url, "-kernel", mach_kernel, "-volume-root", volume_root, "--", *extensions_path)
if File.exist? (mkext_ppc = File.join(volume_root, *MKEXT_PPC))
system("/usr/bin/env", "ditto", url, mkext_ppc)
end
when (File.exist? (url = File.join(volume_root, *MKEXT_PPC)))
system("/usr/bin/env", "ditto", *KEXTCACHE_DEFAULT_OPTIONS, *%w{ -a ppc -a i386 }, "-mkext", url, "-kernel", mach_kernel, "-volume-root", volume_root, "--", *extensions_path)
else
puts "kextcache aborted: unknown kernel cache type"
return
end
puts "Updated: #{url}"
else
opoo "kextcache aborted: mach_kernel not found"
end
end
|