hackmac 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1c27333ade19bd71ed33b0d32f055a33134110fe706eed808a1c23cf258715a0
4
- data.tar.gz: 38033fbd4300eb771baba67cd2547f4dafdefcc35487b1fd59c0643aae497f29
3
+ metadata.gz: f50c5754f9dc5de0cc94c265030fd4c01518c9dabeff2f8bbd3eabc89d522e3a
4
+ data.tar.gz: 20f51cb4f16dd19584daace4fc245d7fe2e306b3644882d75c310c8de645bd5e
5
5
  SHA512:
6
- metadata.gz: 0457cc962741f0f32c6a9d4e75282b4d327ef2273a0837b5036a8dd135f5d00e8e73c063ba607dfaa02afa8f8dc04384f8fbe1621868ac7cf29746970598cc99
7
- data.tar.gz: 807ae7014ead4891da0b83eacf90777f5acd809b1b5cee33a3a1bb51ef62481fa1243327b284535e535a8c31e514d1ce102b7acdd564ec1affebfc65ba029240
6
+ metadata.gz: aca8ea6cd1f02de083a7a7b5ee8d748e957da0f26ec3b2e446c12e18ada65e5aa1feb81e85f0c018db479a6d092d6ad4c9baebddd51509c5882808b1028af338
7
+ data.tar.gz: fdefad73f682353fe331df3c898047a90fa82dcdc81f60c64203cbe21e1dfae08566a74d8c22185e1e2e6d83c29f772630aa9d43a96b443bc7b9d17fadab796b
data/Rakefile CHANGED
@@ -8,7 +8,7 @@ GemHadar do
8
8
  email 'flori@ping.de'
9
9
  homepage "http://github.com/flori/#{name}"
10
10
  summary 'Some useful tools for working with a Hackintosh'
11
- description 'This ruby gem provides Some useful tools for working with a Hackintosh.'
11
+ description 'This ruby gem provides some useful tools for working with a Hackintosh.'
12
12
  bindir 'bin'
13
13
  executables Dir['bin/*'].map(&File.method(:basename))
14
14
  test_dir 'tests'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.1
1
+ 0.3.0
data/bin/efi CHANGED
@@ -2,36 +2,7 @@
2
2
 
3
3
  require 'hackmac'
4
4
  include Hackmac
5
- require 'term/ansicolor'
6
- class String
7
- include Term::ANSIColor
8
- end
9
- require 'tabulo'
10
- require 'fileutils'
11
- include FileUtils
12
- require 'tmpdir'
13
-
14
- def x(cmd, verbose: true)
15
- prompt = cmd =~ /\A\s*sudo/ ? ?# : ?$
16
- output = `#{cmd}`
17
- if $?.success?
18
- print "#{prompt} #{cmd}".green
19
- puts verbose ? "" : " >/dev/null".yellow
20
- else
21
- print "#{prompt} #{cmd}".red
22
- puts verbose ? "" : " >/dev/null".yellow
23
- STDERR.puts "command #{cmd.inspect} failed with exit status #{$?.exitstatus}".on_red.white
24
- end
25
- if verbose
26
- print output.italic
27
- end
28
- output
29
- end
30
-
31
- def ask(prompt)
32
- print prompt.bold.yellow
33
- gets =~ /\Ay/i
34
- end
5
+ include Utils
35
6
 
36
7
  def clone(from:, to:)
37
8
  ask("Cloning from #{from} to #{to} now? (y/n) ") or return
data/bin/usb ADDED
@@ -0,0 +1,36 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'hackmac'
4
+ include Hackmac
5
+ include Utils
6
+
7
+ $config = Hackmac::Config.load
8
+
9
+ dev = ARGV.shift or fail "need usb device"
10
+
11
+ mountpoint = '/Volumes/USB'
12
+ mountpoint_efi = '/Volumes/USB_EFI'
13
+
14
+ if File.directory?(mountpoint)
15
+ puts " *** #{mountpoint} already mounted!".red
16
+ exit 1
17
+ end
18
+
19
+ if File.directory?(mountpoint_efi)
20
+ puts " *** #{mountpoint_efi} already mounted!".red
21
+ exit 1
22
+ end
23
+
24
+ ask("Really erase #{dev.inspect} and install #{$config.usb.os.inspect}? (y/n) ") or exit
25
+
26
+ x %{diskutil partitionDisk #{dev.inspect} GPT JHFS+ "USB" 100%}
27
+
28
+ x %{sudo mkdir -p #{mountpoint_efi.inspect}}
29
+ x %{sudo mount -t msdos #{(dev + "s1").inspect} #{mountpoint_efi.inspect}}
30
+ cd mountpoint_efi do
31
+ x %{git init}
32
+ x %{git remote add origin #{$config.efi.source.inspect}}
33
+ x %{git pull origin master}
34
+ end
35
+
36
+ x %{sudo "#{$config.usb.os}/Contents/Resources/createinstallmedia" --volume #{mountpoint.inspect} --nointeraction}
data/hackmac.gemspec CHANGED
@@ -1,19 +1,19 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: hackmac 0.2.1 ruby lib
2
+ # stub: hackmac 0.3.0 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "hackmac".freeze
6
- s.version = "0.2.1"
6
+ s.version = "0.3.0"
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib".freeze]
10
10
  s.authors = ["Florian Frank".freeze]
11
- s.date = "2020-01-29"
12
- s.description = "This ruby gem provides Some useful tools for working with a Hackintosh.".freeze
11
+ s.date = "2020-01-30"
12
+ s.description = "This ruby gem provides some useful tools for working with a Hackintosh.".freeze
13
13
  s.email = "flori@ping.de".freeze
14
- s.executables = ["gfxmon".freeze, "efi".freeze]
15
- s.extra_rdoc_files = ["README.md".freeze, "lib/hackmac.rb".freeze, "lib/hackmac/config.rb".freeze, "lib/hackmac/disks.rb".freeze, "lib/hackmac/kext.rb".freeze, "lib/hackmac/kext_source.rb".freeze, "lib/hackmac/plist.rb".freeze, "lib/hackmac/search_ui.rb".freeze, "lib/hackmac/version.rb".freeze]
16
- s.files = [".gitignore".freeze, "Gemfile".freeze, "README.md".freeze, "Rakefile".freeze, "VERSION".freeze, "bin/efi".freeze, "bin/gfxmon".freeze, "hackmac.gemspec".freeze, "lib/hackmac.rb".freeze, "lib/hackmac/config.rb".freeze, "lib/hackmac/disks.rb".freeze, "lib/hackmac/kext.rb".freeze, "lib/hackmac/kext_source.rb".freeze, "lib/hackmac/plist.rb".freeze, "lib/hackmac/search_ui.rb".freeze, "lib/hackmac/version.rb".freeze]
14
+ s.executables = ["gfxmon".freeze, "usb".freeze, "efi".freeze]
15
+ s.extra_rdoc_files = ["README.md".freeze, "lib/hackmac.rb".freeze, "lib/hackmac/config.rb".freeze, "lib/hackmac/disks.rb".freeze, "lib/hackmac/kext.rb".freeze, "lib/hackmac/kext_source.rb".freeze, "lib/hackmac/plist.rb".freeze, "lib/hackmac/search_ui.rb".freeze, "lib/hackmac/utils.rb".freeze, "lib/hackmac/version.rb".freeze]
16
+ s.files = [".gitignore".freeze, "Gemfile".freeze, "README.md".freeze, "Rakefile".freeze, "VERSION".freeze, "bin/efi".freeze, "bin/gfxmon".freeze, "bin/usb".freeze, "hackmac.gemspec".freeze, "lib/hackmac.rb".freeze, "lib/hackmac/config.rb".freeze, "lib/hackmac/disks.rb".freeze, "lib/hackmac/kext.rb".freeze, "lib/hackmac/kext_source.rb".freeze, "lib/hackmac/plist.rb".freeze, "lib/hackmac/search_ui.rb".freeze, "lib/hackmac/utils.rb".freeze, "lib/hackmac/version.rb".freeze]
17
17
  s.homepage = "http://github.com/flori/hackmac".freeze
18
18
  s.rdoc_options = ["--title".freeze, "Hackmac - Some useful tools for working with a Hackintosh".freeze, "--main".freeze, "README.md".freeze]
19
19
  s.rubygems_version = "3.1.2".freeze
@@ -9,6 +9,10 @@ module Hackmac
9
9
 
10
10
  DEFAULT = <<~end
11
11
  ---
12
+ efi:
13
+ source: 'https://github.com/flori/EFI-some.git'
14
+ usb:
15
+ os: '/Applications/Install macOS Mojave.app'
12
16
  devices:
13
17
  boot:
14
18
  name: EFI
@@ -0,0 +1,35 @@
1
+ require 'term/ansicolor'
2
+ class String
3
+ include Term::ANSIColor
4
+ end
5
+ require 'tabulo'
6
+ require 'fileutils'
7
+ require 'tmpdir'
8
+
9
+ module Hackmac
10
+ module Utils
11
+ include FileUtils
12
+
13
+ def x(cmd, verbose: true)
14
+ prompt = cmd =~ /\A\s*sudo/ ? ?# : ?$
15
+ output = `#{cmd}`
16
+ if $?.success?
17
+ print "#{prompt} #{cmd}".green
18
+ puts verbose ? "" : " >/dev/null".yellow
19
+ else
20
+ print "#{prompt} #{cmd}".red
21
+ puts verbose ? "" : " >/dev/null".yellow
22
+ STDERR.puts "command #{cmd.inspect} failed with exit status #{$?.exitstatus}".on_red.white
23
+ end
24
+ if verbose
25
+ print output.italic
26
+ end
27
+ output
28
+ end
29
+
30
+ def ask(prompt)
31
+ print prompt.bold.yellow
32
+ gets =~ /\Ay/i
33
+ end
34
+ end
35
+ end
@@ -1,6 +1,6 @@
1
1
  module Hackmac
2
2
  # Hackmac version
3
- VERSION = '0.2.1'
3
+ VERSION = '0.3.0'
4
4
  VERSION_ARRAY = VERSION.split('.').map(&:to_i) # :nodoc:
5
5
  VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
6
6
  VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
data/lib/hackmac.rb CHANGED
@@ -10,3 +10,4 @@ require 'hackmac/disks'
10
10
  require 'hackmac/kext'
11
11
  require 'hackmac/kext_source'
12
12
  require 'hackmac/config'
13
+ require 'hackmac/utils'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hackmac
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Frank
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-29 00:00:00.000000000 Z
11
+ date: 2020-01-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gem_hadar
@@ -108,10 +108,11 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
- description: This ruby gem provides Some useful tools for working with a Hackintosh.
111
+ description: This ruby gem provides some useful tools for working with a Hackintosh.
112
112
  email: flori@ping.de
113
113
  executables:
114
114
  - gfxmon
115
+ - usb
115
116
  - efi
116
117
  extensions: []
117
118
  extra_rdoc_files:
@@ -123,6 +124,7 @@ extra_rdoc_files:
123
124
  - lib/hackmac/kext_source.rb
124
125
  - lib/hackmac/plist.rb
125
126
  - lib/hackmac/search_ui.rb
127
+ - lib/hackmac/utils.rb
126
128
  - lib/hackmac/version.rb
127
129
  files:
128
130
  - ".gitignore"
@@ -132,6 +134,7 @@ files:
132
134
  - VERSION
133
135
  - bin/efi
134
136
  - bin/gfxmon
137
+ - bin/usb
135
138
  - hackmac.gemspec
136
139
  - lib/hackmac.rb
137
140
  - lib/hackmac/config.rb
@@ -140,6 +143,7 @@ files:
140
143
  - lib/hackmac/kext_source.rb
141
144
  - lib/hackmac/plist.rb
142
145
  - lib/hackmac/search_ui.rb
146
+ - lib/hackmac/utils.rb
143
147
  - lib/hackmac/version.rb
144
148
  homepage: http://github.com/flori/hackmac
145
149
  licenses: []