You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Don't run regen-sbom in regen-all - it requires internet access #114240
make regen-all should be possible to run when building without the internet access. regen-sbom hits PyPI to determine pip's metadata and exits if not successful, so it shouldn't be a part of the regen-all target.
In previous cases like this, the problematic targets were removed (#112120)
@befeleme Apologies for the added friction! I would like to keep regen-sbom as a part of regen-all, I can make the generate_sbom.py script more resilient in the case of no internet connection and reuse pip's SBOM entry in that case.
However, we sometimes don't remove the ensurepip pip wheel. E.g. when we bootstrap new Python version or when the particular pip wheel version for a Fedora release is too old (or too new) for the given Python version. This happens for example with Python 3.12 on Fedora Linux 38 (our oldest still supported release). When we tried to update to 3.12.2, we had this combination:
we run the builds offline
we keep the ensurepip pip wheel
That is when we have experienced the error.
The same problem will likely happen when we try to update to 3.13.0a4 in Fedora Linux 38, unless fixed before the release.
Apologies @hroncok, this would get fixed by moving the entire pip discovery process into the python/release-tools repository, something that I want to do for other reasons too.
Activity
erlend-aasland commentedon Jan 18, 2024
Note that
make regen-configurehas required internet access for quite a while; this is nothing new.sethmlarson commentedon Jan 18, 2024
@befeleme Apologies for the added friction! I would like to keep
regen-sbomas a part ofregen-all, I can make thegenerate_sbom.pyscript more resilient in the case of no internet connection and reuse pip's SBOM entry in that case.sethmlarson commentedon Jan 18, 2024
I've implemented my proposal in this PR: #114255
befeleme commentedon Jan 19, 2024
It is, but it's not a part of
make regen-alltarget, see: https://github.com/python/cpython/blob/main/Makefile.pre.in#L137000418: Don't generate sbom in make regen-all
00418: Don't generate sbom in make regen-all
hroncok commentedon Feb 7, 2024
This is still not working as expected. When the build happens offline:
This behavior was released in Python 3.12.2.
hroncok commentedon Feb 7, 2024
The problem is from https://github.com/python/cpython/pull/114450/files#r1482058937
hroncok commentedon Feb 7, 2024
To clarify ours (= Fedora, i.e. including @befeleme) use case:
/usr/share/python-wheelsThat combination indeed works, as was confirmed by @befeleme in #114450 (comment)
However, we sometimes don't remove the ensurepip pip wheel. E.g. when we bootstrap new Python version or when the particular pip wheel version for a Fedora release is too old (or too new) for the given Python version. This happens for example with Python 3.12 on Fedora Linux 38 (our oldest still supported release). When we tried to update to 3.12.2, we had this combination:
That is when we have experienced the error.
The same problem will likely happen when we try to update to 3.13.0a4 in Fedora Linux 38, unless fixed before the release.
sethmlarson commentedon Feb 7, 2024
Apologies @hroncok, this would get fixed by moving the entire pip discovery process into the python/release-tools repository, something that I want to do for other reasons too.
I've created this issue to track that work.
00418: Don't generate sbom in make regen-all
00418: Don't generate sbom in make regen-all