Even though feature-wise it's a little short of what I was originally
planning for v0.5.0, I feel like there's way too much code change to
call it v0.4.5. (It's also likely that I'll add enough features
before release that, by release time, it will meet my original
expectations for v0.5.0.)
This modifies micropatcher.sh to copy the kmutil binaries onto the USB
and modifies unpatch.sh to remove them.
I'm not sure if I'll add any options to (un)patch-kexts.sh now, but
at least I might be able to give custom instructions on the MacRumors
forum thread or something if needed, for the moment.
With this commit, micropatcher.sh and unpatch.sh now allow the
pathname for the installer USB to be specified on the command line. (The
easy way to do this is to drag-and-drop the USB stick from the Finder.)
(Maybe I should eventually extend this for drag-and-drop of the installer
app on the USB stick, instead of just the USB stick itself, but this is
still an improvement.)
Yes, this is skipping over 0.0.12 and 0.0.13.
I may end up backporting changes from 0.0.14 to 0.0.12 (and possibly 0.0.13)
after the 0.0.14 release.
(If this release ends up being bigger than I currently expect, I could go
all the way to v0.1.0. I don't think that's likely though.)
Since I'm about to release this version, update the README to mention
that I've tested it against beta 2 but not beta 1, but that the changes
in this release are not expected to cause problems with beta 1.
Instead of cluttering the payloads directory and the root directory
of the patched USB drive with *.kext.zip files, put all of them into a
single directory. It's a small cleanup at the moment, but it's still a
good idea anyway, and if I'm able to add support for older machines like
2009/2010 MacBooks, its importance will increase.
Changed micropatcher.sh and unpatch.sh to first check for the name that
Apple will likely use for future macOS Big Sur betas, based on Apple's
past naming patterns for macOS betas.
If micropatcher.sh fails to find the payloads directory, it's probably
because the PWD isn't the directory that contains micropatcher.sh. So,
it will now try to figure out its own directory, change to that, and
check again for the payloads directory.
This should fix a patcher failure that is happening in the real world.
That justifies releasing v0.0.8 with just this fix.
A quick point release with just one change. Based on kmutil behavior I
observed during further patcher development, I believe adding --force
should make kmutil's behavior more predictable and more robust.
This commit:
-adds a --seal option to insert-hax.sh so it can specifically use the original
Hax.dylib, so as to avoid inhibitng volume sealing
-adds a --seal option to set-vars.sh, since insert-hax.sh is generally not
invoked directly by the user
-adds an extracted copy of the original Hax.dylib
-changes micropatcher.sh accordingly
-some changes (cosmetic, if I remember correctly) to unpatch.sh
This will make it easier for me to do thorough testing of kext patching stuff.
Both the patcher and unpatcher are causing enough disk activity on the
USB stick that it seems advantageous to have both of them sync when
they're done. (In my testing, it seems to cause my USB drive's light
to stop blinking sooner, which is a nice bonus.)
I can remove this later if anyone tries this patcher on a genuinely busy
system and sync gets stuck, but in the meantime I'll include this because
I doubt it'll happen and I think syncing at the end is a good idea.