Bug 2053656 - Branch and build python-opentelemetry in EPEL9
Summary: Branch and build python-opentelemetry in EPEL9
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: python-opentelemetry
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Ben Beasley
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 2033064 2043761 2053661 2053662 2053664 2053670 2086171
Blocks: 2053650
TreeView+ depends on / blocked
 
Reported: 2022-02-11 17:23 UTC by Ben Beasley
Modified: 2022-06-02 01:52 UTC (History)
2 users (show)

Fixed In Version: python-opentelemetry-1.11.1-4.el9
Clone Of:
Environment:
Last Closed: 2022-06-02 01:52:00 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Ben Beasley 2022-02-11 17:23:09 UTC
Needed for python-xds-protos, which is a post-bootstrap dependency for grpc.

Comment 2 Ben Beasley 2022-05-15 14:00:52 UTC
Updated missing dependency assessment for opentelemetry 1.11.1:

> No matching package to install: 'python3dist(bleach) <= 4.1'

This is an upstream version pin of an indirect dependency to deal with a breaking change in 5.x. Any incompatibilities should be handled in Fedora by the package that actually requires it. Furthermore, the indirect dependency is via python3dist(readme-renderer), which we are already not generating because it is only needed if we run scripts/check_for_valid_readme.py. I will remove this direct dependency in Rawhide. 

> No matching package to install: 'python3dist(django) >= 2.2'

This comes from docs-requirements.txt, but it is used only in a documentation example that uses python3dist(opentelemetry-instrumentation-django), which is not even packaged. I will filter out the Django dependency entirely in Rawhide.

> No matching package to install: 'python3dist(flaky)'

This is used for only one test, opentelemetry-sdk/tests/metrics/test_periodic_exporting_metric_reader.py. We can skip it and patch out the dependency.

> No matching package to install: 'python3dist(opentracing) >= 2.2'

This is in testing→stable: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2022-2e3b049ae0

> No matching package to install: 'python3dist(protobuf) >= 3.18.1'

This looks like a showstopper at first glance, since EPEL9 contains only 3.14.0, but in fact this minimum version comes only from dev-requirements.txt. Since we are not re-generating the bindings from the proto files (scripts/proto_codegen.sh), we don’t need the same bleeding-edge version. Instead, we are controlled by:

opentelemetry-proto/setup.cfg
45:    protobuf>=3.13.0

exporter/opentelemetry-exporter-zipkin-proto-http/setup.cfg
44:    protobuf >= 3.12

exporter/opentelemetry-exporter-opencensus/setup.cfg
48:    protobuf >= 3.13.0

I will adjust the spec file in Rawhide to stop using the protobuf version specification in requirements-dev.txt.

> No matching package to install: 'python3dist(sphinx) >= 3.5.4'
> No matching package to install: 'python3dist(sphinx-autodoc-typehints)'
> No matching package to install: 'python3dist(sphinx-autodoc-typehints) >= 1.12'

EPEL9 has python3dist(sphinx) 3.4.3. We could (probably successfully) try to make do with that, but since we also need python3dist(sphinx-autodoc-typehints), it’s probably best to just disable the PDF documentation for EPEL9.

> No matching package to install: 'python3dist(thrift) >= 0.10'

This is needed for the python3-opentelemetry-exporter-jaeger-thrift subpackage. We can skip building that subpackage while we wait on bug 2053670.

Comment 3 Ben Beasley 2022-05-15 15:31:28 UTC
I’ve amended the Rawhide spec file to (for now) also support EPEL9 with PDF documentation and certain subpackages disabled.

> $ fedpkg --release epel9 mockbuild --enablerepo=epel-testing
> […]
> No matching package to install: 'python3dist(pytest-grpc)'
> […]
> No matching package to install: 'python3dist(typing-extensions) >= 3.7.4'

The python-pytest-grpc package will be branched and built after grpc itself.

I think I can patch out the typing-extensions dependency rather than waiting on bug 2043761 as long as no backports from Python 3.10 or later are required, but I’ll have to take some time to verify that.

EPEL9 branch requested: https://pagure.io/releng/fedora-scm-requests/issue/44449

Comment 4 Ben Beasley 2022-05-15 15:39:13 UTC
> I think I can patch out the typing-extensions dependency rather than waiting
> on bug 2043761 as long as no backports from Python 3.10 or later are
> required, but I’ll have to take some time to verify that.

It’s explicitly imported in a bunch of the .pyi files and used (only) for typing_extensions.Literal. Since typing.Literal is in the standard typing module since Python 3.8, it looks like I can patch this out if I need to. It will be fussy and annoying, but feasible. It would be better if python-typing-extensions could just be built for EPEL9 per bug 2043761.

Comment 5 Fedora Update System 2022-05-24 16:47:11 UTC
FEDORA-EPEL-2022-19e6dfa346 has been submitted as an update to Fedora EPEL 9. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2022-19e6dfa346

Comment 6 Fedora Update System 2022-05-25 02:08:30 UTC
FEDORA-EPEL-2022-19e6dfa346 has been pushed to the Fedora EPEL 9 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2022-19e6dfa346

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 7 Fedora Update System 2022-06-02 01:52:00 UTC
FEDORA-EPEL-2022-19e6dfa346 has been pushed to the Fedora EPEL 9 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.