hackmac 0.4.0 → 0.4.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
  SHA256:
3
- metadata.gz: d7acc13fd5dee07de07b479330881c9c630179f8dc785400c2effaea44c3190c
4
- data.tar.gz: 2bb42e69cd439b93d38e9abd06cfb4142e3e987b1f049135e13416b2f610d099
3
+ metadata.gz: e31666568c0306204cd0f47663bebb3f5356c21cfc2ae68502d1a71a1584b216
4
+ data.tar.gz: 73d5127bf3747e8f95a06c8b6213cedba403d279c76273bed2e7265b123c5e03
5
5
  SHA512:
6
- metadata.gz: cd15589d99e9f8c25ed2ab45f44a584e7e02786c1b0bdcaaec0dea2becc74a7cdfe3f26170af2e16b440842169c10dbd0c06864b16fb045d9c2e0a28fd1f3934
7
- data.tar.gz: a6a78acc6c898182d4614f6bab884de53d9a5540eadf84eae6bea708cdbc88dda3a3f72b41fea3cc0af458011a60ce93c75b8116c8c3d6c0c458216c1bdc3bc9
6
+ metadata.gz: d74298a7025caf5aff3bbd1d00e423865c6862ae0de724f6e1dd7d12dfac28b5771e86853601c58a9e659884dddb7f0fd2235cc5cfc563a1b524fd196125cfda
7
+ data.tar.gz: 74b5de0dadcd8e22ab554e1fa3040eef3a6c6039425c3377fa9f584d1a2d53be8cdb68231555f23f847b53b67300c9373386cbf20d06e47b8ef7c9c3fdbfeafd
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.0
1
+ 0.4.1
data/bin/efi CHANGED
@@ -134,48 +134,8 @@ when 'kext'
134
134
  path = ARGV.shift or fail 'need kext dir'
135
135
  puts Kext.new(path: path)
136
136
  when 'kext_upgrade'
137
- Dir.mktmpdir do |dir|
138
- cd dir do
139
- path = ARGV.shift or fail 'need kext dir'
140
- kext = Kext.new(path: path, config: $config)
141
- case
142
- when kext.remote_version.nil?
143
- puts "No source defined for #{kext}"
144
- when kext.remote_version > kext.version
145
- name, data = kext.remote_kext.download_asset
146
- if name
147
- File.secure_write(name, data)
148
- system "unzip #{name.inspect}" or fail "Could not unzip #{name.inspect}"
149
- kext_path = nil
150
- Find.find(dir) do |path|
151
- if FileTest.directory?(path)
152
- case File.basename(path)
153
- when /\A\./
154
- Find.prune
155
- when "#{kext.name}.kext"
156
- kext_path = path
157
- break
158
- else
159
- next
160
- end
161
- end
162
- end
163
- if kext_path
164
- if ask("Really upgrade #{path.inspect} to version #{kext.remote_version}? (y/n) ")
165
- rm_rf path
166
- cp_r kext_path, path
167
- end
168
- else
169
- fail "#{kext_path} Could not be installed"
170
- end
171
- else
172
- fail "#{kext.remote_kext.name} could not be downloaded"
173
- end
174
- else
175
- puts "#{kext} is already the latest version"
176
- end
177
- end
178
- end
137
+ path = ARGV.shift or fail 'need kext dir'
138
+ Hackmac::KextUpgrader.new(path: path, config: $config).perform
179
139
  when 'list'
180
140
  disks = Disks.new
181
141
  efis = []
data/hackmac.gemspec CHANGED
@@ -1,19 +1,19 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: hackmac 0.4.0 ruby lib
2
+ # stub: hackmac 0.4.1 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "hackmac".freeze
6
- s.version = "0.4.0"
6
+ s.version = "0.4.1"
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-02-11"
11
+ s.date = "2020-02-12"
12
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
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/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/utils.rb".freeze, "lib/hackmac/version.rb".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/kext_upgrader.rb".freeze, "lib/hackmac/plist.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/kext_upgrader.rb".freeze, "lib/hackmac/plist.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
data/lib/hackmac.rb CHANGED
@@ -8,5 +8,6 @@ require 'hackmac/plist'
8
8
  require 'hackmac/disks'
9
9
  require 'hackmac/kext'
10
10
  require 'hackmac/kext_source'
11
+ require 'hackmac/kext_upgrader'
11
12
  require 'hackmac/config'
12
13
  require 'hackmac/utils'
@@ -34,9 +34,11 @@ module Hackmac
34
34
  github: 'Sniki/OS-X-USB-Inject-All'
35
35
  VirtualSMC:
36
36
  github: 'acidanthera/VirtualSMC'
37
+ plugins:
38
+ - SMCProcessor
39
+ - SMCSuperIO
37
40
  WhateverGreen:
38
41
  github: 'acidanthera/WhateverGreen'
39
-
40
42
  end
41
43
 
42
44
  def self.load
@@ -0,0 +1,68 @@
1
+ require 'fileutils'
2
+ require 'find'
3
+ require 'pathname'
4
+
5
+ module Hackmac
6
+ class KextUpgrader
7
+ include FileUtils
8
+
9
+ def initialize(path:, config:)
10
+ @path, @config = path, config
11
+ end
12
+
13
+ private
14
+
15
+ def isolate
16
+ Dir.mktmpdir do |dir|
17
+ cd dir do
18
+ yield dir
19
+ end
20
+ end
21
+ end
22
+
23
+ public
24
+
25
+ def perform
26
+ isolate do |dir|
27
+ kext = Kext.new(path: @path, config: @config)
28
+ case
29
+ when kext.remote_version.nil?
30
+ puts "No source defined for #{kext}"
31
+ when kext.remote_version > kext.version
32
+ name, data = kext.remote_kext.download_asset
33
+ if name
34
+ File.secure_write(name, data)
35
+ system "unzip #{name.inspect}" or fail "Could not unzip #{name.inspect}"
36
+ kext_pathes = []
37
+ Find.find(dir) do |path|
38
+ if FileTest.directory?(path)
39
+ case File.basename(path)
40
+ when /\A\./
41
+ Find.prune
42
+ when "#{kext.name}.kext"
43
+ kext_pathes.unshift path
44
+ when
45
+ *@config.kext.sources[kext.name]&.plugins&.map { |p| p + '.kext' }
46
+ then
47
+ kext_pathes << path
48
+ end
49
+ end
50
+ end
51
+ p kext_pathes
52
+ kext_pathes.each do |kext_path|
53
+ old_path = (Pathname.new(@path).dirname + File.basename(kext_path)).to_s
54
+ if ask("Really upgrade #{old_path.inspect} to version #{kext.remote_version}? (y/n) ")
55
+ rm_rf old_path
56
+ cp_r kext_path, old_path
57
+ end
58
+ end
59
+ else
60
+ fail "#{kext.remote_kext.name} could not be downloaded"
61
+ end
62
+ else
63
+ puts "#{kext} is already the latest version"
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
data/lib/hackmac/utils.rb CHANGED
@@ -5,7 +5,6 @@ end
5
5
  require 'tabulo'
6
6
  require 'fileutils'
7
7
  require 'tmpdir'
8
- require 'find'
9
8
 
10
9
  module Hackmac
11
10
  module Utils
@@ -1,6 +1,6 @@
1
1
  module Hackmac
2
2
  # Hackmac version
3
- VERSION = '0.4.0'
3
+ VERSION = '0.4.1'
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:
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.4.0
4
+ version: 0.4.1
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-02-11 00:00:00.000000000 Z
11
+ date: 2020-02-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gem_hadar
@@ -150,6 +150,7 @@ extra_rdoc_files:
150
150
  - lib/hackmac/disks.rb
151
151
  - lib/hackmac/kext.rb
152
152
  - lib/hackmac/kext_source.rb
153
+ - lib/hackmac/kext_upgrader.rb
153
154
  - lib/hackmac/plist.rb
154
155
  - lib/hackmac/utils.rb
155
156
  - lib/hackmac/version.rb
@@ -168,6 +169,7 @@ files:
168
169
  - lib/hackmac/disks.rb
169
170
  - lib/hackmac/kext.rb
170
171
  - lib/hackmac/kext_source.rb
172
+ - lib/hackmac/kext_upgrader.rb
171
173
  - lib/hackmac/plist.rb
172
174
  - lib/hackmac/utils.rb
173
175
  - lib/hackmac/version.rb