-
-
Notifications
You must be signed in to change notification settings - Fork 30.4k
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
bpo-39763: distutils.spawn now uses subprocess #18743
Conversation
Reimplement distutils.spawn.spawn() function with the subprocess module. setup.py now uses a basic implementation of the subprocess module if the subprocess module is not available: before required C extension modules are built.
Now to fix https://bugs.python.org/issue39763, parallelism must be disable when the pure Python implementation is used:
I would prefer to push this change in a separated PR. |
cc @pitrou |
Or you can use |
It's not available on all platforms. I don't think that it's interesting to optimize the setup.py implementation of subprocess. subprocess.py only uses os.posix_spawn() on a few specfic platforms: macOS and Linux with glibc 2.24 or newer. |
Even when subprocess is available, os.posix_spawn() is not used by subprocess (called by distutils) because distutils.spawn uses close_fds default value which is True. If you want to experiment os.posix_spawn() in distutils, try this patch locally:
|
Codecov Report
@@ Coverage Diff @@
## master #18743 +/- ##
=========================================
Coverage 82.14% 82.14%
=========================================
Files 1956 1955 -1
Lines 590140 584725 -5415
Branches 44488 44475 -13
=========================================
- Hits 484743 480337 -4406
+ Misses 95745 94742 -1003
+ Partials 9652 9646 -6
Continue to review full report at Codecov.
|
@pganssle @pablogsal @tirkarthi @pitrou @nanjekyejoannah: Would you mind to review this change? This change basically continues the same code to spawn subprocesses when building Python from scratch. The difference is that incremental build of Python, or obviously building any third party C extension module, will now use subprocess, rather than fork+exec implemented in pure Python. The subprocess module uses _posixsubprocess C extension module to reduce the risk of race conditions. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
This change appears to be implicated in a regression where in some cases spaces in filenames aren't quoted so libraries fail to link. See pypa/setuptools#2417. |
…and as it would be used, restoring expectation lost in python/cpython#18743. Ref pypa/setuptools#2417 where this change was a red-herring for another issue.
…on 56.1.0 Alexandre Vassalotti (1): Merged revisions 62998-63003,63005-63006,63009-63012,63014-63017,63019-63020,63022-63024,63026-63029,63031-63041,63043-63045,63047-63054,63056-63062 via svnmerge from Amy (3): Add sphinx-inline-tabs extension Replace adjacent code blocks with tabbed containers Add changelog Andre Delfino (1): Add missing period in distutils.dep_util.newer_group doc (GH-11003) Andrew Kuchling (3): Issue #19544 and Issue #6516: Restore support for --user and --group parameters to sdist command as found in Python 2.7 and originally slated for Python 3.2 but accidentally rolled back as part of the distutils2 rollback. Closes Issue #6516. Issue #19544 and Issue #1180: Restore global option to ignore ~/.pydistutils.cfg in Distutils, accidentally removed in backout of distutils2 changes. #16135: remove mentions of OS/2 from the documentation Andrew M. Kuchling (6): #1858 from Tarek Ziade: #1858: re-apply patch for this, adding the missing files Re-word Reword sentence Use standard comma punctuation; reword some sentences in the docs Re-word Andrey Bienkowski (1): quickstart: recommend PyPA build instead of pep517.build Andrés Delfino (2): bpo-33297: Mention Pillow to work with more image formats. (#6505) bpo-33892: Doc: Use gender neutral words (GH-7770) Antoine Pitrou (1): Replace a mention of EnvironmentError in the distutils docs. Benjamin Peterson (19): Merged revisions 67654,67676-67677,67681,67692,67725,67761,67784-67785,67787-67788,67802,67848-67850,67862-67864,67880,67882 via svnmerge from Merged revisions 67654,67676-67677,67681,67692,67725,67746,67748,67761,67784-67785,67787-67788,67802,67832,67848-67849,67859,67862-67864,67880,67882,67885,67889-67892,67895 via svnmerge from Merged revisions 67982,67988,67990 via svnmerge from Merged revisions 68116-68119,68121,68123-68127 via svnmerge from Merged revisions 70578,70599,70641-70642,70650,70660-70661,70674,70691,70697-70698,70700,70704 via svnmerge from Merged revisions 70712,70714,70764-70765,70769-70771,70773,70776-70777,70788-70789,70824,70828,70832,70836,70842,70851,70855,70857,70866-70872,70883,70885,70893-70894,70896-70897,70903,70905-70907,70915,70927,70933,70951,70960,70962-70964,70998,71001,71006,71008,71010-71011,71019,71037,71056,71094,71101-71103,71106,71119,71123,71149-71150,71203,71212,71214-71217,71221,71240 via svnmerge from Merged revisions 70980,71059,71225,71234,71241,71243,71249,71251,71255,71266,71299,71329,71397-71398,71486 via svnmerge from Merged revisions 74277,74321,74323,74326,74355,74465,74467,74488,74492,74513,74531,74549,74553,74625,74632,74643-74644,74647,74652,74666,74671,74727,74739 via svnmerge from Merged revisions 74745 via svnmerge from Merged revisions 75149,75260-75263,75265-75267,75292,75300,75376,75405,75429-75433,75437,75445,75501,75551,75572,75589-75591,75657,75742,75868,75952-75957,76057,76105,76139,76143,76162,76223 via svnmerge from Merged revisions 76235 via svnmerge from Merged revisions 77484,77487,77561,77570,77593,77603,77608,77667,77702-77703,77739,77858,77887,77889 via svnmerge from Merged revisions 77952,78030,78102,78104,78107,78206,78216,78296-78297,78328,78331-78332,78336,78339,78343,78378-78379,78415,78559,78717,78791 via svnmerge from Merged revisions 79307,79408,79430,79533,79542,79579-79580,79585-79587,79607-79608,79622,79717,79820,79822,79828,79862,79875,79923-79924,79941-79943,79945,79947,79951-79952 via svnmerge from Merged revisions 80605-80609,80642-80646,80651-80652,80674,80684-80686,80748,80852,80854,80870,80872-80873,80907,80915-80916,80951-80952,80976-80977,80985,81038-81040,81042,81053,81070,81104-81105,81114,81125,81245,81285,81402,81463,81516,81562-81563,81567,81593,81635,81680-81681,81684,81801,81888,81931-81933,81939-81942,81963,81984,81991,82120,82188,82264-82267 via svnmerge from fix instances of consecutive articles (closes #23221) fix name of argument in docstring and the docs (closes #25076) link to modern PUG url remove IRIX support (closes bpo-31341) (#3310) Berker Peksag (3): Issue #23682: Delete Python 2.2 mention from distutils documentation. Issue #29069: Update the default URL of PyPI server bpo-19610: setup() now raises TypeError for invalid types (GH-4519) Brett Cannon (2): Revert r62998 as it broke the build (seems distutils.config is missing). Issue #23731: Implement PEP 488. Brian Curtin (1): #9934. Correct a typo that was already fixed on py3k. Chris Jerdonek (8): Remove unneeded "Release" and "Date" markers from doc index pages. Backport from 3.2: remove "Release" and "Date" markers from index pages. Update the description of which package versions PyPI displays (issue #16400). Backport from 3.2: update PyPI docs regarding listing versions (issue #16400). Issue #16874: fix formatting of setup.py upload options in documentation. Issue #16874 (forward-port from 2.7): fix some documentation formatting. Issue #16406: combine the doc pages for uploading and registering to PyPI. Issue #16406: Combine the doc pages for uploading and registering to PyPI. Christian Heimes (6): Merged revisions 59259-59274 via svnmerge from Merged revisions 59605-59624 via svnmerge from Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60700,60705-60706,60708,60711,60714,60720,60724-60730,60732,60736,60742,60744,60746,60748,60750-60751,60753,60756-60757,60759-60761,60763-60764,60766,60769-60770,60774-60784,60787-60789,60793,60796,60799-60809,60812-60813,60815-60821,60823-60826,60828-60829,60831-60834,60836,60838-60839,60846-60849,60852-60854,60856-60859,60861-60870,60874-60875,60880-60881,60886,60888-60890,60892,60894-60898,60900-60931,60933-60958 via svnmerge from Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from Merged revisions 62194,62197-62198,62204-62205,62214,62219-62221,62227,62229-62231,62233-62235,62237-62239 via svnmerge from Merged revisions 62425-62429,62434-62436,62441,62444,62446-62448,62450-62455,62463,62465-62466,62469,62474,62476-62478,62480,62485,62492,62497-62498,62500,62507,62513-62514,62516,62521,62531,62535,62545-62546,62548-62551,62553-62559,62569,62574,62577,62593,62595,62604-62606,62608,62616,62626-62627,62636,62638,62644-62645,62647-62648,62651-62653,62656,62661,62663,62680,62686-62687,62696,62699-62703,62711 via svnmerge from Donald Stufft (1): Fix Issue #21528 - Fix documentation typos E. M. Bray (1): bpo-21536: On Cygwin, C extensions must be linked with libpython (GH-13549) Eli Bendersky (4): Issue #15321: update PyPI upload doc to say --no-raw passed to rst2html.py. Patch by Chris Jerdonek Issue #15231: rephrase the last paragraph slightly Issue #15321: update PyPI upload doc to say --no-raw passed to rst2html.py Issue #15231: update PyPI upload doc to say --no-raw passed to rst2html.py Ezio Melotti (9): #7388: "python".capitalize() in the Doc Merged revisions 76904 via svnmerge from Merged revisions 76904 via svnmerge from Merged revisions 76906 via svnmerge from #11843: remove duplicate line from table in distutil doc. #11843: remove duplicate line from table in distutil doc. Remove duplication. Remove duplication. bpo-38103: fix conflicting labels in the docs. (GH-15906) Georg Brandl (92): Move the 2.6 reST doc tree in place. Move the 3k reST doc tree in place. Get rid of the remaining versionadded/versionchanged directives. Unify "byte code" to "bytecode". Also sprinkle :term: markup for it. Add :term:s for descriptors. #1370: Finish the merge r58749, log below, by resolving all conflicts in Doc/. Futher update docs after unbound method removal. Add "Using Python on Windows" document, by Robert Lehmann. Some cleanup in the docs. Part of #2154: minimal syntax fixes in doc example snippets. A lot more typo fixes by Ori Avtalion. #1725737: ignore other VC directories other than CVS and SVN's too. Fix lots of broken links in the docs, found by Sphinx' external link checker. Create the dbm package from PEP 3108. #2881. Fix old-style octal literals in the docs. Remove things specific to the old Macintosh, and spell "Mac OS X" consistently. Merged revisions 66452 via svnmerge from #4446: document "platforms" argument for setup(). #4776: add data_files and package_dir arguments. Merged revisions 67952-67953,67955,67957-67958,67960-67961,67963,67965,67967,67970-67971,67973,67982,67988,67990,67995,68014,68016,68030,68057,68061,68112,68115-68118,68120-68121,68123-68128 via svnmerge from #4811: fix markup glitches (mostly remains of the conversion), Fix uses of the default role. Remove trailing whitespace. Merged revisions 68219 via svnmerge from Remove trailing whitespace. Merged revisions 68133-68134,68141-68142,68145-68146,68148-68149,68159-68162,68166,68171-68174,68179,68195-68196,68210,68214-68215,68217-68222 via svnmerge from Merged revisions 68162,68166,68171,68176,68195-68196,68210,68232 via svnmerge from #5486: typos. #5486: typos. Add section numbering to some of the larger subdocuments. #5563: more documentation for bdist_msi. Normalize spelling of Mac OS X. Avoid sure signs of a diseased mind. Merged revisions 70642,70648,70656,70661,70765,70773,70789,70824-70825,70828,70830,70832,70836,70838,70842,70851,70855,70857-70858 via svnmerge from Merged revisions 70866-70868,70870-70871,70893,70896,70902,70905,70907,70912,70915,70927,70933,70940,70944,70954,70963,70998,71056 via svnmerge from Merged revisions 71058,71149-71150,71212,71214-71216,71222,71225,71234,71237-71238,71240-71241,71243,71249,71251 via svnmerge from Merged revisions 69578-69580,69901,69907,69994,70022-70023,70025-70026,70166,70273,70275,70342,70386-70387,70389-70390,70392-70393,70395,70397,70400,70418 via svnmerge Reintroduce versionchanged tags, but with correct version. Remove ".. warning::" markup that doesnt contain warnings for users, rather todo items. Merged revisions 72008 via svnmerge from Merged revisions 72007-72010,72036-72037 via svnmerge from builtin -> built-in. Merged revisions 74209 via svnmerge from Merged revisions 73941-73943,74076,74094,74186,74211-74214,74247,74254,74262,74311,74334,74368 via svnmerge from Move function back to its section. Merged revisions 74209 via svnmerge from Merged revisions 74492,74531,74545-74550,74553-74555,74588,74603,74608,74614,74616-74618,74631-74633,74652-74653,74666,74671,74737,74739,74779,74781-74782,74784,74791,74793,74818-74820,74822,74832 via svnmerge from Fix a strange mis-edit. Merged revisions 75795 via svnmerge from Merged revisions 75365,75394,75402-75403,75418,75459,75484,75592-75596,75600,75602-75607,75610-75613,75616-75617,75623,75627,75640,75647,75696,75795 via svnmerge from Merged revisions 75797 via svnmerge from Fix internal reference. Fix warnings from "make check". Merged revisions 78859-78860 via svnmerge from Two typos. Make comment out of an awkward note. Turn more notes into comments. Merged revisions 82629,82632 via svnmerge from Merged revisions 82548,82634-82635 via svnmerge from #9223: link to Command class reference, and move Command interface docs nearer to class docs. Merged revisions 82806 via svnmerge from Merged revisions 82301 via svnmerge from Remove XXX from text. Merged revisions 82872,82874 via svnmerge from After distutils doc reversal, change back **bold todo** items to XXX comments. Merged revisions 82793-82794,82807,82876,83432 via svnmerge from #7973: Fix distutils options spelling. Merged revisions 83536,83546-83548,83550,83554-83555,83558,83563,83565,83571,83574-83575 via svnmerge from Merged revisions 83593 via svnmerge from Consistency check for versionadded/changed directives. #9911: doc copyedits. Merged revisions 77236,77383,77399,77857,78238,78861-78862,78958 via svnmerge from Merged revisions 82629,82632,82724,82757-82758,82760-82763,82798-82799,82801 via svnmerge from Merged revisions 82805-82806,83523-83527,83536,83538,83542,83546-83548,83550-83555,83558,83560 via svnmerge from Merged revisions 84142 via svnmerge from Merged revisions 84945 via svnmerge from Merged revisions 84945 via svnmerge from Migrate to Sphinx 1.0 C language constructs. Fix errors found by "make suspicious". Merged revisions 85274 via svnmerge from Remove duplicate "numbered" options for toctrees. Closes #4159: add LaTeX tabular column specifications to tables that otherwise are cut off or have overlapping text. Fix missing period. Doc: remove invalid uses of ":option:" which will emit warnings in Sphinx 1.3. Use https:// URLs when referring to python.org hosts. Fixing broken links in doc, part 1: faq/ Fixing broken links in doc, part 4: some more breaks and redirects Doc: fix default role usage (except in unittest mock docs) Doc: fix default role usage (except in unittest mock docs) distutils example: fix invalid rst in description string Closes #26435: fix syntax in directives. Thanks to Jakub Stasiak. Closes #25910: fix dead and permanently redirected links in the docs. Thanks to SilentGhost for the patch. Hugo van Kemenade (1): bpo-39586: Deprecate distutils bdist_msi command (GH-18415) Jason R. Coombs (45): Issue 19544 and Issue #7457: Restore the read_pkg_file method to distutils.dist.DistributionMetadata accidentally removed in the undo of distutils2. Move docs to docs/distutils Move distutils docs into 'deprecated' section and link them from that section. In spawn, when logging a command, use list2cmdline to render the command as it would be used, restoring expectation lost in python/cpython#18743. Ref pypa/setuptools#2417 where this change was a red-herring for another issue. Normalize indentation Exclude dist from discovered packages. Fixes jaraco/skeleton#46. It's no longer necessary to filter this warning and it's not a warning anymore. Bump minimum pytest Term is builder. Bump version: 54.0.0 → 54.1.0 Extend extensions later in the file. Fixes flake8 failure and isolates the (sole) change from other concerns. Require twine 3 with keyring unconditionally required. Apply suggestions in code review. Make change a bugfix The term is misc :/ Bump version: 54.1.0 → 54.1.1 Add comments indicating why the exclusions are present Exclude mypy on Python 3.10 as workaround for python/typed_ast#156. Bump minimums on pytest-checkdocs and pytest-enabler as found on Setuptools. Also deny black on Python 3.10 as workaround for python/typed_ast#156. Don't bother testing old versions of pip on Python 3.10 and later. Fixes #2599. Bump version: 54.1.1 → 54.1.2 Add leading */ to coverage.run.omit. Workaround for pytest-dev/pytest-cov#456. Add test capturing missed expectation. Ref #2612. Illustrate how one might leverage sitecustomize.py to make a project available on PYTHONPATH. Fixes #2612. Cast values to str and retain other environ vars for Windows' sake Expect failure on PyPy. Bump version: 54.1.2 → 54.1.3 Remove superfluous else. Bump version: 54.1.3 → 54.2.0 Tidelift no longer requires or expects publishing release notes. Remove Tidelift from main.yml, no longer needed Pin to upstream main branch for sphinx-inline-tabs. Workaround for #2614. Reset RTD config to match skeleton and rely on package metadata for docs build requirements. Remove latent comment. Meant for previous commit. Section for 'find' and 'find_namespace' options is 'options.packages.find'. Fixes #2406. Bump version: 54.2.0 → 55.0.0 Officially declare pkg_resources as deprecated. Closes #2531. Bump version: 55.0.0 → 56.0.0 Copy workflows from jaraco/skeleton. Enables CI. Add blurb for distutils docs addition. Add changelog. Fix doc builds for intersphinx mapping. Supersedes #2659. Update changelog. Bump version: 56.0.0 → 56.1.0 Jeroen Ruigrok van der Werven (1): After discussing some more with Georg, do no migrate versionchanged:: 2.5 to Joshua Root (1): Relax MACOSX_DEPLOYMENT_TARGET check Jürgen Gmach (2): bpo-38914 Do not require email field in setup.py. (GH-17388) remove duplicate word KOLANICH (1): Added an .editorconfig. Pull request jaraco/skeleton#43. Karthikeyan Singaravelan (1): Set daemon attribute instead of using setDaemon method that was deprecated in Python 3.10 Kojo Idrissa (1): bpo-33071: remove outdated PyPI docs (GH-13087) Larry Hastings (1): Merge in all documentation changes since branching 3.4.0rc1. Marc Mueller (8): Tests - Fix url for pip download license_files - Add support for glob patterns + add default patterns Add documentation + changelog entries Additional test cases Change deprecation warning Small changes Refactor dist.read_pkg_file Add rfc822_unescape Mariatta (1): distutils docs: Fix a typo (GH-470) Mark Hammond (3): Issue #2513: enable 64bit cross compilation on windows. correct heading underline for new "Cross-compiling on Windows" section #2581: Vista UAC/elevation support for bdist_wininst Martin Panter (5): Issue #25161: Add full stops in documentation; patch by Takase Arihiro Issue #26638: Fix links to some CLI options and section headings Issue #26462: Doc: reduce literal_block warnings, fix syntax highlighting. Issue #26638: Mask undefined CLI options to defeat new Sphinx warnings Fix spacing after C++ in documentation Martin v. Löwis (3): Add build_py_2to3. Issue #4312: Remove claim that distutils parameters must not be Unicode. The opposite is true. Stop trying to use _xmlplus in the xml module. Closes #11164. Melissa Li (13): Add compatibility method to warn for future underscore change Modify existing tests to be compatible with future underscore change Add test for conversion warning Add test for dash preserved extras_require in setup.cfg Add changelog Update warning for dash to underscore conversion Dash to underscore compatibility Warn for uppercase usage in setup.cfg metadata Test for uppercase metadata warning Add changelog Reduce scope of dash deprecation warning to Setuptools and distutils Fix formatting of tests and change dash deprecation method name Add changelog Michael Felt (1): bpo-38021: Modify AIX platform_tag so it covers PEP 425 needs (GH-17303) Mikhail Terekhov (1): bpo-41882: Clean up after CCompiler.has_function() Miro Hrončok (5): bpo-10945: Drop support for bdist_wininst on non-Windows systems (GH-14506) bpo-36797: Fix a dead link in Doc/distutils/apiref (GH-15700) Remove bdist_wininst Filter out distutils deprecation warning until the situation is resolved Relax the distutils deprecation regex Ned Deily (1): Issue #26014: Update 3.x packaging documentation: Neil Schemenauer (1): bpo-19610: Warn if distutils is provided something other than a list to some fields (#4685) Nick Coghlan (4): Issue #19407: add Python Packaging User Guide notes Close #19407: New installation & distribution guides bpo-36797: Prune more legacy distutils documentation (GH-13092) bpo-36797: Reduce levels of indirection in outdated distutils docs (#13462) Petri Lehtinen (2): Issue #16403: Document how distutils uses the maintainer field in PKG-INFO Issue #16403: Document how distutils uses the maintainer field in PKG-INFO Pradyun Gedam (1): Convert blockquotes into literal blocks R David Murray (3): Better English. Better English. #17325: Improve distutils PyPI documentation. Ronald Oussoren (6): Issue4064: architecture string for universal builds on OSX Update the fix for issue4064 to deal correctly with all three variants of Finish support for --with-universal-archs=intel Merged revisions 74806 via svnmerge from Merged revisions 74806 via svnmerge from Merged revisions 74808 via svnmerge from Ryan Gonzalez (1): bpo-11913: Add README.rst to the distutils standard READMEs list (#563) Sanchit Khurana (1): bpo-21063: Improve module synopsis for distutils (GH-17363) Sandro Tosi (1): update to new C roles and directives Sanyam Khurana (1): bpo-25910: Link redirections in docs (#1933) Senthil Kumaran (2): Fix sphinx role markups. Back porting changeset db302b88fdb6 to 3.4 branch, which fixed multiple documentation typos. Serhiy Storchaka (8): #19196: Improved cross-references in distutils documentation. Issue #16314: Added support for the LZMA compression in distutils. Issue #25523: Further a-to-an corrections. Issue #26778: Fixed "a/an/and" typos in code comment and documentation. Issue #23921: Standardized documentation whitespace formatting. Improve highlighting of some code blocks. (GH-6401) bpo-35110: Fix unintentional spaces around hyphens and dashes. (GH-10231) bpo-35110: Fix yet few spaces before dashes. (GH-10255) Stefan Grönke (1): bpo-31569: correct PCBuild/ case to PCbuild/ in build scripts and docs (GH-3711) Stéphane Wirtel (3): bpo-33503: Fix the broken pypi link in the source and the documentation (GH-6814) bpo-34962: make doctest in Doc/ now passes, and is enforced in CI (GH-9806) bpo-35042: Use the :pep: role where a PEP is specified (#10036) Sviatoslav Sydorenko (13): Enable intersphinx to link against CPython docs Correct broken refs in distutils docs Allow some refs to undocumented/undeclared objects Introduce issue forms in the repo Use sphinx-inline-tabs from PyPI Add a change note for PR #2633 Implement `find_spec` in vendored module importers Drop deprecated `find_module` from vendor importer Use importlib.util.spec_from_loader in find_spec Drop deprecated `issue_body` from the forms Make changelog tmpl compatible w/ new towncrier Add a change note for PR #2654 🔥 Drop the Netlify configs T. Wouters (2): Fix typo in setup.py example in quickstart guide. Update quickstart.rst Tarek Ziadé (42): fixed #4394 make the storage of the password optional in .pypirc Merged revisions 68415 via svnmerge from Issue #4863, removing remaining bits Merged revisions 68933 via svnmerge from #5158: added documentation on the depends option in distutils extensions Merged revisions 69566 via svnmerge from Fixed #2279: distutils.sdist.add_defaults now add files listed in package_data and data_files Merged revisions 69692 via svnmerge from using versionchanged instead of versionadded for distutils doc on sdist default files Merged revisions 69861 via svnmerge from more info on long_description Merged revisions 70007 via svnmerge from #5583 Added optional Extensions in Distutils Merged revisions 70910 via svnmerge from Fixed #5095: msi missing from Distutils bdist formats Merged revisions 71291 via svnmerge from fixed link Merged revisions 71467 via svnmerge from Merged revisions 71467 via svnmerge from #5732: added the check command into Distutils Merged revisions 71473 via svnmerge from Fixed #6287: documentation for the license field in distutils Merged revisions 73441 via svnmerge from Merged revisions 73441 via svnmerge from #6516 added owner/group support for tarfiles in Distutils Merged revisions 75192 via svnmerge from Fixed #1180: Option to ignore ~/.pydistutils.cfg in Distutils Merged revisions 75893 via svnmerge from Issue #7457: added a read_pkg_file method to distutils.dist.DistributionMetadata so we can read back PKG-INFO files Merged revisions 76702,76704 via svnmerge from reorganized the distutils doc a bit : the MANIFEST.in template system has its own section now. This is easier to find and follow Merged revisions 76826 via svnmerge from removed documentation on code that was reverted and pushed into distutils2 upgraded distutils docs w.r.t. the manifest regeneration Merged revisions 81261 via svnmerge from Merged revisions 81261 via svnmerge from Merged revisions 81263 via svnmerge from Fixed #8909: now the doc details the size of the bitmap used in distutils' bdist_wininst Merged revisions 81788 via svnmerge from Merged revisions 81788 via svnmerge from Merged revisions 81790 via svnmerge from reverted distutils doc to its 3.1 state Terry Jan Reedy (1): Issue #21726: Remove unnecessary and contextually wrong line. TilmanK (1): bpo-35027, distutils doc: Correct note on setup.py change in Python 3.7 (GH-10032) Victor Stinner (2): bpo-21536: C extensions are no longer linked to libpython (GH-12946) bpo-37481: Deprecate distutils bdist_wininst command (GH-14553) Zachary Ware (4): Add missing parenthesis. Found by cocoatomo on docs@. Remove superfluous open parenthesis. Noticed by cocoatomo on docs@. Fix versionchanged directives Remove all mention of Windows IA-64 support (GH-3389) Zack Didcott (1): Update dependency_management.rst Zhaorong Ma (1): Doc: Fix missing bracket (GH-13163) animalize (1): Use /O2 compiler option instead of /Ox for MSVC dofuuz (3): Add Visual Studio 2017 Express detection Find VC Express 2017 explicitly, not ARM tools. Create 2663.change.rst jdemeyer (1): bpo-25592: Improve documentation of distutils data_files (GH-9767) layday (4): build_meta: produce informative error when a dist is not found fixup! build_meta: produce informative error when a dist is not found fixup! fixup! build_meta: produce informative error when a dist is not found fixup! build_meta: produce informative error when a dist is not found xdegaye (1): bpo-21536: On Android, C extensions are linked to libpython (GH-12989) Éric Araujo (56): Use a marker in generated MANIFEST files, don't touch files without it. Fixes #8688. Merged revisions 83993 via svnmerge from Fix version{added,changed} and spacing in NEWS Merged revisions 83993 via svnmerge from Manually merge r83995: Fix version{added,changed} and spacing in NEWS Fix typo Merged revisions 84050 via svnmerge from Merged revisions 84050 via svnmerge from Fix bad merge Fix wrong name in docstring and doc (#10693). Original patch by Eli Bendersky. Merged revisions 87277 via svnmerge from Merged revisions 87277 via svnmerge from Add missing read() in distutils doc. Merged revisions 88613 via svnmerge from Merged revisions 88613 via svnmerge from Merged revisions 88613 via svnmerge from Fix weird executable name Backport doc improvements for distutils.cmd.Command (#9223). Minor touch-ups in distutils.cmd.Command doc Re-add missing doc stub for the distutils check command Re-add missing doc stub for the distutils check command Branch merge Fix markup: arguments in a class directive are __init__ arguments, not base classes Fix markup: arguments in a class directive are __init__ arguments, not base classes Add documentation for the packaging module. Packaging doc: Add missing index file, improve main page description. Add examples that work on Windows to distutils docs (#1626300) Add examples that work on Windows to distutils docs (#1626300) Turn raw URI into real link Turn raw URI into real link Fix regression with distutils MANIFEST handing (#11104, #8688). Fix regression with distutils MANIFEST handing (#11104, #8688). Merge doc changes from 3.2 (#8617, #10745). Remove obsolete term + indicate how to find the program (#1626300). Fix typo in command name Remove obsolete term + indicate how to find the program (#1626300). Fix typo in command name Fix type information in distutils API reference (#9302). Document the "optional" argument of distutils’ Extension class Document the "optional" argument of distutils’ Extension class Fix type information in distutils API reference (#9302). Document the "optional" argument of distutils’ Extension class Synchronize packaging docs with distutils’ (includes fix for #9302) Fix distutils byte-compilation to comply with PEP 3147 (#11254). Hide or remove user-visible XXX notes from distutils doc (#13716). distutils 2.7’s Extension does not support optional (#13865). Hide or remove user-visible XXX notes from distutils doc (#13716). Remove packaging from the standard library. Move distutils install doc back into place. Adapt mentions of future changes in doc Ignore .nfs* files in distutils (#7719). Add versionchanged note for a56cebff113a Ignore .nfs* files in distutils (#7719). Avoid “error: None” messages from distutils (#4931). Make distutils error messages more helpful (#11599). Clarify distutils’ clean command (ref #6142)
Reimplement distutils.spawn.spawn() function with the subprocess
module.
setup.py now uses a basic implementation of the subprocess module if
the subprocess module is not available: before required C extension
modules are built.
https://bugs.python.org/issue39763