iesd 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fb4d3cc64133af8167ed061b619cc907b529f08b
4
- data.tar.gz: 84fd6d472f6e46bc9d8447bcb9531e4be18f22f0
3
+ metadata.gz: 820dc77a28df65c45333a3f910cbb8fda1eea099
4
+ data.tar.gz: 8f96482b9edac3ea7dbc570fe516bd634453e950
5
5
  SHA512:
6
- metadata.gz: dd9b62cf21516bbc29f1ebbadaa2cbf6fa7605e412660a94f271709b5ac3dc543c42a774892156caccecb5ec6b9bd0a7ebec33e27ba0afbb6a44b91569002d6e
7
- data.tar.gz: d50a0b0af9cf6d710f995fb5e2228bb1fe97aea6ead280c39440b0d895e7a2f0fcc38ebcf7ac4db4b9ecd4ce947590ade597c4658abf146cd45b6ee51d79f7c2
6
+ metadata.gz: f7312647f7eb5c267f3da22306f4cb0e28c8c8b89daba60151ef4e54cd2ee75ec0de5c4d051d1252b3545d4dbdf3fa973886a59563ed1f1fd9c2c97e524a3c80
7
+ data.tar.gz: 7b5c2e6b0269c79ca9f0f49eae1e250a233907aecde2ac45959a8f5e63caddcfc5de461563cb75c34cdd2e413f78221a7319b9e8ae97f9accb8045417229ff07
@@ -2,7 +2,7 @@ Gem::Specification.new do |s|
2
2
  s.required_ruby_version = ">= 1.9.2"
3
3
 
4
4
  s.name = "iesd"
5
- s.version = "1.1.0"
5
+ s.version = "1.1.1"
6
6
  s.summary = "Customize OS X InstallESD."
7
7
  s.description = "Modify Extensions, Kextcache and Packages on InstallESD."
8
8
  s.authors = "なつき"
@@ -54,7 +54,7 @@ module IESD
54
54
  def update extensions
55
55
  remove extensions[:remove]
56
56
  install extensions[:install]
57
- @kextcache.update if extensions[:kextcache] or (extensions[:kextcache].nil? and !extensions[:up_to_date])
57
+ KextCache.update_volume @volume_root if extensions[:kextcache] or (extensions[:kextcache].nil? and !extensions[:up_to_date])
58
58
  end
59
59
  end
60
60
  end
@@ -2,12 +2,11 @@ module IESD
2
2
  class Extensions
3
3
  EXTENSIONS = %w{ System Library Extensions }
4
4
 
5
- attr_reader :volume_root, :url, :kextcache
5
+ attr_reader :volume_root, :url
6
6
 
7
7
  def initialize volume_root
8
8
  @volume_root = volume_root
9
9
  @url = File.join @volume_root, *EXTENSIONS
10
- @kextcache = IESD::Extensions::KextCache.new self
11
10
  end
12
11
 
13
12
  def remove kexts
@@ -29,50 +28,5 @@ module IESD
29
28
  }
30
29
  end
31
30
  end
32
-
33
- class KextCache
34
- KEXTCACHE_DEFAULT_OPTIONS = %w{ -v 0 -no-authentication }
35
- KERNELCACHE = %w{ System Library Caches com.apple.kext.caches Startup kernelcache }
36
- MKEXT = %w{ System Library Caches com.apple.kext.caches Startup Extensions.mkext }
37
- MKEXT_PPC = %w{ System Library Extensions.mkext }
38
-
39
- attr_reader :volume_root, :url, :type
40
-
41
- def initialize extensions
42
- @extensions = extensions
43
- @volume_root = extensions.volume_root
44
-
45
- case
46
- when (File.exist? (@url = File.join(@volume_root, *KERNELCACHE)))
47
- @type = :kernelcache
48
- when (File.exist? (@url = File.join(@volume_root, *MKEXT)))
49
- @type = :mkext
50
- when (File.exist? (@url = File.join(@volume_root, *MKEXT_PPC)))
51
- @type = :mkext_ppc
52
- else
53
- @url = nil
54
- end
55
- end
56
-
57
- def update
58
- if File.exist? (mach_kernel = File.join(@volume_root, "mach_kernel"))
59
- oh1 "Updating Kextcache"
60
- case @type
61
- when :kernelcache
62
- system(Utility::KEXTCACHE, *KEXTCACHE_DEFAULT_OPTIONS, "-prelinked-kernel", @url, "-kernel", mach_kernel, "-volume-root", @volume_root, "--", @extensions.url)
63
- when :mkext
64
- system(Utility::KEXTCACHE, *KEXTCACHE_DEFAULT_OPTIONS, *%w{ -a i386 -a x86_64 }, "-mkext", @url, "-kernel", mach_kernel, "-volume-root", @volume_root, "--", @extensions.url)
65
- if File.exist? (mkext_ppc = File.join(@volume_root, *MKEXT_PPC))
66
- system(Utility::DITTO, @url, mkext_ppc)
67
- end
68
- when :mkext_ppc
69
- system(Utility::DITTO, *KEXTCACHE_DEFAULT_OPTIONS, *%w{ -a ppc -a i386 }, "-mkext", @url, "-kernel", mach_kernel, "-volume-root", @volume_root, "--", extensions.url)
70
- end
71
- puts "Updated: #{@url}"
72
- else
73
- opoo "kextcache aborted because mach_kernel is not available"
74
- end
75
- end
76
- end
77
31
  end
78
32
  end
@@ -104,11 +104,11 @@ module IESD
104
104
  class BaseSystem < IESD::DMG::BaseSystem
105
105
  private
106
106
 
107
- def pre_update volume_root, options
107
+ def pre_update_extension volume_root, options
108
108
 
109
109
  end
110
110
 
111
- def post_update volume_root, options
111
+ def post_update_extension volume_root, options
112
112
  if File.exist? (mach_kernel = File.join(volume_root, "mach_kernel"))
113
113
  system(Utility::RM, mach_kernel)
114
114
  end
@@ -0,0 +1,31 @@
1
+ module KextCache
2
+ KEXTCACHE_DEFAULT_OPTIONS = %w{ -v 0 -no-authentication }
3
+
4
+ EXTENSIONS = %w{ System Library Extensions }
5
+ KERNELCACHE = %w{ System Library Caches com.apple.kext.caches Startup kernelcache }
6
+ MKEXT = %w{ System Library Caches com.apple.kext.caches Startup Extensions.mkext }
7
+ MKEXT_PPC = %w{ System Library Extensions.mkext }
8
+
9
+ def self.update_volume volume_root
10
+ oh1 "Updating Kextcache"
11
+ if File.exist? (mach_kernel = File.join(volume_root, "mach_kernel"))
12
+ case
13
+ when (File.exist? (url = File.join(volume_root, *KERNELCACHE)))
14
+ system(Utility::KEXTCACHE, *KEXTCACHE_DEFAULT_OPTIONS, "-prelinked-kernel", url, "-kernel", mach_kernel, "-volume-root", volume_root, "--", File.join(volume_root, *EXTENSIONS))
15
+ when (File.exist? (url = File.join(volume_root, *MKEXT)))
16
+ system(Utility::KEXTCACHE, *KEXTCACHE_DEFAULT_OPTIONS, *%w{ -a i386 -a x86_64 }, "-mkext", url, "-kernel", mach_kernel, "-volume-root", volume_root, "--", File.join(volume_root, *EXTENSIONS))
17
+ if File.exist? (mkext_ppc = File.join(volume_root, *MKEXT_PPC))
18
+ system(Utility::DITTO, url, mkext_ppc)
19
+ end
20
+ when (File.exist? (url = File.join(volume_root, *MKEXT_PPC)))
21
+ system(Utility::DITTO, *KEXTCACHE_DEFAULT_OPTIONS, *%w{ -a ppc -a i386 }, "-mkext", url, "-kernel", mach_kernel, "-volume-root", volume_root, "--", File.join(volume_root, *EXTENSIONS))
22
+ else
23
+ puts "kextcache aborted: unknown kernel cache type"
24
+ return
25
+ end
26
+ puts "Updated: #{url}"
27
+ else
28
+ opoo "kextcache aborted: mach_kernel not found"
29
+ end
30
+ end
31
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iesd
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - "なつき"
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-31 00:00:00.000000000 Z
11
+ date: 2014-04-01 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Modify Extensions, Kextcache and Packages on InstallESD.
14
14
  email: i@ntk.me
@@ -35,6 +35,7 @@ files:
35
35
  - lib/iesd/InstallESD/Packages/OSUpgrade.pkg.rb
36
36
  - lib/iesd/utility.rb
37
37
  - lib/iesd/utility/hdiutil.rb
38
+ - lib/iesd/utility/kextcache.rb
38
39
  - lib/iesd/utility/pkgutil.rb
39
40
  - lib/iesd/utility/tty.rb
40
41
  homepage: https://github.com/ntkme/iesd