iesd 1.0.1 → 1.0.2
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 +4 -4
- data/bin/iesd +8 -8
- data/iesd.gemspec +3 -2
- data/lib/iesd/InstallESD/BaseSystem.dmg.rb +1 -1
- data/lib/iesd/InstallESD/InstallESD.dmg.rb +4 -4
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 64881b06a382ac55aa98e0cae658a8873433591d
|
4
|
+
data.tar.gz: 5c6f83c95e0aedff81585b30b9dc025cf35ae6f6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a19c4bbea44fd3ce487ab40378fe5e7baee976c029fa837e8a895d02f667d4ce25c8692757253e48a0849afc32de58691878077632365e21ca8408155f3b9fdb
|
7
|
+
data.tar.gz: df4b8f3b605119ad2436f95bb938506541013c08940814926b9b6a2638dd4bef0936e14a6cd2fc80b88d769c4aadcc07598bd05fc3743f482b2539a40ae3de58
|
data/bin/iesd
CHANGED
@@ -7,7 +7,7 @@ require 'optparse'
|
|
7
7
|
require 'iesd'
|
8
8
|
|
9
9
|
begin
|
10
|
-
raise "
|
10
|
+
raise "iESD is only supported on OS X." unless Kernel.system('[ "$(/usr/bin/uname)" = "Darwin" ]')
|
11
11
|
rescue Exception => e
|
12
12
|
opoo e.message
|
13
13
|
abort
|
@@ -45,12 +45,7 @@ optparse = OptionParser.new do |opts|
|
|
45
45
|
|
46
46
|
opts.on("-t", "--type type", [:BaseSystem, :InstallESD],
|
47
47
|
"Specify type (BaseSystem, InstallESD)") do |type|
|
48
|
-
|
49
|
-
when :BaseSystem
|
50
|
-
options[:type] = :root
|
51
|
-
when :InstallESD
|
52
|
-
options[:type] = :container
|
53
|
-
end
|
48
|
+
options[:type] = type
|
54
49
|
end
|
55
50
|
|
56
51
|
opts.on("--install-kexts x.kext,y.kext,z.kext", Array, "Specify list of kexts to install") do |list|
|
@@ -65,7 +60,7 @@ optparse = OptionParser.new do |opts|
|
|
65
60
|
options[:extensions][:kextcache] = c
|
66
61
|
end
|
67
62
|
|
68
|
-
opts.on("--[no-]postinstall-kexts", "Patch OSInstall.pkg for
|
63
|
+
opts.on("--[no-]postinstall-kexts", "Patch OSInstall.pkg for postinstall kexts") do |p|
|
69
64
|
options[:extensions][:postinstall] = p
|
70
65
|
end
|
71
66
|
|
@@ -117,6 +112,11 @@ begin
|
|
117
112
|
raise "invalid kext: #{kext}" unless File.exist? File.join(kext, *%w{ Contents MacOS }, File.basename(kext, ".kext"))
|
118
113
|
}
|
119
114
|
if (iesd = IESD.new options[:input])
|
115
|
+
iesd_type = iesd.class.name.split("::").last
|
116
|
+
types = [nil, :BaseSystem, :InstallESD, :InstallOSX]
|
117
|
+
if types.index(options[:type]) > types.index(iesd_type.to_sym)
|
118
|
+
raise "invalid output type #{options[:type].to_s} for input type #{iesd_type}"
|
119
|
+
end
|
120
120
|
iesd.export options
|
121
121
|
puts "\xF0\x9F\x8D\xBA #{options[:output]}"
|
122
122
|
else
|
data/iesd.gemspec
CHANGED
@@ -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.0.
|
5
|
+
s.version = "1.0.2"
|
6
6
|
s.summary = "Customize OS X InstallESD."
|
7
7
|
s.description = "Modify Extensions, Kextcache and Packages on InstallESD."
|
8
8
|
s.authors = "なつき"
|
@@ -14,6 +14,7 @@ Gem::Specification.new do |s|
|
|
14
14
|
s.files = %w{
|
15
15
|
README.md
|
16
16
|
LICENSE.md
|
17
|
+
bin/iesd
|
17
18
|
iesd.gemspec
|
18
|
-
} + Dir["lib/**/*.rb"]
|
19
|
+
} + Dir["lib/**/*.rb"]
|
19
20
|
end
|
@@ -5,7 +5,7 @@ module IESD
|
|
5
5
|
|
6
6
|
def export options, add_sectors = 0
|
7
7
|
case options[:type]
|
8
|
-
when :
|
8
|
+
when :BaseSystem, nil
|
9
9
|
Dir.mktmpdir { |tmp|
|
10
10
|
HDIUtil.write(@url, (tmpfile = File.join(tmp, File.basename(@url))), add_sectors) { |volume_root|
|
11
11
|
options[:extensions][:up_to_date] = (options[:extensions][:remove].empty? and options[:extensions][:install].empty?)
|
@@ -5,7 +5,7 @@ module IESD
|
|
5
5
|
|
6
6
|
def export options
|
7
7
|
case options[:type]
|
8
|
-
when :
|
8
|
+
when :BaseSystem
|
9
9
|
resize_limits = `#{Utility::HDIUTIL} resize -limits "#{@url}"`.chomp.split.map { |s| s.to_i }
|
10
10
|
show { |installesd|
|
11
11
|
IESD::DMG::BaseSystem.new(File.join(installesd, "BaseSystem.dmg")).export(options, resize_limits[0]) { |basesystem|
|
@@ -26,7 +26,7 @@ module IESD
|
|
26
26
|
end
|
27
27
|
}
|
28
28
|
}
|
29
|
-
when :
|
29
|
+
when :InstallESD, nil
|
30
30
|
Dir.mktmpdir { |tmp|
|
31
31
|
HDIUtil.write(@url, (tmpfile = File.join(tmp, File.basename(@url)))) { |installesd|
|
32
32
|
options[:extensions][:up_to_date] = (options[:extensions][:remove].empty? and options[:extensions][:install].empty?)
|
@@ -58,14 +58,14 @@ module IESD
|
|
58
58
|
system(Utility::CHFLAGS, "hidden", kextcache)
|
59
59
|
puts "Updated: #{kextcache}"
|
60
60
|
}
|
61
|
-
else
|
62
|
-
raise "invalid output type"
|
63
61
|
end
|
64
62
|
|
65
63
|
post_update installesd, options
|
66
64
|
}
|
67
65
|
system(Utility::MV, tmpfile, options[:output])
|
68
66
|
}
|
67
|
+
else
|
68
|
+
raise "invalid output type"
|
69
69
|
end
|
70
70
|
end
|
71
71
|
|
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.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "なつき"
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-12-
|
11
|
+
date: 2013-12-04 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Modify Extensions, Kextcache and Packages on InstallESD.
|
14
14
|
email: i@ntk.me
|
@@ -19,6 +19,7 @@ extra_rdoc_files: []
|
|
19
19
|
files:
|
20
20
|
- README.md
|
21
21
|
- LICENSE.md
|
22
|
+
- bin/iesd
|
22
23
|
- iesd.gemspec
|
23
24
|
- lib/iesd/InstallESD/BaseSystem.dmg.rb
|
24
25
|
- lib/iesd/InstallESD/Extensions.rb
|
@@ -47,7 +48,6 @@ files:
|
|
47
48
|
- lib/iesd/utility/tty.rb
|
48
49
|
- lib/iesd/utility.rb
|
49
50
|
- lib/iesd.rb
|
50
|
-
- bin/iesd
|
51
51
|
homepage: https://github.com/ntkme/iesd
|
52
52
|
licenses:
|
53
53
|
- BSD-2-Clause
|