-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Disable interpolation on config file parsing #889
Comments
Looks like maybe I shouldn't have merged this functionality quite yet. The tests aren't passing on Python 3. |
The test that's failing is an integration test where the unpatched Distribution class isn't being resolved correctly now that Distribution has multiple bases. |
Aha. The tests would have been failing on Python 2 except that the integration tests are skipped in environments with pbr installed... and since setuptools depends on mock on those older pythons and mock depends on pbr, those tests are skipped regularly. |
That latest commit addresses the issue. I've re-tagged v32.3.0 and the release is pending now. |
I'm re-opening this issue. After correcting the two issues with the implementation, I see (due to failing tests) that interpolation has been enabled for setup.cfg parsing even in Python 2. So disabling config parsing is a backward-incompatible change and not merely a re-alignment with past expectations as I'd originally thought. |
I've done a force-push of master back to de05e93 while this issue gets resolved in the issue-889 branch. |
I've also deleted the v36.2.5 tag as it was never released. Big thanks to Sviatoslav and Travis-CI for setting up build stages and preventing a broken release. |
Based on my new understanding, I've updated the changelog in 4688a68 to reflect a backward-incompatible release. I'm reluctant to make this release because I'm unsure of the impact it will have, and more importantly, it will break existing packages that contain a setup.cfg that either depends on interpolation or escapes percent characters... and for those projects to be compatible, they'll become incompatible with prior releases of setuptools. Without more data or feedback, I'm not sure what to do. |
With the change in fbcbb51 to disable interpolation for |
It breaks setuptools/distutils parsing: pypa/setuptools#889 This reverts commit e2c7980.
As suggested by @henryiii, we're accepting this behavior as a feature. See #1648 for the effort to document the support for interpolation in setup.cfg. I've moved the |
In Python 20754, we've observed that interpolation was inadvertently turned on for setup.cfg parsing in the update to Python 3. A patch is being drafted to fix the issue for bugfix versions of Python 3.5 and 3.6 and for Python 3.7, but the issue will persist for older Pythons. Setuptools can provide forward compatibility.
The text was updated successfully, but these errors were encountered: