"Build from source: Makefile" instructions don't work
A. The current instructions don't clone the required unsign project.
Adding --recursive to the clone command fixes this error.
B. cp instead of mv the unsign binary.
This isn't an error, but I think copying is less surprising.
Ref.: https://github.com/apparition47/MailTrackerBlocker/blob/main/Makefile#L31
C. The codesign option runtime was added in macOS 10.14.
Your prerequisites state that this project works with macOS 10.11. Removing the option for operating systems older than 10.14 works fine.
Ref.: https://github.com/apparition47/MailTrackerBlocker/blob/main/Makefile#L32
D. Codesign fails with error: The specified item could not be found in the keychain.
This error indicates that no developer certificate named "Developer ID Installer: One Fat Giraffe (CW298N32P4)" can be found on my computer. (Of course not.) I'm unfamiliar with macOS codesigning, so I don't know how to fix this problem. Do I need a developer certificate? Is that what unsign is supposed to take care of?
Ref.: https://github.com/apparition47/MailTrackerBlocker/blob/main/Makefile#L32
I didn't submit a PR because I don't know how to solve issue D. Thanks for your contribution to OSS.
Thanks for the feedback, the Make documentation is definitely incomplete; I'll see if I can get around to working on A, B, C.
D. Do I need a developer certificate? Is that what unsign is supposed to take care of?
There's two parts to this:
-
Big Sur (11.x) Mail requires a signed mailbundle while 10.15 Mail and older will refuse to run signed mailbundles. I've included
unsignas part of the end user installation process (found thatcodesign --remove-signaturewasn't reliably available on some setups) to remove the code signature for macOS setups older than 11.x. - In order to deploy a signed pkg installer (to avoid issue #1 Gatekeeper warnings), everything in the payload has to be signed. Ideally, you need to create your own
Developer ID ApplicationandDeveloper ID InstallerCertificates from Apple Developer. For testing though, you should be able to skip theproductsignandcodesignsteps and addCODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NOtoMakefile:9.
Added more instructions for non-signed builds