diff options
author | Jeffery To <jeffery.to@gmail.com> | 2023-06-07 06:59:56 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-07 06:59:56 (GMT) |
commit | 990cb3676c2edb7e5787372d6cbe360a73367f4c (patch) | |
tree | ad81309511fa7022916b28a9c491454da6515783 | |
parent | 81c81328a4fa13fead6f8cc9053a1a32a62a0279 (diff) | |
download | cpython-990cb3676c2edb7e5787372d6cbe360a73367f4c.zip cpython-990cb3676c2edb7e5787372d6cbe360a73367f4c.tar.gz cpython-990cb3676c2edb7e5787372d6cbe360a73367f4c.tar.bz2 |
gh-104692: Include commoninstall as a prerequisite for bininstall (#104693)
This ensures that `commoninstall` is completed before `bininstall` is
started when parallel builds are used (`make -j install`), and so the
`python3` symlink is only installed after all standard library modules
are installed.
Co-authored-by: Zachary Ware <zachary.ware@gmail.com>
-rw-r--r-- | Makefile.pre.in | 6 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Build/2023-05-20-23-49-30.gh-issue-104692.s5UIu5.rst | 6 |
2 files changed, 11 insertions, 1 deletions
diff --git a/Makefile.pre.in b/Makefile.pre.in index ae428eb..a9c53ba 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -2017,7 +2017,11 @@ altbininstall: $(BUILDPYTHON) @FRAMEWORKPYTHONW@ fi .PHONY: bininstall -bininstall: altbininstall +# We depend on commoninstall here to make sure the installation is already usable +# before we possibly overwrite the global 'python3' symlink to avoid causing +# problems for anything else trying to run 'python3' while we install, particularly +# if we're installing in parallel with -j. +bininstall: commoninstall altbininstall if test ! -d $(DESTDIR)$(LIBPC); then \ echo "Creating directory $(LIBPC)"; \ $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$(LIBPC); \ diff --git a/Misc/NEWS.d/next/Build/2023-05-20-23-49-30.gh-issue-104692.s5UIu5.rst b/Misc/NEWS.d/next/Build/2023-05-20-23-49-30.gh-issue-104692.s5UIu5.rst new file mode 100644 index 0000000..2936990 --- /dev/null +++ b/Misc/NEWS.d/next/Build/2023-05-20-23-49-30.gh-issue-104692.s5UIu5.rst @@ -0,0 +1,6 @@ +Include ``commoninstall`` as a prerequisite for ``bininstall`` + +This ensures that ``commoninstall`` is completed before ``bininstall`` +is started when parallel builds are used (``make -j install``), and so +the ``python3`` symlink is only installed after all standard library +modules are installed. |