hackmac 0.2.1 → 0.3.0

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
  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: []