Avoid cryptography sdist during Poetry bootstrap on s390x and ppc64le

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Done
    • Priority: Major - P3
    • 9.0.1, 9.0.2
    • Affects Version/s: None
    • Component/s: None
    • None
    • DevProd Build
    • ALL
    • v9.0
    • 0
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Problem

      The compile_mongor task on the enterprise-rhel-83-s390x build variant failed in BF-45881 while creating the Poetry virtual environment.

      The bootstrap command runs:

      python -m pip install -r poetry_requirements.txt
      

      Because the requirements file specifies cryptography~=44.0.2, pip selected cryptography-44.0.3.tar.gz on s390x and attempted a PEP 517 metadata build. The build failed because the host did not have the stable-s390x-unknown-linux-gnu Rust toolchain installed.

      Root Cause

      The platform-specific prebuilt cryptography wheels configured in pyproject.toml and poetry.lock are applied only during the later Poetry dependency installation. They do not affect the independent pip bootstrap installation. The same task succeeded on another host with the same distro, indicating that relying on host Rust state is non-hermetic.

      Proposed Fix

      Update poetry_requirements.txt so that:

      • s390x installs the existing cryptography-44.0.2-cp37-abi3-manylinux_2_28_s390x.whl directly.
      • ppc64le installs the existing cryptography-44.0.2-cp37-abi3-manylinux_2_28_ppc64le.whl directly.
      • Other platforms continue to use the PyPI wheel, pinned to 44.0.2.
      • The direct wheel requirements include SHA-256 hashes.

      Acceptance Criteria

      • Poetry bootstrap succeeds on s390x without invoking a cryptography sdist or requiring Rust/rustup on the host.
      • Poetry bootstrap succeeds on ppc64le using the corresponding prebuilt wheel.
      • Existing x86_64 and aarch64 bootstrap behavior remains functional.
      • The requirements file passes repository formatting/static validation.

            Assignee:
            Daniel Moody
            Reporter:
            Daniel Moody
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: