Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.7k
gh-120522: Add a--with-app-store-compliance configure option to patch out problematic code#120984
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
freakboy3742 commentedJun 25, 2024
I've flagged this for backport to 3.13, and documented the option as being added in 3.13. The issue also exists in (and was originally reported against) 3.12; I'm not sure what the policy is regarding a backport of a new (strictly optional) configuration option. |
freakboy3742 commentedJun 25, 2024
!buildbot iOS |
bedevere-bot commentedJun 25, 2024
🤖 New build scheduled with the buildbot fleet by@freakboy3742 for commiteee0c93 🤖 The command will test the builders whose names match following regular expression: The builders matched are:
|
Uh oh!
There was an error while loading.Please reload this page.
Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com>
Uh oh!
There was an error while loading.Please reload this page.
Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com>
nineteendo commentedJun 25, 2024
Did this get fixed already?https://buildbot.python.org/all/#/builders/1382/builds/32 patch -p1 --dry-run < ../../Mac/Resources/app-store-compliance.patchFiletopatch: No file found--skip this patch? [y]/bin/sh: line 1: 33119 Segmentation fault: 11 patch -p1 --dry-run < ../../Mac/Resources/app-store-compliance.patchmake:*** [app-store-compliance] Error 139 |
freakboy3742 commentedJun 25, 2024
No - the patch command isn't quite right for out-of-tree builds. I need to make a small tweak. |
freakboy3742 commentedJun 25, 2024
!buildbot iOS |
bedevere-bot commentedJun 25, 2024
🤖 New build scheduled with the buildbot fleet by@freakboy3742 for commit2d5a0a7 🤖 The command will test the builders whose names match following regular expression: The builders matched are:
|
freakboy3742 commentedJun 25, 2024
Hrm... that still isn't quite right. I'll need to take another look in the morning. |
GH-121173 is a backport of this pull request to the3.13 branch. |
Thanks@freakboy3742 for the PR 🌮🎉.. I'm working now to backport this PR to: 3.12. |
Sorry,@freakboy3742, I could not cleanly backport this to |
… option to patch out problematic code (pythonGH-120984)* Add --app-store-compliance configuration option.* Added blurb.* Correct tab-vs-spaces formatting issue.* Correct source file name in docs.Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com>* Correct source code reference in Mac docsCo-authored-by: Nice Zombies <nineteendo19d0@gmail.com>* Only apply the patch forward, and ensure the working directory is correct.* Make patching reslient to multiple builds.* Documentation fixes found during reviewCo-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>* Documentation and configure.ac syntax improvementsCo-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>* Regenerate configure script.* Silence the patch echo output.---------(cherry picked from commit48cd104)Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com>Co-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
… option to patch out problematic code (pythonGH-120984)* Add --app-store-compliance configuration option.* Added blurb.* Correct tab-vs-spaces formatting issue.* Correct source file name in docs.Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com>* Correct source code reference in Mac docsCo-authored-by: Nice Zombies <nineteendo19d0@gmail.com>* Only apply the patch forward, and ensure the working directory is correct.* Make patching reslient to multiple builds.* Documentation fixes found during reviewCo-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>* Documentation and configure.ac syntax improvementsCo-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>* Regenerate configure script.* Silence the patch echo output.---------(cherry picked from commit48cd104)Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com>Co-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
… option to patch out problematic code (pythonGH-120984)* Add --app-store-compliance configuration option.* Added blurb.* Correct tab-vs-spaces formatting issue.* Correct source file name in docs.Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com>* Correct source code reference in Mac docsCo-authored-by: Nice Zombies <nineteendo19d0@gmail.com>* Only apply the patch forward, and ensure the working directory is correct.* Make patching reslient to multiple builds.* Documentation fixes found during reviewCo-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>* Documentation and configure.ac syntax improvementsCo-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>* Regenerate configure script.* Silence the patch echo output.---------(cherry picked from commit48cd104)Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com>Co-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
GH-121174 is a backport of this pull request to the3.12 branch. |
…n to patch out problematic code (GH-120984) (#121173)gh-120522: Add a `--with-app-store-compliance` configure option to patch out problematic code (GH-120984)* Add --app-store-compliance configuration option.* Added blurb.* Correct tab-vs-spaces formatting issue.* Correct source file name in docs.* Correct source code reference in Mac docs* Only apply the patch forward, and ensure the working directory is correct.* Make patching reslient to multiple builds.* Documentation fixes found during review* Documentation and configure.ac syntax improvements* Regenerate configure script.* Silence the patch echo output.---------(cherry picked from commit48cd104)Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com>Co-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
… to patch out problematic code (python#120984)* Add --app-store-compliance configuration option.* Added blurb.* Correct tab-vs-spaces formatting issue.* Correct source file name in docs.Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com>* Correct source code reference in Mac docsCo-authored-by: Nice Zombies <nineteendo19d0@gmail.com>* Only apply the patch forward, and ensure the working directory is correct.* Make patching reslient to multiple builds.* Documentation fixes found during reviewCo-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>* Documentation and configure.ac syntax improvementsCo-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>* Regenerate configure script.* Silence the patch echo output.---------Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com>Co-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
erlend-aasland commentedJul 1, 2024
Oh, next time, remember to edit the commit message upon merging,@freakboy3742 :) |
freakboy3742 commentedJul 1, 2024
@erlend-aasland Will do; might be worth adding notes on this to the dev guide about this; AFAICT, there's nothing about the format/style of final commit messages. |
ned-deily commentedJul 2, 2024
Sorry for the late comment but I believe the approach in this PR has some incompatibilities that need to be addressed. Seethe comment in the issue. |
… to patch out problematic code (python#120984)* Add --app-store-compliance configuration option.* Added blurb.* Correct tab-vs-spaces formatting issue.* Correct source file name in docs.Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com>* Correct source code reference in Mac docsCo-authored-by: Nice Zombies <nineteendo19d0@gmail.com>* Only apply the patch forward, and ensure the working directory is correct.* Make patching reslient to multiple builds.* Documentation fixes found during reviewCo-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>* Documentation and configure.ac syntax improvementsCo-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>* Regenerate configure script.* Silence the patch echo output.---------Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com>Co-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
…e option to patch out problematic code (python#120984)"This reverts commit48cd104 priorto the release of 3.13.0b4 to allow for additional review time.
…e option to patch out problematic code" (pythongh-120984) (pythonGH-121844)This reverts commit48cd104 priorto the release of 3.13.0b4 to allow for additional review time.(cherry picked from commitf27593a)Co-authored-by: Ned Deily <nad@python.org>
… to patch out problematic code (python#120984)* Add --app-store-compliance configuration option.* Added blurb.* Correct tab-vs-spaces formatting issue.* Correct source file name in docs.Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com>* Correct source code reference in Mac docsCo-authored-by: Nice Zombies <nineteendo19d0@gmail.com>* Only apply the patch forward, and ensure the working directory is correct.* Make patching reslient to multiple builds.* Documentation fixes found during reviewCo-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>* Documentation and configure.ac syntax improvementsCo-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>* Regenerate configure script.* Silence the patch echo output.---------Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com>Co-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
…e option to patch out problematic code" (pythongh-120984) (python#121844)This reverts commit48cd104 priorto the release of 3.13.0b4 to allow for additional review time.
kcoombs commentedJan 23, 2025
Not sure where this best belongs, but relevant to Python App Store compliance issues, I ran into this Apple rejection today: Note, this is the framework inserted into the app by Briefcase 0.3.20. |
freakboy3742 commentedJan 23, 2025
@kcoombs I've opened#129247 to track the problem; however, there's not much we can do to address this. If your app actually uses Tkinter, unfortunately, you're out of luck. It appears that Tkcannot be distributed on the macOS App Store (seethe upstream Tk bug). If your appdoesn't use Tkinter, you can safely delete the tk dylibs from your app bundle (and in the process, dramatically reduce the size of your app!). In Briefcase, you can do this with the |
kcoombs commentedJan 23, 2025
@freakboy3742, thanks for the info. I don't use Tkinter, so I'll just use briefcase to remove it, as suggested. |
freakboy3742 commentedJan 23, 2025
@kcoombs I've logged this asbeeware/briefcase#2131, and provided a sample configuration fix. |
kcoombs commentedJan 24, 2025
Thanks! |
Uh oh!
There was an error while loading.Please reload this page.
Apple’s macOS App Store is auto-rejects any app that has the string
itms-servicesin it. This is the custom URL prefix used for requesting an app installation from the iTunes App Store; however, sandboxed apps are prohibited from using these URLs. Apple’s automagical review processes are catching on the code in urllib’s parser’s handling of these URLs - even if the app in question never uses anitms-services://URL. It’s present in the standard library; therefore the app is rejected.Followinga discussion on discuss.python.org, this PR adds a
--with-app-store-complianceoption to configure that will patch out any code that is known to be an issue with app store compliance.There is currently a single patch, in the Mac resources directory, patching the known occurrences of
itms-services. This patch isoptionally applied on macOS if the configure flag is enabled, but the patch is applied in as "dry run" if the flag isnot enabled. This ensures that a standard macOS CI pass will identify any drift in the patch.The same patch is also used by iOS builds, as the review issues are the same. On iOS, the patch isalways applied, because all apps will need to pass App Store compliance.
The option allows for a custom patch file to be provided (in case App Store rules change after support for a Python release has ceased. This also a platform other than iOS or macOS to apply a "compliance" patch by manually supplying one; although there's no known use case for this at present.
Fixes#120522.
📚 Documentation preview 📚:https://cpython-previews--120984.org.readthedocs.build/