Skip to content
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

gh-104692: Include commoninstall as a prerequisite for bininstall #104693

Merged
merged 2 commits into from Jun 7, 2023

Conversation

jefferyto
Copy link
Contributor

@jefferyto jefferyto commented May 20, 2023

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.

@bedevere-bot
Copy link

Most changes to Python require a NEWS entry.

Please add it using the blurb_it web app or the blurb command-line tool.

@cpython-cla-bot
Copy link

cpython-cla-bot bot commented May 20, 2023

All commit authors signed the Contributor License Agreement.
CLA signed

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.
jefferyto added a commit to jefferyto/openwrt-packages that referenced this pull request May 20, 2023
When doing parallel builds, host Python can install the python3 symlink
before the Python standard library is installed completely.

When this occurs, it is possible for other packages to detect the
python3 symlink and try to use host Python before it is fully installed.

This adds a patch to make commoninstall (where the standard library is
installed) a prerequisite of bininstall (where the python3 symlink is
installed), so that commoninstall is fully completed before bininstall
begins.

Patch has been submitted upstream:
python/cpython#104693

Fixes: openwrt#19241

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
@arhadthedev arhadthedev added build The build process and cross-build needs backport to 3.11 bug and security fixes labels May 20, 2023
@corona10 corona10 requested a review from zware May 21, 2023 09:23
jefferyto added a commit to jefferyto/openwrt-packages that referenced this pull request May 22, 2023
When doing parallel builds, host Python can install the python3 symlink
before the Python standard library is installed completely.

When this occurs, it is possible for other packages to detect the
python3 symlink and try to use host Python before it is fully installed.

This adds a patch to make commoninstall (where the standard library is
installed) a prerequisite of bininstall (where the python3 symlink is
installed), so that commoninstall is fully completed before bininstall
begins.

Patch has been submitted upstream:
python/cpython#104693

Fixes: openwrt#19241

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
jefferyto added a commit to jefferyto/openwrt-packages that referenced this pull request May 23, 2023
When doing parallel builds, host Python can install the python3 symlink
before the Python standard library is installed completely.

When this occurs, it is possible for other packages to detect the
python3 symlink and try to use host Python before it is fully installed.

This adds a patch to make commoninstall (where the standard library is
installed) a prerequisite of bininstall (where the python3 symlink is
installed), so that commoninstall is fully completed before bininstall
begins.

Patch has been submitted upstream:
python/cpython#104693

Fixes: openwrt#19241

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
neheb pushed a commit to openwrt/packages that referenced this pull request May 24, 2023
When doing parallel builds, host Python can install the python3 symlink
before the Python standard library is installed completely.

When this occurs, it is possible for other packages to detect the
python3 symlink and try to use host Python before it is fully installed.

This adds a patch to make commoninstall (where the standard library is
installed) a prerequisite of bininstall (where the python3 symlink is
installed), so that commoninstall is fully completed before bininstall
begins.

Patch has been submitted upstream:
python/cpython#104693

Fixes: #19241

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
jefferyto added a commit to jefferyto/openwrt-packages that referenced this pull request May 24, 2023
When doing parallel builds, host Python can install the python3 symlink
before the Python standard library is installed completely.

When this occurs, it is possible for other packages to detect the
python3 symlink and try to use host Python before it is fully installed.

This adds a patch to make commoninstall (where the standard library is
installed) a prerequisite of bininstall (where the python3 symlink is
installed), so that commoninstall is fully completed before bininstall
begins.

Patch has been submitted upstream:
python/cpython#104693

Fixes: openwrt#19241

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
(cherry picked from commit 67e47f1)
jefferyto added a commit to jefferyto/openwrt-packages that referenced this pull request May 24, 2023
When doing parallel builds, host Python can install the python3 symlink
before the Python standard library is installed completely.

When this occurs, it is possible for other packages to detect the
python3 symlink and try to use host Python before it is fully installed.

This adds a patch to make commoninstall (where the standard library is
installed) a prerequisite of bininstall (where the python3 symlink is
installed), so that commoninstall is fully completed before bininstall
begins.

Patch has been submitted upstream:
python/cpython#104693

Fixes: openwrt#19241

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
(cherry picked from commit 67e47f1)
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
graysky2 pushed a commit to graysky2/packages that referenced this pull request May 25, 2023
When doing parallel builds, host Python can install the python3 symlink
before the Python standard library is installed completely.

When this occurs, it is possible for other packages to detect the
python3 symlink and try to use host Python before it is fully installed.

This adds a patch to make commoninstall (where the standard library is
installed) a prerequisite of bininstall (where the python3 symlink is
installed), so that commoninstall is fully completed before bininstall
begins.

Patch has been submitted upstream:
python/cpython#104693

Fixes: openwrt#19241

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
@zware zware added the needs backport to 3.12 bug and security fixes label May 30, 2023
Makefile.pre.in Show resolved Hide resolved
Add an explanation for why commoninstall is made a prerequisite of bininstall.

Co-authored-by: Zachary Ware <zachary.ware@gmail.com>
@ambv ambv merged commit 990cb36 into python:main Jun 7, 2023
21 checks passed
@miss-islington
Copy link
Contributor

Thanks @jefferyto for the PR, and @ambv for merging it 🌮🎉.. I'm working now to backport this PR to: 3.11, 3.12.
🐍🍒🤖 I'm not a witch! I'm not a witch!

@miss-islington
Copy link
Contributor

Sorry @jefferyto and @ambv, I had trouble checking out the 3.12 backport branch.
Please retry by removing and re-adding the "needs backport to 3.12" label.
Alternatively, you can backport using cherry_picker on the command line.
cherry_picker 990cb3676c2edb7e5787372d6cbe360a73367f4c 3.12

@miss-islington
Copy link
Contributor

Sorry, @jefferyto and @ambv, I could not cleanly backport this to 3.11 due to a conflict.
Please backport using cherry_picker on command line.
cherry_picker 990cb3676c2edb7e5787372d6cbe360a73367f4c 3.11

jefferyto added a commit to jefferyto/cpython that referenced this pull request Jun 7, 2023
…ininstall (pythonGH-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>
(cherry picked from commit 990cb36)

Co-authored-by: Jeffery To <jeffery.to@gmail.com>
@bedevere-bot
Copy link

GH-105428 is a backport of this pull request to the 3.12 branch.

@bedevere-bot
Copy link

GH-105429 is a backport of this pull request to the 3.11 branch.

@bedevere-bot bedevere-bot removed the needs backport to 3.11 bug and security fixes label Jun 7, 2023
@bedevere-bot
Copy link

GH-105428 is a backport of this pull request to the 3.12 branch.

jefferyto added a commit to jefferyto/cpython that referenced this pull request Jun 7, 2023
…ininstall (pythonGH-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>.
(cherry picked from commit 990cb36)

Co-authored-by: Jeffery To <jeffery.to@gmail.com>
@bedevere-bot
Copy link

GH-105429 is a backport of this pull request to the 3.11 branch.

@jefferyto jefferyto deleted the gh-104692 branch June 7, 2023 09:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build The build process and cross-build
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants