Bug 1830319

Summary: libgit2 missing libssh2 support in EL8
Product: Red Hat Enterprise Linux 8 Reporter: Jeroen <jeroenooms>
Component: libgit2Assignee: Brian Lane <bcl>
Status: CLOSED WONTFIX QA Contact: Release Test Team <release-test-team-automation>
Severity: high Docs Contact:
Priority: unspecified    
Version: 8.3   
Target Milestone: rc   
Target Release: 8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-05-01 18:20:35 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:

Description Jeroen 2020-05-01 15:21:01 UTC
## Description of problem:

On EL 8, libgit2 has been build without support for SSH transport (cloning and pushing over ssh). This require a dependency on libssh2-devel.

Support for SSH remotes is really an essential feature for working with git. It has been enabled in all other distributions, and is also working in EL7.


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

Name         : libgit2-devel
Version      : 0.26.8
Release      : 1.el8

Comment 1 Brian Lane 2020-05-01 18:20:27 UTC
This was a deliberate decision, RHEL8 does not ship libssh2 (for security reasons IIRC) so we would have had to port libgit2 to a different library, and since libgit2 is primarily used for lorax-composer which doesn't need remote support it wasn't worth the effort to do that.

Comment 2 RHEL Program Management 2020-05-01 18:20:35 UTC
Development Management has reviewed and declined this request. You may appeal this decision by reopening this request.

Comment 3 Jeroen 2020-05-01 19:15:00 UTC
Wow that sucks. It's incorrect that "libgit2 is primarily used for lorax-composer and doesn't need remote support". The libgit2 library is used extensively in in scripting languages like Python, R, and Rust, both for low-level bindings as well as more complicated applications. In the case of Rust it is even part of the core language.

I maintain libgit2 bindings for R myself which are used by many researchers and students to checkout code and data via git. Dropping ssh/remote support effectively makes EL8 unusable for most R users.

Comment 4 Brian Lane 2020-05-01 20:33:58 UTC
(In reply to Jeroen from comment #3)
> Wow that sucks. It's incorrect that "libgit2 is primarily used for
> lorax-composer and doesn't need remote support". The libgit2 library is used
> extensively in in scripting languages like Python, R, and Rust, both for
> low-level bindings as well as more complicated applications. In the case of
> Rust it is even part of the core language.

FWIW I was speaking in terms of RHEL 8, not in general.

Comment 5 Jeroen 2020-05-01 20:54:53 UTC
Is there some way I can request this decision to be reconsidered? Libgit2 is an important library for many users and applications.

If libgit2 would not be in RHEL at all would also solve the situation, then at least we could provide it via EPEL which also has libssh2. But having libgit2 in RHEL but without libssh2 support, is very unfortunate.

Comment 6 Brian Lane 2020-05-02 00:16:09 UTC
There are multiple things to consider when adding features to RHEL, long term maintenance and security being 2 of the big ones. And we can't have libgit2 in EPEL when packages in BaseOS and AppStream depend on them, so that's also not possible.

I should also note that I did not drop support for libssh2 in RHEL8, it was never present so it is very unlikely to be added at this point.