os icon indicating copy to clipboard operation
os copied to clipboard

python-3.10, python-3.11, python-3.12, python-3.13: Add missing cmd provides (P0)

Open dakaneye opened this issue 7 months ago • 0 comments

Summary

This PR fixes a P0 issue where APKO builds were resolving to ancient Python versions (e.g., python-3.12=3.12.2-r6) instead of current versions (e.g., 3.12.10-r1).

Root Cause

The python-3.XX-base subpackages were missing critical cmd: provides entries that APKO uses for package resolution. When packages like numpy request cmd:python3.12, APKO couldn't find it in the current packages and fell back to very old versions that still had these provides.

This was an oversight from the March 2024 refactoring where the Python binaries were moved from the main package to the -base subpackage, but the provides metadata wasn't updated accordingly.

Changes

Added the following provides to all python-3.XX-base subpackages (3.10, 3.11, 3.12, 3.13):

provides:
  - cmd:python${{vars.pyversion}}=${{package.full-version}}
  - cmd:pydoc${{vars.pyversion}}=${{package.full-version}}

Also incremented the epoch for all affected packages to ensure updates are applied.

Testing

  • Verified that the binaries exist in the -base subpackages

Related to #12590

Impact

This is a P0 issue affecting production images including:

  • management-api-for-apache-cassandra-4.1
  • py3-cassandra-medusa
  • Other images that depend on specific Python versions via cmd: provides

dakaneye avatar May 28 '25 23:05 dakaneye