[sigh][resign] Fixing replacement of bundle IDs in Patched Entitlements when doing sigh resign with similar old and new bundle ids #22058
+4
−7
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.
Checklist
bundle exec rspec
from the root directory to see all new and existing tests passbundle exec rubocop -a
to ensure the code style is validci/circleci
builds in the "All checks have passed" section of my PR (connect CircleCI to GitHub if not)Motivation and Context
Fixing replacement of bundle IDs in Patched Entitlements when doing
sigh resign
when old bundle name is a substring of the new bundle name. The current logic allows for various edge cases that can result in broken resigned builds.Resolves #6331.
Description
The following improvements has been made:
.
inOLD_BUNDLE_ID
andNEW_BUNDLE_ID
resulting in\.
to avoid targetingany characters
in regexes.sed
replacement logic by extending the regex to match full lines.Testing Steps
Testing old approach vs fixed:
The result is that the resign is successful, but if you inspect the new build entitlements, the
application-identifier
(and possibly other fields) are with repeating parts, e.g.com.t.com.t.my.app
. Trying to actually install such build results in an errorUnable to Install "Build name". This app cannot be installed because its integrity could not be verified.
.