iesd 1.0.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|