hackmac 0.6.2 → 0.7.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 +4 -4
- data/VERSION +1 -1
- data/hackmac.gemspec +5 -5
- data/lib/hackmac.rb +1 -0
- data/lib/hackmac/config.rb +1 -1
- data/lib/hackmac/kext.rb +11 -2
- data/lib/hackmac/kext_download.rb +39 -0
- data/lib/hackmac/kext_source.rb +5 -4
- data/lib/hackmac/kext_upgrader.rb +14 -1
- data/lib/hackmac/version.rb +1 -1
- metadata +7 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b6c8c5a72ba001479a3511490610728925723af06704fc487d3cc7862f7c3aeb
|
4
|
+
data.tar.gz: c767b134d22c9eda171cb388749fbabf3bda7068b5a4518718bc87443c2b69cf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cd8f6268a0f6f689494829be46611f09c26e58667525c8eb29bb89bd604e9221776a5086431289687c66a55e07b032b0fe44e3cf66539c30a9e9f3e346f1e2b8
|
7
|
+
data.tar.gz: b7bbd7a47a6523906d355078be5ae2de046de4b6b6d9677b333a6c7582fdaa2f1b49bc6d7ba9544f4a2923c9204be577f385bc03300744781b4450f01bd56b97
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.7.0
|
data/hackmac.gemspec
CHANGED
@@ -1,19 +1,19 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
# stub: hackmac 0.
|
2
|
+
# stub: hackmac 0.7.0 ruby lib
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "hackmac".freeze
|
6
|
-
s.version = "0.
|
6
|
+
s.version = "0.7.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-
|
11
|
+
s.date = "2020-08-14"
|
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/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]
|
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_download.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_download.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
data/lib/hackmac/config.rb
CHANGED
data/lib/hackmac/kext.rb
CHANGED
@@ -40,11 +40,20 @@ module Hackmac
|
|
40
40
|
def remote_kext
|
41
41
|
return @remote_kext if @remote_kext
|
42
42
|
if @config
|
43
|
-
|
43
|
+
source = @config.kext.sources[name] or return
|
44
|
+
case
|
45
|
+
when github = source&.github?
|
44
46
|
auth = [ @config.github.user, @config.github.access_token ].compact
|
45
47
|
auth.empty? and auth = nil
|
46
|
-
suffix =
|
48
|
+
suffix =
|
49
|
+
case debug = source.debug?
|
50
|
+
when true then 'DEBUG'
|
51
|
+
when false then 'RELEASE'
|
52
|
+
when nil then nil
|
53
|
+
end
|
47
54
|
@remote_kext = Hackmac::KextSource.new(github, auth: auth, suffix: suffix)
|
55
|
+
when download = source&.download
|
56
|
+
@remote_kext = Hackmac::KextDownload.new(download.name, download.version, download.url)
|
48
57
|
end
|
49
58
|
end
|
50
59
|
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'open-uri'
|
2
|
+
require 'tins/string_version'
|
3
|
+
|
4
|
+
module Hackmac
|
5
|
+
class KextDownload
|
6
|
+
include Tins::StringVersion
|
7
|
+
|
8
|
+
def initialize(name, version, url)
|
9
|
+
@name = name
|
10
|
+
@url = url
|
11
|
+
@version = Version.new(version)
|
12
|
+
end
|
13
|
+
|
14
|
+
attr_reader :name
|
15
|
+
|
16
|
+
attr_reader :version
|
17
|
+
|
18
|
+
def download_asset
|
19
|
+
data = URI.open(
|
20
|
+
@url,
|
21
|
+
'Accept' => 'application/octet-stream',
|
22
|
+
&:read
|
23
|
+
)
|
24
|
+
return File.basename(@url), data
|
25
|
+
end
|
26
|
+
|
27
|
+
def inspect
|
28
|
+
"#<#{self.class}: #{to_s}>"
|
29
|
+
end
|
30
|
+
|
31
|
+
def to_s
|
32
|
+
"#{name} #{version}"
|
33
|
+
end
|
34
|
+
|
35
|
+
def to_s
|
36
|
+
"#{name} #{version}"
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
data/lib/hackmac/kext_source.rb
CHANGED
@@ -11,7 +11,7 @@ module Hackmac
|
|
11
11
|
def initialize(github, auth: nil, suffix: nil)
|
12
12
|
@github = github
|
13
13
|
@auth = auth
|
14
|
-
@suffix = Regexp.quote(suffix
|
14
|
+
@suffix = (Regexp.quote(suffix) if suffix)
|
15
15
|
account, repo = github.split(?/)
|
16
16
|
@name = repo
|
17
17
|
releases = URI.open(
|
@@ -42,12 +42,13 @@ module Hackmac
|
|
42
42
|
|
43
43
|
def download_asset
|
44
44
|
@release or return
|
45
|
-
asset = @release.assets.find { |a| a.name =~ /#@suffix.*\.zip\z/i } or return
|
45
|
+
asset = @release.assets.find { |a| a.name =~ /#@suffix.*\.(zip|tar\.gz)\z/i } or return
|
46
46
|
data = URI.open(
|
47
47
|
(GITHUB_API_URL % github) + ("/assets/%s" % asset.id),
|
48
48
|
'Accept' => 'application/octet-stream',
|
49
|
-
http_basic_authentication: auth
|
50
|
-
|
49
|
+
http_basic_authentication: auth,
|
50
|
+
&:read
|
51
|
+
)
|
51
52
|
return asset.name, data
|
52
53
|
end
|
53
54
|
|
@@ -20,6 +20,19 @@ module Hackmac
|
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
|
+
def decompress(name)
|
24
|
+
print "Decompressing #{name.inspect}…"
|
25
|
+
case name
|
26
|
+
when /\.zip\z/i
|
27
|
+
system "unzip #{name.inspect}" or fail "Could not unzip #{name.inspect}"
|
28
|
+
when /\.tar\.gz\z/i
|
29
|
+
system "tar xfz #{name.inspect}" or fail "Could not tar xfz #{name.inspect}"
|
30
|
+
else
|
31
|
+
fail "Cannot decompress #{name.inspect}"
|
32
|
+
end
|
33
|
+
puts "done!"
|
34
|
+
end
|
35
|
+
|
23
36
|
public
|
24
37
|
|
25
38
|
def perform
|
@@ -32,7 +45,7 @@ module Hackmac
|
|
32
45
|
name, data = kext.remote_kext.download_asset
|
33
46
|
if name
|
34
47
|
File.secure_write(name, data)
|
35
|
-
|
48
|
+
decompress(name)
|
36
49
|
kext_pathes = []
|
37
50
|
Find.find(dir) do |path|
|
38
51
|
if File.directory?(path)
|
data/lib/hackmac/version.rb
CHANGED
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
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Florian Frank
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-08-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gem_hadar
|
@@ -149,6 +149,7 @@ extra_rdoc_files:
|
|
149
149
|
- lib/hackmac/config.rb
|
150
150
|
- lib/hackmac/disks.rb
|
151
151
|
- lib/hackmac/kext.rb
|
152
|
+
- lib/hackmac/kext_download.rb
|
152
153
|
- lib/hackmac/kext_source.rb
|
153
154
|
- lib/hackmac/kext_upgrader.rb
|
154
155
|
- lib/hackmac/plist.rb
|
@@ -168,6 +169,7 @@ files:
|
|
168
169
|
- lib/hackmac/config.rb
|
169
170
|
- lib/hackmac/disks.rb
|
170
171
|
- lib/hackmac/kext.rb
|
172
|
+
- lib/hackmac/kext_download.rb
|
171
173
|
- lib/hackmac/kext_source.rb
|
172
174
|
- lib/hackmac/kext_upgrader.rb
|
173
175
|
- lib/hackmac/plist.rb
|
@@ -176,7 +178,7 @@ files:
|
|
176
178
|
homepage: http://github.com/flori/hackmac
|
177
179
|
licenses: []
|
178
180
|
metadata: {}
|
179
|
-
post_install_message:
|
181
|
+
post_install_message:
|
180
182
|
rdoc_options:
|
181
183
|
- "--title"
|
182
184
|
- Hackmac - Some useful tools for working with a Hackintosh
|
@@ -196,7 +198,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
196
198
|
version: '0'
|
197
199
|
requirements: []
|
198
200
|
rubygems_version: 3.1.2
|
199
|
-
signing_key:
|
201
|
+
signing_key:
|
200
202
|
specification_version: 4
|
201
203
|
summary: Some useful tools for working with a Hackintosh
|
202
204
|
test_files: []
|