Bug 2053630 - Branch and build grpc in EPEL9
Summary: Branch and build grpc in EPEL9
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: grpc
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Ben Beasley
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 2056655 (view as bug list)
Depends On: 2019691 2024386 2045186 2053636 2053643 2053646 2078136
Blocks: 2084190 2050438 2053650 2053662
TreeView+ depends on / blocked
 
Reported: 2022-02-11 16:33 UTC by Ben Beasley
Modified: 2022-06-02 01:51 UTC (History)
4 users (show)

Fixed In Version: grpc-1.46.3-4.el9
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-06-02 01:51:52 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

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.


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