Rewrite Entitlements.plist to avoid newline issues. #57
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The macOS utility
codesign
fails with obscure, difficult to debug errors when presented with CRLF newlines in an XML formatEntitlements.plist
.Git can be configured globally to mangle newlines to CRLF (via
core.autocrlf=true
).Cookiecutter manages the git clone of the template, so there's no easy way for us to set the configuration at the repository level during the template instantiation process.
To prevent a build failure that bit someone during the PyCon US 2024 sprints, the
post_gen_projecct
hook now reads theEntitlements.plist
file and writes it back with the LF newlines thatcodesign
expects.I tested this by generating a new project locally after running
git config --global core.autocrlf true
and verifying that the build fails during signing (and confirmed that the templated file has CRLF newlines). Then, I configured the project to use this branch and successfully built and signed the template app, despite still having the Git option enabled.Fixes beeware/briefcase#1831
PR Checklist: