Bug 2053630

Summary: Branch and build grpc in EPEL9
Product: [Fedora] Fedora Reporter: Ben Beasley <code>
Component: grpcAssignee: Ben Beasley <code>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: code, cquike, dan.cermak, fedoraproject
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: grpc-1.46.3-4.el9 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-06-02 01:51:52 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:
Bug Depends On: 2019691, 2024386, 2045186, 2053636, 2053643, 2053646, 2078136    
Bug Blocks: 2050438, 2053650, 2053662, 2084190    

Description Ben Beasley 2022-02-11 16:33:07 UTC
EPEL9 should contain grpc. The dependencies are nontrivial, so this will take some time, but I want to make it happen.

Comment 1 Ben Beasley 2022-02-11 16:44:11 UTC
Since grpc updates are generally ABI-incompatible, we will be more or less stuck with the initial EPEL9 release forever. Therefore, the version of grpc that is branched should be the latest one at the time of branching. That means Rawhide needs to be brought up to date first[1].

Updating grpc in Rawhide is delayed because versions of grpc after 1.41.1 have test failures related to absl::string_view, which I suspect *may* be resolved by using a current version of abseil-cpp; but the packaged version of abseil-cpp currently has a PowerPC issue[2] due to a GCC 12 bug[3]. Furthermore, the *current* version of abseil-cpp[4] has unresolved test failures on armv7hl[5]. Once all of this is fixed, abseil-cpp can be branched for EPEL9[6].

[1] https://bugzilla.redhat.com/show_bug.cgi?id=2024386
[2] https://bugzilla.redhat.com/show_bug.cgi?id=2045186
[3] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100912
[4] https://bugzilla.redhat.com/show_bug.cgi?id=2019691
[5] https://src.fedoraproject.org/rpms/abseil-cpp/pull-request/1
[6] https://bugzilla.redhat.com/show_bug.cgi?id=2053636

Comment 2 Ben Beasley 2022-02-11 17:02:34 UTC
Depends on python-gevent[1].

Depends on python-googleapis-common-protos[2]. There is a circular dependency that must be broken by doing a bootstrap build of python-googleapis-common-protos first.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=2034654
[2] https://bugzilla.redhat.com/show_bug.cgi?id=2053643

Comment 3 Ben Beasley 2022-02-11 17:13:56 UTC
Depends on python-oauth2client[1].

Depends on python-xds-protos[2], the ultimate upstream source for which is actually in the grpc repository; the dependency is circular and is broken by the bootstrap build conditional in grpc.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=2053646
[2] https://bugzilla.redhat.com/show_bug.cgi?id=2053650

Comment 4 Ben Beasley 2022-02-21 18:58:48 UTC
*** Bug 2056655 has been marked as a duplicate of this bug. ***

Comment 5 Ben Beasley 2022-05-03 20:23:41 UTC
I’m no longer blocking this on the python-gevent backport, since we can simply skip the gevent tests (controlled by the python_gevent_tests build conditional) for EPEL9 until it is ready.

I’ve resolved a couple of segfaults in the tests that appeared in 1.42.0 and have been holding up updates in Rawhide. I’m currently working on packaging 1.46.0rc2 in preparation for including 1.46.0 final in Rawhide when it is ready.

Since most of the dependencies for grpc are now available in EPEL9, I hope that I’ll be able to finally do the EPEL9 backport around the same time.

The big outstanding blocker that I know about is python-oauth2client. I’ll see if there is anything I can do to hasten that along.

Comment 6 Ben Beasley 2022-05-17 16:09:01 UTC
Update: All BuildRequires for a bootstrap build are now available in the koji buildroot for EPEL9, so I am able to do:

> $ fedpkg --release epel9 mockbuild --enablerepo=local --with bootstrap

The result is at least one protobuf-related compiler error (that doesn’t happen on Rawhide), so I still have some work to do here.

Once I have a successful bootstrap build in a COPR[1] I’ll start test-building circularly-dependent packages and ascertaining which dependencies are still missing for a full/non-bootstrap build.

[1] https://copr.fedorainfracloud.org/coprs/music/grpc-epel9/

Comment 7 Ben Beasley 2022-05-22 11:54:59 UTC
I have a successful bootstrap build in COPR, and I have requested the epel9 branch: https://pagure.io/releng/fedora-scm-requests/issue/44519

I do not yet have all of the dependencies in place for a non-bootstrap build. That’s next.

Comment 8 Ben Beasley 2022-05-23 19:54:18 UTC
In COPR, a full build is running and expected to succeed, which proves all the pieces are ready for EPEL9:

https://copr.fedorainfracloud.org/coprs/music/grpc-epel9/build/4437303/

Meanwhile, I have started the “real” bootstrap build in side tag epel9-build-side-53973:

https://koji.fedoraproject.org/koji/taskinfo?taskID=87416892

I expect to be able to submit a Bodhi update within the next day or so.

Comment 9 Ben Beasley 2022-05-24 13:43:54 UTC
The “full” non-bootstrap grpc build is running in the side tag: https://koji.fedoraproject.org/koji/taskinfo?taskID=87439954

Comment 10 Fedora Update System 2022-05-24 16:47:05 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 11 Fedora Update System 2022-05-25 02:08:23 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 12 Fedora Update System 2022-06-02 01:51:52 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.