hackmac 1.8.2 → 1.8.3
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/.context/code_comment.rb +15 -0
- data/CHANGES.md +347 -108
- data/README.md +78 -32
- data/Rakefile +4 -0
- data/VERSION +1 -1
- data/bin/efi +70 -11
- data/bin/gfxmon +81 -2
- data/bin/usb +26 -2
- data/hackmac.gemspec +5 -4
- data/lib/hackmac/asset_tools.rb +42 -1
- data/lib/hackmac/config.rb +32 -0
- data/lib/hackmac/disks.rb +72 -3
- data/lib/hackmac/github_source.rb +84 -1
- data/lib/hackmac/graph/display.rb +331 -0
- data/lib/hackmac/graph.rb +263 -3
- data/lib/hackmac/ioreg.rb +24 -2
- data/lib/hackmac/kext.rb +89 -0
- data/lib/hackmac/kext_upgrader.rb +38 -0
- data/lib/hackmac/oc.rb +64 -1
- data/lib/hackmac/oc_upgrader.rb +44 -0
- data/lib/hackmac/oc_validator.rb +31 -1
- data/lib/hackmac/plist.rb +64 -1
- data/lib/hackmac/url_download.rb +62 -0
- data/lib/hackmac/utils.rb +17 -0
- data/lib/hackmac/version.rb +1 -1
- metadata +6 -5
- data/.gitignore +0 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '09d1c9d86b5f82faf58a2b4b86aff4a2bf315e81f2f30b4cf967e6fb6dfd33ca'
|
4
|
+
data.tar.gz: e642ea32afa25bcec1026b4e1d1cfb1ce71309aab7d32d42b55ad31b78d836fd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ce6b64440555a2236fa91cf059cfe8413bb6aa2361b453f694d6791fcd76a95ef397b3bd401bf9747936c3d85d46deb58e5eaed76e89600ffa9f7fe691764178
|
7
|
+
data.tar.gz: '092da979e7b49732c26ba139f36d58df9c11f22790bea9ff6bfa7289025562b751c5a77651632966aed4ab6cbbfacc441a1d8a97490fc43cdde6f4501c774b31'
|
@@ -0,0 +1,15 @@
|
|
1
|
+
context do
|
2
|
+
namespace "bin" do
|
3
|
+
Dir['bin/*'].each do |filename|
|
4
|
+
file filename, tags: 'bin'
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
namespace "lib" do
|
9
|
+
Dir['lib/**/*.rb'].each do |filename|
|
10
|
+
file filename, tags: 'lib'
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
file 'README.md', tags: [ 'documentation' ]
|
15
|
+
end
|
data/CHANGES.md
CHANGED
@@ -1,6 +1,18 @@
|
|
1
1
|
# Changes
|
2
2
|
|
3
|
-
## 2025-
|
3
|
+
## 2025-09-19 v1.8.3
|
4
|
+
|
5
|
+
- Enhanced README with improved formatting and detailed tool descriptions
|
6
|
+
- Added better error handling in `kexts` command with `Errno::ENOENT` rescue
|
7
|
+
- Updated `gem_hadar` development dependency from version **1.20** to **2.6**
|
8
|
+
- Included `s.licenses = ["MIT".freeze]` in `hackmac.gemspec` and added `MIT`
|
9
|
+
license to gem specification
|
10
|
+
- Added `.gitignore` and `.contexts` to `package_ignore` list in `Rakefile`
|
11
|
+
- Updated print call syntax to use explicit parentheses
|
12
|
+
- Added `.context/code_comment.rb` to `hackmac.gemspec` and configured it for
|
13
|
+
code comment context
|
14
|
+
|
15
|
+
## 2025-07-21 v1.8.2
|
4
16
|
|
5
17
|
- Added a new `usage` method to provide help information when invalid arguments
|
6
18
|
are encountered.
|
@@ -8,262 +20,489 @@
|
|
8
20
|
|
9
21
|
## 2025-02-18 v1.8.1
|
10
22
|
|
23
|
+
- Updated `Hackmac::Kext_upgrader` to handle version comparison errors by
|
24
|
+
adding error handling for unconventional versions.
|
25
|
+
- Improved the `git pull` command in the `usb` script to use the source branch
|
26
|
+
and set upstream correctly.
|
27
|
+
- Unfroze empty strings in `Hackmac::Graph::Display` to allow modifications if
|
28
|
+
necessary.
|
29
|
+
- Updated the README.md file to reflect the new HackMac project description and
|
30
|
+
correct the gem URL.
|
31
|
+
- Updated the `hackmac.gemspec` file with newer RubyGems versions, including:
|
32
|
+
- Updated `s.date` from **2024-12-24** to **2025-02-18**
|
33
|
+
- Updated `s.rubygems_version` from **3.6.1** to **3.6.2**
|
34
|
+
- Bumped the `gem_hadar` development dependency to ~> **1.19**
|
11
35
|
- Added error handling for version comparison in `Hackmac::Kext_upgrader` to
|
12
|
-
allow forcing for unconventional versions.
|
13
|
-
- Improved `git pull` command in the USB bin script to use source branch and
|
14
|
-
set upstream, and removed obsolete `git branch` command.
|
15
|
-
- Updated README to reflect the new `HackMac` project as a Ruby toolset for
|
16
|
-
managing and customizing Hackintosh configurations, and corrected the gem
|
17
|
-
URL.
|
36
|
+
allow forcing updates for unconventional versions.
|
18
37
|
|
19
38
|
## 2024-07-24 v1.8.0
|
20
39
|
|
21
|
-
- Upgraded the `term-ansicolor` dependency
|
22
|
-
-
|
23
|
-
|
24
|
-
|
40
|
+
- Upgraded the `term-ansicolor` dependency from version **1.3** to **1.10**
|
41
|
+
- Updated the `gem_hadar` development dependency to version **1.16.0**
|
42
|
+
- Modified the `bin/gfxmon` script to enable true coloring when supported by
|
43
|
+
the terminal
|
25
44
|
|
26
45
|
## 2023-11-21 v1.7.2
|
27
46
|
|
28
|
-
- Added
|
47
|
+
- Added the `--downloadassets` flag to the `sudo #{cim.inspect}` command in the
|
48
|
+
`usb` script, enabling asset download during installation.
|
29
49
|
|
30
50
|
## 2023-11-19 v1.7.1
|
31
51
|
|
32
|
-
-
|
33
|
-
|
52
|
+
- Removed the `infobar` gem dependency from the project.
|
53
|
+
- Updated the version number to **1.7.1** in multiple files including
|
54
|
+
`VERSION`, `hackmac.gemspec`, and `lib/hackmac/version.rb`.
|
55
|
+
- Modified the `x` method in `lib/hackmac/utils.rb` to remove reliance on
|
56
|
+
`infobar` for displaying progress and status messages, instead using direct
|
57
|
+
`puts` calls.
|
58
|
+
- Updated the `usb` script in `bin/usb` to simplify command execution by
|
59
|
+
removing the `busy` parameter from the `x` method calls.
|
34
60
|
|
35
61
|
## 2023-10-09 v1.7.0
|
36
62
|
|
37
|
-
- Added
|
63
|
+
- Added the `infobar` gem with version constraint `>=0.7.1` to display a busy
|
64
|
+
indicator during shell command execution.
|
65
|
+
- Modified the `x` method in `lib/hackmac/utils.rb` to accept an optional
|
66
|
+
`busy` parameter, enabling the display of a progress indicator for
|
67
|
+
long-running commands.
|
68
|
+
- Updated the version number from **1.6.1** to **1.7.0** across all relevant
|
69
|
+
files.
|
38
70
|
|
39
71
|
## 2023-09-04 v1.6.1
|
40
72
|
|
41
|
-
- Improved color selection algorithm
|
42
|
-
|
73
|
+
- Improved color selection algorithm by using fewer bits in the
|
74
|
+
`Hackmac::Graph` class.
|
75
|
+
- Added executable bit to the `bin/efi` script.
|
43
76
|
|
44
77
|
## 2023-05-29 v1.6.0
|
45
78
|
|
46
|
-
-
|
47
|
-
|
48
|
-
-
|
49
|
-
|
79
|
+
- Added a new method `derive_color_from_string(string)` in the `Hackmac::Graph`
|
80
|
+
class to generate colors based on string input.
|
81
|
+
- Modified the `list(ps)` function to sort metrics by name and display them
|
82
|
+
with colored text using ANSI color codes.
|
83
|
+
- Updated the documentation and added a LICENSE file.
|
84
|
+
- Added a screenshot of the gfxmon tool to the project's img directory.
|
50
85
|
|
51
86
|
## 2023-05-28 v1.5.1
|
52
87
|
|
53
|
-
-
|
54
|
-
|
88
|
+
- **Added** `Hackmac::IOReg` class to handle fetching and parsing of IORegistry
|
89
|
+
data using `plist` output instead of parsing the raw output of `ioreg`.
|
90
|
+
- **Updated** `gfxmon` script to use `Hackmac::IOReg.new(key:
|
91
|
+
'PerformanceStatistics').as_hash` for fetching performance statistics,
|
92
|
+
replacing the previous method that parsed `ioreg` output.
|
93
|
+
- **Added** dependency on `hashie` gem to support deep finding in hashes within
|
94
|
+
the `IOReg` class.
|
95
|
+
- **Updated** version number from **1.5.0** to **1.5.1** across all relevant
|
96
|
+
files.
|
55
97
|
|
56
98
|
## 2023-05-28 v1.5.0
|
57
99
|
|
58
|
-
- Optimized performance by
|
100
|
+
- Optimized performance by modifying the `Hackmac::Graph` class:
|
101
|
+
- Changed variable initialization from `i = 0` to `@counter = -1`
|
102
|
+
- Added `@start = Time.now` for timing purposes
|
103
|
+
- Modified sleep duration calculation in `sleep_now` method
|
104
|
+
- Improved display diff handling with additional debug logging when
|
105
|
+
`ENV['DEBUG_BYTESIZE']` is set
|
106
|
+
- Updated ANSI color application logic in `Hackmac::Graph::Display` class to
|
107
|
+
use string concatenation instead of nested blocks
|
59
108
|
|
60
109
|
## 2023-05-28 v1.4.2
|
61
110
|
|
62
|
-
- Improved
|
63
|
-
|
111
|
+
- Improved variable naming in the config file
|
112
|
+
- Updated version number to **1.4.2**
|
113
|
+
- Added color output for config loading messages using `Term::ANSIColor`
|
114
|
+
- Modified config path environment variable from `CONFIG_PATH` to
|
115
|
+
`HACKMAC_CONFIG`
|
116
|
+
- Added exit status handling for failed commands in utils
|
64
117
|
|
65
118
|
## 2023-05-28 v1.4.1
|
66
119
|
|
67
|
-
- Improved
|
68
|
-
|
120
|
+
- Improved command output formatting in the `x` method of `Hackmac::Utils`
|
121
|
+
- Added emoji indicators for command success (`✅`) and failure (`⚠️`)
|
122
|
+
- Changed command prompt color based on whether `sudo` is used
|
123
|
+
- Simplified verbose output handling
|
69
124
|
|
70
125
|
## 2023-05-28 v1.4.0
|
71
126
|
|
72
|
-
- Improved performance of graph display to
|
73
|
-
-
|
127
|
+
- Improved performance of graph display to reduce flickering.
|
128
|
+
- Modified the `-g` option to `-m` in `gfxmon` for specifying performance
|
129
|
+
metrics.
|
130
|
+
- Added a new method `choose_metric` that now uses `$opts[?m]` instead of
|
131
|
+
`$opts[?g]`.
|
132
|
+
- Introduced a new module `Hackmac::Graph::Formatters` to handle different
|
133
|
+
value formatting (e.g., bytes, hertz, celsius, percent).
|
134
|
+
- Refactored the graph implementation to use a new `Hackmac::Graph::Display`
|
135
|
+
class for better management of terminal output.
|
136
|
+
- Added support for mutex synchronization in graph updates to prevent display
|
137
|
+
issues during resizing or concurrent operations.
|
138
|
+
- Enhanced error handling and argument validation (e.g., ensuring sleep
|
139
|
+
duration is non-negative).
|
74
140
|
|
75
141
|
## 2023-05-27 v1.3.0
|
76
142
|
|
77
|
-
-
|
78
|
-
|
143
|
+
- Refactored the graph implementation from a hack to a proper `Hackmac::Graph`
|
144
|
+
class.
|
145
|
+
- Added new methods and functionality:
|
146
|
+
- `derive_formatter` method for determining value formatting based on metric
|
147
|
+
type.
|
148
|
+
- Various formatting methods: `as_bytes`, `as_hertz`, `as_celsius`,
|
149
|
+
`as_percent`, and `as_default`.
|
150
|
+
- Improved graph rendering with better color handling, data processing, and
|
151
|
+
window resizing support.
|
152
|
+
- Updated the gemspec to include the new `graph.rb` file.
|
153
|
+
- Removed the old `format_bytes` method in favor of the new class-based
|
154
|
+
approach.
|
79
155
|
|
80
156
|
## 2023-05-15 v1.2.1
|
81
157
|
|
82
|
-
- Added an additional check for
|
83
|
-
|
84
|
-
-
|
85
|
-
|
158
|
+
- Added an additional check for the existence of `createinstallmedia` at
|
159
|
+
`#{$config.usb.os}/Contents/Resources/createinstallmedia`.
|
160
|
+
- Updated version numbers to **1.2.1** in `VERSION`, `hackmac.gemspec`, and
|
161
|
+
`lib/hackmac/version.rb`.
|
162
|
+
- Modified the USB installation script to verify the presence of the macOS
|
163
|
+
installer before proceeding.
|
164
|
+
- Added a step to set the upstream branch for Git operations during EFI setup.
|
86
165
|
|
87
166
|
## 2023-04-23 v1.2.0
|
88
167
|
|
89
|
-
- Added
|
90
|
-
installer.
|
168
|
+
- Added a check to verify if the installer exists before proceeding with
|
169
|
+
installation. If the installer is not found, an error message is displayed.
|
170
|
+
- Modified the EFI setup process by adding `git branch
|
171
|
+
--set-upstream-to=origin/master` to set the upstream branch for the local Git
|
172
|
+
repository.
|
173
|
+
|
174
|
+
Version numbers updated:
|
175
|
+
- **1.2.0**
|
91
176
|
|
92
177
|
## 2023-02-18 v1.1.3
|
93
178
|
|
94
|
-
- Extracted sample/default configuration into a
|
95
|
-
|
179
|
+
- Extracted the sample/default configuration into a new file `hackmac.yml` to
|
180
|
+
improve maintainability and organization.
|
181
|
+
- Simplified the USB mounting process by dynamically determining mountpoints
|
182
|
+
based on configuration values, reducing manual checks for existing mounts.
|
96
183
|
|
97
184
|
## 2022-10-06 v1.1.2
|
98
185
|
|
99
|
-
- Captured
|
100
|
-
|
101
|
-
-
|
186
|
+
- Captured stderr for commands by modifying the `x` method in
|
187
|
+
`lib/hackmac/utils.rb` to include `2>&1`.
|
188
|
+
- Updated development dependency from `byebug` to `debug` in `Rakefile` and
|
189
|
+
`hackmac.gemspec`.
|
190
|
+
- Added help information about setting `CONFIG_PATH` in `bin/efi`.
|
102
191
|
|
103
192
|
## 2022-07-12 v1.1.1
|
104
193
|
|
105
|
-
-
|
106
|
-
|
107
|
-
|
194
|
+
- Updated the version number to **1.1.1** in `VERSION`, `hackmac.gemspec`, and
|
195
|
+
`lib/hackmac/version.rb`.
|
196
|
+
- Modified the `usb` script to use `File.basename(dev)` when processing the
|
197
|
+
device argument.
|
108
198
|
|
109
199
|
## 2022-05-26 v1.1.0
|
110
200
|
|
111
|
-
- Added a new
|
112
|
-
|
201
|
+
- Added a new command `oc_validate` to the `efi` tool for validating OpenCore's
|
202
|
+
config.plist.
|
203
|
+
- Added a new class `OCValidator` in `lib/hackmac/oc_validator.rb` to handle
|
204
|
+
OpenCore validation logic.
|
205
|
+
- Updated the gem version from **1.0.5** to **1.1.0**.
|
206
|
+
- Updated the list of files and documentation in the gemspec to include the new
|
207
|
+
validator class.
|
113
208
|
|
114
209
|
## 2022-05-26 v1.0.5
|
115
210
|
|
116
|
-
- Added the
|
211
|
+
- Added the root path `/` to the USB creation process.
|
212
|
+
- Updated version number from **1.0.4** to **1.0.5** in multiple files
|
213
|
+
including `VERSION`, `hackmac.gemspec`, and `lib/hackmac/version.rb`.
|
117
214
|
|
118
215
|
## 2022-05-26 v1.0.4
|
119
216
|
|
120
|
-
- Added
|
121
|
-
|
122
|
-
-
|
123
|
-
|
124
|
-
- Enhanced error handling by introducing a new method `handle_error` in the
|
125
|
-
`ErrorHandler` class, which provides more detailed logging and user feedback.
|
126
|
-
- Improved performance by optimizing the database query execution time for the
|
127
|
-
`User.search` method.
|
128
|
-
- Added a new feature to support multi-factor authentication (MFA) with the
|
129
|
-
introduction of the `mfa_enabled?` method in the `User` model.
|
217
|
+
- Added `sudo chown $USER .` to change ownership of the EFI directory in the
|
218
|
+
`usb` script.
|
219
|
+
- Reordered commands in the `usb` script, moving the creation of the
|
220
|
+
installation media to before mounting the EFI partition.
|
130
221
|
|
131
222
|
## 2022-05-26 v1.0.3
|
132
223
|
|
133
|
-
- Changed the
|
224
|
+
- Changed the order of commands in the `usb` script.
|
225
|
+
- Updated version numbers to **1.0.3** across various files including
|
226
|
+
`VERSION`, `hackmac.gemspec`, and `lib/hackmac/version.rb`.
|
227
|
+
- Removed redundant execution of the command `sudo
|
228
|
+
"#{$config.usb.os}/Contents/Resources/createinstallmedia" --volume
|
229
|
+
#{mountpoint.inspect} --nointeraction` in the `usb` script.
|
134
230
|
|
135
231
|
## 2022-05-26 v1.0.2
|
136
232
|
|
137
|
-
-
|
233
|
+
- Updated the version number from **1.0.1** to **1.0.2** in multiple files.
|
234
|
+
- Modified the `File.secure_write` method call in `lib/hackmac/config.rb` to
|
235
|
+
use `path.to_s` instead of `path`.
|
138
236
|
|
139
237
|
## 2022-05-26 v1.0.1
|
140
238
|
|
141
|
-
- Upgraded the
|
142
|
-
|
239
|
+
- Upgraded the default configuration with several changes:
|
240
|
+
- Updated `efi.source` to `'storage.gate.ping.de:/git/EFI-hacmaxi.git'`
|
241
|
+
- Changed `usb.os` to `/Applications/Install macOS Monterey.app`
|
242
|
+
- Modified `oc.efi_path` to `'EFI'`
|
243
|
+
- Added new configuration under `oc.files` including:
|
244
|
+
- `'BOOT/BOOTx64.efi'`
|
245
|
+
- `'OC/OpenCore.efi'`
|
246
|
+
- `'OC/Drivers/OpenHfsPlus.efi'`
|
247
|
+
- `'OC/Drivers/OpenRuntime.efi'`
|
248
|
+
- `'OC/Tools/OpenShell.efi'`
|
249
|
+
- Updated `kext.efi_path` to `'EFI/OC/Kexts'`
|
250
|
+
- Added new kext source for `LucyRTL8125Ethernet` with github repository
|
251
|
+
`'Mieze/LucyRTL8125Ethernet'`
|
143
252
|
|
144
253
|
## 2022-05-26 v1.0.0
|
145
254
|
|
146
|
-
-
|
147
|
-
|
148
|
-
-
|
149
|
-
`
|
255
|
+
- Added support for OpenCore with new commands `oc`, `oc_remote`, and
|
256
|
+
`oc_upgrade`
|
257
|
+
- Commands added to `bin/efi` script
|
258
|
+
- New classes `Hackmac::OC` and `Hackmac::OCUpgrader` implemented
|
259
|
+
- Removed Clover-related functionality
|
260
|
+
- Version bumped from **0.8.3** to **1.0.0**
|
261
|
+
- Refactored asset download logic with new module `Hackmac::AssetTools`
|
262
|
+
- Moved decompression logic to shared module
|
263
|
+
- Renamed classes for clarity:
|
264
|
+
- `KextSource` → `GithubSource`
|
265
|
+
- `KextDownload` → `URLDownload`
|
266
|
+
- Removed support for boot device management
|
267
|
+
- Removed `list` command from `bin/efi`
|
268
|
+
- Removed `boot_dev` method and related functionality
|
269
|
+
- Updated dependencies in `hackmac.gemspec`
|
270
|
+
- Updated `gem_hadar` dependency to **~> 1.12.0**
|
271
|
+
- Updated RubyGems version to **3.3.13**
|
150
272
|
|
151
273
|
## 2021-03-05 v0.8.3
|
152
274
|
|
153
|
-
- Updated
|
154
|
-
|
275
|
+
- Updated the `BrcmPatchRAM` configuration to use Acidanthera's release instead
|
276
|
+
of RehabMan's.
|
155
277
|
|
156
278
|
## 2020-12-13 v0.8.2
|
157
279
|
|
158
|
-
-
|
159
|
-
|
280
|
+
- Added `require 'pathname'` to the list of required libraries in `hackmac.rb`.
|
281
|
+
- Updated version number from **0.8.1** to **0.8.2** across multiple files.
|
282
|
+
- Modified the `kext` and `kext_upgrade` commands in `efi` script to use
|
283
|
+
expanded paths by converting the input path using
|
284
|
+
`Pathname.new(path).expand_path.to_s`.
|
160
285
|
|
161
286
|
## 2020-08-22 v0.8.1
|
162
287
|
|
163
|
-
-
|
164
|
-
|
288
|
+
- Updated the regular expression in `boot_dev` method to handle both `\r` and
|
289
|
+
`\n` line endings.
|
290
|
+
- Bumped version from **0.8.0** to **0.8.1** across all relevant files.
|
165
291
|
|
166
292
|
## 2020-08-17 v0.8.0
|
167
293
|
|
168
|
-
- Added
|
294
|
+
- Added support for aliases in the list of EFI partitions, allowing users to
|
295
|
+
map device names to their corresponding identifiers.
|
296
|
+
- Updated the configuration file with new default values and added
|
297
|
+
documentation for clarity.
|
298
|
+
- Modified the `efi` command to display alias information when listing EFI
|
299
|
+
partitions.
|
169
300
|
|
170
301
|
## 2020-08-14 v0.7.0
|
171
302
|
|
172
|
-
-
|
173
|
-
|
174
|
-
|
175
|
-
-
|
303
|
+
- Moved configuration file from `~/config/hackmac.yml` to
|
304
|
+
`~/.config/hackmac/hackmac.yml`.
|
305
|
+
- Added support for downloading kexts that are not released.
|
306
|
+
- Updated the decompression functionality to handle both `.zip` and `.tar.gz`
|
307
|
+
files.
|
308
|
+
- Modified the `KextSource` class to allow decompressing of `.tar.gz` files in
|
176
309
|
addition to `.zip`.
|
310
|
+
- Created a new `KextDownload` class to handle downloading kexts from specified
|
311
|
+
URLs.
|
177
312
|
|
178
313
|
## 2020-05-15 v0.6.2
|
179
314
|
|
180
|
-
-
|
181
|
-
|
315
|
+
- Added `--cached` option to the `git_args` method in the `efi` script,
|
316
|
+
enhancing diff functionality.
|
182
317
|
|
183
318
|
## 2020-05-13 v0.6.1
|
184
319
|
|
185
|
-
- Added
|
320
|
+
- Added `git add -A` before committing in the `commit` command of the `efi`
|
321
|
+
script to ensure all changes are staged.
|
322
|
+
- Updated version numbers from **0.6.0** to **0.6.1** across multiple files
|
323
|
+
including `VERSION`, `hackmac.gemspec`, and `lib/hackmac/version.rb`.
|
324
|
+
- Reformatted code in several parts of the `efi` script for better readability,
|
325
|
+
such as splitting long lines into multiple lines and improving indentation.
|
326
|
+
- Modified the `diff` command in the `efi` script to include all changes by
|
327
|
+
using `git add -A` before generating the diff.
|
186
328
|
|
187
329
|
## 2020-05-05 v0.6.0
|
188
330
|
|
189
|
-
- Added support for installing debug kexts
|
190
|
-
|
331
|
+
- Added support for installing debug kexts by introducing a `force` parameter
|
332
|
+
in the `kext_upgrade` command.
|
333
|
+
- Updated the version number from **0.5.0** to **0.6.0** across all relevant
|
334
|
+
files.
|
335
|
+
- Modified the `KextSource` class to include a `suffix` parameter, allowing for
|
336
|
+
differentiation between debug and release builds.
|
337
|
+
- Enhanced the `efi` script with new commands: `diff` and `commit`, which
|
338
|
+
enable diffing changes and committing them using git on the EFI partition.
|
191
339
|
|
192
340
|
## 2020-03-05 v0.5.0
|
193
341
|
|
194
|
-
- Added support for
|
342
|
+
- Added support for EFI Git repository operations
|
343
|
+
- Implemented `git_args` method to handle command line arguments
|
344
|
+
- Added new commands:
|
345
|
+
- `diff`: Runs `git diff` on mounted EFI volume with default args `--color
|
346
|
+
--stat`
|
347
|
+
- `commit`: Commits changes and pushes to remote with default arg `-v`
|
348
|
+
- Updated version number from **0.4.2** to **0.5.0**
|
349
|
+
- Added `Shellwords` require in utils module
|
350
|
+
- Updated copyright date to 2020-03-05
|
195
351
|
|
196
352
|
## 2020-02-13 v0.4.2
|
197
353
|
|
198
|
-
- Fixed a crash that
|
199
|
-
|
200
|
-
|
354
|
+
- **0.4.2**: Fixed a crash that could occur when no plugins were available by
|
355
|
+
modifying the condition in `Hackmac::KextUpgrader`.
|
356
|
+
- Improved code clarity by replacing `FileTest.directory?` with
|
357
|
+
`File.directory?` in `Hackmac::KextUpgrader`.
|
201
358
|
|
202
359
|
## 2020-02-13 v0.4.1
|
203
360
|
|
204
|
-
-
|
361
|
+
- Added support for upgrading plugins alongside kexts by introducing the
|
362
|
+
`Hackmac::KextUpgrader` class.
|
363
|
+
- Updated the `kext_upgrade` command to use the new `KextUpgrader` instead of
|
364
|
+
inline code, improving maintainability and readability.
|
365
|
+
- Modified the configuration file to include plugin definitions under each
|
366
|
+
kext's source configuration.
|
367
|
+
- Removed redundant code from the `bin/efi` script by extracting the upgrade
|
368
|
+
logic into a dedicated class.
|
369
|
+
- Added support for handling multiple kexts and their associated plugins during
|
370
|
+
the upgrade process.
|
205
371
|
|
206
372
|
## 2020-02-11 v0.4.0
|
207
373
|
|
208
|
-
- Added dependency
|
209
|
-
-
|
374
|
+
- Added dependency to the `search_ui` gem.
|
375
|
+
- Removed local implementation of `Hackmac::SearchUI` in favor of using the
|
376
|
+
`search_ui` gem.
|
377
|
+
- Updated version number from **0.3.4** to **0.4.0**.
|
378
|
+
- Modified code to use `Search.new` instead of `SearchUI.new` when initializing
|
379
|
+
search functionality.
|
210
380
|
|
211
381
|
## 2020-02-07 v0.3.4
|
212
382
|
|
213
|
-
- Added
|
214
|
-
|
383
|
+
- Added a new column `:path` to the table display in the `kexts` command.
|
384
|
+
- Modified the `Kext` class to store and expose the `:path` attribute.
|
385
|
+
- Updated version numbers across files to **0.3.4**.
|
215
386
|
|
216
387
|
## 2020-02-07 v0.3.3
|
217
388
|
|
218
|
-
-
|
219
|
-
|
389
|
+
- Added support for handling kext archives with subdirectories in the
|
390
|
+
`kext_upgrade` command.
|
391
|
+
- Added a new development dependency: `byebug`.
|
392
|
+
- Improved error handling when unzipping kext archives by adding a failure
|
393
|
+
check after the unzip operation.
|
220
394
|
|
221
395
|
## 2020-01-30 v0.3.2
|
222
396
|
|
223
|
-
-
|
397
|
+
- Modified the regular expression in `Hackmac::KextSource#download_asset` to be
|
398
|
+
case-insensitive when matching asset names, allowing for different casing of
|
399
|
+
the word "RELEASE".
|
224
400
|
|
225
401
|
## 2020-01-30 v0.3.1
|
226
402
|
|
227
|
-
-
|
403
|
+
- Updated the version number to **0.3.1** in multiple files including
|
404
|
+
`VERSION`, `hackmac.gemspec`, and `lib/hackmac/version.rb`.
|
405
|
+
- Modified the kext upgrade process in `bin/efi`:
|
406
|
+
- Added a check for `name` before proceeding with file operations.
|
407
|
+
- Improved error handling by adding failure messages when the kext could not
|
408
|
+
be installed or downloaded.
|
409
|
+
- Changed the prompt message to include the target path and version.
|
410
|
+
- Updated the configuration file `lib/hackmac/config.rb`:
|
411
|
+
- Renamed the device key from `boot` to `main`.
|
228
412
|
|
229
413
|
## 2020-01-30 v0.3.0
|
230
414
|
|
231
|
-
- Added
|
415
|
+
- Added the `usb` command to create a bootable USB drive for Hackintosh
|
416
|
+
installations.
|
417
|
+
- Updated the gem specification and version files to reflect the new version
|
418
|
+
**0.3.0**.
|
419
|
+
- Modified the `hackmac.gemspec` file to include the new `usb` executable and
|
420
|
+
updated the list of files and extra documentation files.
|
421
|
+
- Added a new module `Hackmac::Utils` containing utility functions for command
|
422
|
+
execution and user interaction, consolidating code previously present in
|
423
|
+
individual scripts.
|
424
|
+
- Updated the default configuration in `lib/hackmac/config.rb` to include new
|
425
|
+
keys for EFI source and USB OS installation media paths.
|
426
|
+
- Removed redundant code from the `bin/efi` script by including the `Utils`
|
427
|
+
module instead of duplicating utility functions.
|
232
428
|
|
233
429
|
## 2020-01-29 v0.2.1
|
234
430
|
|
235
|
-
-
|
431
|
+
- Removed the `DiskUUID` column from the table display in the `list` command to
|
432
|
+
reduce table width.
|
236
433
|
|
237
434
|
## 2020-01-29 v0.2.0
|
238
435
|
|
239
|
-
- Added
|
240
|
-
|
436
|
+
- Added a new `kext_upgrade` command to upgrade kexts from their GitHub sources
|
437
|
+
- Updated the `clone` method to use an `ask` helper function for prompts
|
438
|
+
- Added support for downloading and installing kext upgrades in a temporary
|
439
|
+
directory
|
440
|
+
- Improved the `KextSource` class with:
|
441
|
+
- Better handling of GitHub authentication
|
442
|
+
- Added `download_asset` method to download release assets
|
443
|
+
- Enhanced version parsing logic
|
444
|
+
- Updated various dependencies and internal utilities
|
241
445
|
|
242
446
|
## 2020-01-28 v0.1.1
|
243
447
|
|
244
|
-
- Updated
|
448
|
+
- Updated the `hackmac` gem version from **0.1.0** to **0.1.1**
|
449
|
+
- Modified the `usage` method in `bin/efi` to use `boot_dev` instead of `dev`
|
450
|
+
- Changed the way disks are processed in `bin/efi`, using
|
451
|
+
`disks.AllDisksAndPartitions` instead of accessing via hash
|
452
|
+
- Updated methods in `lib/hackmac/kext.rb` to use new API calls like
|
453
|
+
`CFBundleIdentifier()`, `CFBundleName()`, and `CFBundleShortVersionString()`
|
454
|
+
instead of direct hash access
|
245
455
|
|
246
456
|
## 2020-01-28 v0.1.0
|
247
457
|
|
248
|
-
-
|
249
|
-
|
458
|
+
- Added support for a configuration file to store device mappings and kext
|
459
|
+
sources.
|
460
|
+
- Updated the `kexts` command to use the new configuration and display results
|
461
|
+
in a formatted table using `Tabulo`.
|
462
|
+
- Changed the `boot` command to `list` which now displays boot disk information
|
463
|
+
in a more structured format with tables.
|
464
|
+
- Added support for GitHub authentication when fetching remote kext versions.
|
465
|
+
- Improved error handling and version comparison logic for kexts.
|
466
|
+
- Added new dependencies: `complex_config` and `tabulo`.
|
467
|
+
- Updated the gemspec to include new files and updated version numbers.
|
250
468
|
|
251
469
|
## 2020-01-15 v0.0.4
|
252
470
|
|
253
|
-
-
|
471
|
+
- Added support for listing version info of kexts via the `kext` command, which
|
472
|
+
takes a `PATH` argument.
|
473
|
+
- Updated the `kexts` command to display the EFI device used in the output.
|
474
|
+
- Modified the `mount` and `unmount` commands with TODO notes for future
|
475
|
+
symlink management.
|
476
|
+
- Changed file reading in `lib/hackmac/kext.rb` to use UTF-8 encoding.
|
477
|
+
- Bumped version from **0.0.3** to **0.0.4** across all files.
|
254
478
|
|
255
479
|
## 2020-01-13 v0.0.3
|
256
480
|
|
257
|
-
- Added
|
258
|
-
|
481
|
+
- Added the ability to display the kext version and all kexts
|
482
|
+
- Updated the command from `kext` to `kexts`
|
483
|
+
- Modified the help message for the `kexts` command
|
484
|
+
- Added a new `kext` command that takes an app directory as input
|
259
485
|
|
260
486
|
## 2020-01-13 v0.0.2
|
261
487
|
|
262
|
-
- Made the
|
488
|
+
- Made the device configurable in the `efi` script by allowing it to accept a
|
489
|
+
custom mount point via command line arguments.
|
490
|
+
- Updated the version number from **0.0.1** to **0.0.2** across all relevant
|
491
|
+
files including `VERSION`, `hackmac.gemspec`, and `lib/hackmac/version.rb`.
|
492
|
+
- Modified the date in the gem specification file to reflect the latest commit
|
493
|
+
date of 2020-01-13.
|
263
494
|
|
264
495
|
## 2020-01-06 v0.0.1
|
265
496
|
|
266
|
-
|
497
|
+
- Added a `boot` command to the `efi` tool that shows boot disk information,
|
498
|
+
specifically which EFI partition was used.
|
499
|
+
- Updated the `help` command in the `efi` tool to include detailed usage
|
500
|
+
instructions for all available commands: `mount`, `unmount`, `clone`, `kext`,
|
501
|
+
and `boot`.
|
502
|
+
- Bumped the version number from **0.0.0** to **0.0.1** across all relevant
|
503
|
+
files.
|
504
|
+
- Updated the gemspec file to reflect the new version **0.0.1**, updated the
|
505
|
+
date, and adjusted RubyGems version compatibility.
|
267
506
|
|
268
507
|
## 2019-12-18 v0.0.0
|
269
508
|
|