Skip to content

Architecture validation is too restrictive #650

@sgaist

Description

@sgaist

Commit be25401 enabled architecture specific dependencies however the current implementation breaks python package handling (maybe others).

Expected Behavior

Installing noarch python package should work on all supported architectures.

Current Behavior

Since 2.17.0, noarch packages can only be installed on amd64. However arm64 is also a valid target which does not work anymore.

Possible Solution

Two possible solutions:

  • Make (and document) a list of officially supported architectures and add arm64 to it.
  • If dependency.Arch is empty, don't check the system architecture.

Steps to Reproduce

  1. Clone the pip buildpack
  2. Update go.mod using go mod tidy
  3. Build the buildpack ./scripts/package.sh --version 99
  4. Create a dummy python project containing a requirements.txt file
  5. Use pack to build the project using the custom pip buildpack pack build my-test-project --builder paketobuildpacks/builder-jammy-base --path . --verbose --buildpack paketo-buildpacks/cpython --buildpack ~/buildpacks/pip/build/buildpackage.cnb --buildpack paketo-buildpacks/python-start

Motivations

This new check breaks at least the pip buildpack on non amd64 architectures.
It also breaks my current work on the python buildpacks consolidation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions