Bug 2022855

Summary: python-chaospy FTBFS on 32-bit architectures
Product: [Fedora] Fedora Reporter: Ben Beasley <code>
Component: python-chaospyAssignee: Luis Bazan <bazanluis20>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 36CC: bazanluis20, neuro-sig
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-chaospy-4.3.5-2.fc37 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-05-06 19:11:24 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Failing build log for armv7l none

Description Ben Beasley 2021-11-12 18:27:13 UTC
Created attachment 1841482 [details]
Failing build log for armv7l

Description of problem:

While python-chaospy is a noarch package with pure-Python sources, it has architecture-dependent test failures that prevent it from building from source on 32-bit platforms (i686 and armv7hl).

Version-Release number of selected component (if applicable): 4.3.3-1


How reproducible:


Steps to Reproduce:
1. fedpkg scratch-build --srpm --arches x86_64 i686 aarch64 ppc64le s390x armv7hl

Actual results:

Builds fail on 32-bit architectures with 68 failing tests.

Expected results:

Builds succeed on all supported architectures.

Additional info:

This is the cause of intermittent failing builds in Koschei, e.g. https://koschei.fedoraproject.org/build/11532005. The build fails whenever the package is (arbitrarily, since it is noarch) assigned to a 32-bit builder.

There are a few obvious options:

  - Fix the problems causing the tests to fail, and send the patches upstream.
    This seems like it could be nontrivial, and I don’t know whether upstream
    is interested in supporting 32-bit platforms. If it proves to be practical,
    it is the best solution.

  - Decide the problems are not serious enough to block inclusion on 32-bit
    architectures. Skip the tests as follows:

      (a) Remove “BuildArch:      noarch” from the base package. This forces
          it to be built on all architectures (quickly revealing
          architecture-dependent problems like this one), and allows you to
          use %ifarch/%endif conditionals to skip tests.

      (b) Add “BuildArch:      noarch” to each subpackage (python3-chaospy
          and python-chaospy-doc), so that all of the binary RPMs are still
          noarch.

      (c) Use “%ifarch %{ix86} %{arm32}” and the -k option to %pytest to
          skip tests that fail on 32-bit architectures. A pattern I sometimes
          use is:

          %ifarch …
          k="${k-}${k+ and not }test_foo_bar"
          k="${k-}${k+ and not }(TestCaseBaz and test_bat)"
          …
          %endif
          %pytest tests -k "${k-}"

    Consider filing a bug upstream to see if they are interested in fixing
    the problems.

  - Decide the problems *are* serious enough to block inclusion on 32-bit
    architectures. Follow the example in
    https://docs.fedoraproject.org/en-US/packaging-guidelines/#_noarch_with_unported_dependencies:

    Keep “BuildArch:      noarch” in the base package, but also add
    “ExcludeArch:    %{ix86} %{arm32}”. File issues in Red Hat Bugzilla
    blocking https://bugzilla.redhat.com/show_bug.cgi?id=F-ExcludeArch-x86
    and https://bugzilla.redhat.com/show_bug.cgi?id=F-ExcludeArch-ARM, as
    prescribed by
    https://docs.fedoraproject.org/en-US/packaging-guidelines/#_architecture_build_failures.

    Consider filing a bug upstream to see if they are interested in fixing
    the problems.

    This obviously affects any dependent packages. It looks like there aren’t
    any at the moment.

Comment 1 Ben Cotton 2022-02-08 21:28:11 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 36 development cycle.
Changing version to 36.

Comment 3 Fedora Update System 2022-05-06 19:10:16 UTC
FEDORA-2022-8ce345fad0 has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2022-8ce345fad0

Comment 4 Fedora Update System 2022-05-06 19:11:24 UTC
FEDORA-2022-8ce345fad0 has been pushed to the Fedora 37 stable repository.
If problem still persists, please make note of it in this bug report.