-
Notifications
You must be signed in to change notification settings - Fork 271
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
python 3.13 transition #37197
Comments
I put together a little python script find-pythons that searches build/run/test depends for un-versiondd python packages. The packages below were found to have some. The full output of that tool is python-rdeps.txt . The output lists where the dependency is (run/test/build as well as how many).
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Last week we bumped the 'provider priority' value for the python 3.13 subpackage of packages named 'py3-'.
That is to say that before last week, if you did
apk add py3-lxml
you'd end up with the python-3.12 version, a package namedpy3.12-lxml
. This week, you'd end up withpy3.13-lxml
and its dependencies installed.There are several packages that have an un-versioned python package listed as a build-depends, runtime-dependency or test dependency. Many of these packages will now be broken either in runtime or in the next build for reasons such as:
/usr/lib/python3.12/site-packages
or a virtual env'slib/python3.12/site-packages
using 'python' or 'python3' to do the install.python3
orpython3-dev
package , but does not support python-3.13I searched through existing melange files for use of un-versioned python 3 packages.
There are very few cases where an un-versioned python dependency (
python3-dev
rather thanpython-3.XX-dev
) should be used. Those are mostly limited to:python3
and no other python packages.To update packages, follow these bullet points:
Remove
python-3
andpython-3-dev
references. Either replace them withpython3
orpython3-dev
. In almost all cases,python3
should not be listed in the runtime or test dependencies.Packages that simply use
python
orpython3
in their build environment but do not produce packages with python files can continue to usepython3
.If
python3
is listed only in the build environment (not elsewhere), you may well be able to just delete it. If another package in the build environment needs python, it should be pulled in.If a package has more than one python package (py3-) in its build environment, it should pick a specific version (3.13 if supported) and list the dependencies with
py${{vars.py-version}}-pkg
. This will guarantee that the dependencies are installed at a consistent version.If there are more than one python build package (setuptools, wheel...) listed in the build environment, then replace those with
py3.XX-build-base
, then use the build-base package.If a package has anything other than
python3
listed in its runtime depends, or it uses a virtual env, then it needs to pick a specific python version.If the build uses
python3
orpython
by name, the easiest thing to do isto use a
python-as-wrapper
package to provide that executable.Add python-as-wrapper package and use it in asciidoc build. #36891 . It ensures that shbang will get
the correct executable value, and melange will then generate the correct
dependendency.
Where 'pick a specific version' is mentioned above, the preferred mechanism for
doing so is to use
py-version
variable.The text was updated successfully, but these errors were encountered: