Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 735004

Summary: virtual/perl-libnet should PDEPEND dev-perl/IO-Socket-SSL with USE="ssl"
Product: Gentoo Linux Reporter: Kent Fredric (IRC: kent\n) (RETIRED) <kentnl>
Component: Current packagesAssignee: Gentoo Perl team <perl>
Status: RESOLVED FIXED    
Severity: normal CC: wgh
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=739452
Whiteboard:
Package list:
Runtime testing required: ---

Description Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2020-08-01 02:02:41 UTC
As recently found on an undisclosed gentoo channel, various git processes need SSL to work.

> Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): y
> Not using SSL_VERIFY_PEER due to out-of-date IO::Socket::SSL.
> To use SSL please install IO::Socket::SSL with version>=2.007 at /usr/lib64/perl5/5.30.3/Net/SMTP.pm line 268.

In the old days, where they used Net-SMTP-SSL, this was fine.

In the old days, even when git code didn't use Net-SMTP-SSL, but still depended on Net-SMTP-SSL, this was fine, due to the pull dep of IO-Socket-SSL

However, Net::SMTP (in perl itself) inhaled "support" for doing SSL SMTP stuff, Net-SMTP-SSL was officially deprecated, and Git moved to using that.

But its a "weak" optional dep, in that, the code just doesn't support SSL stuff without it, and barfs when you try.

And this means on systems without IO-Socket-SSL, `git send-email` is broken, and due to the change in dependencies, this is currently highly likely to occur if you depclean anything.

Subsequently, unless git forces IO-Socket-SSL into the dep graph, send-email can't work, ( though will continue to work if you USE="subversion" due to the libwww-perl dep )

And it seems rather strange for git to *directly* depend on IO-Socket-SSL, given it is now an indirect dependency.

But we can't really stuff this into perl with a USE flag on dev-lang/perl, as this would be prohibitive for stabilization and keywording and everything.

Instead, I propose that we add a PDEPEND to virtual/perl-libnet, who's job it is to make sure Net::SMTP is installed, which ensures IO-Socket-SSL is installed with USE="ssl"

Then, git can simply depend on that however it likes, with whatever USE flag gating it wants.

This is overall not a great thing still, given how IO-Socket-SSL has in the past been a difficult target for arches to keyword, exacerbated by the openssl-vs-libressl thing, which requires profile hackery for all arches who can't/don't want to support libressl

But at least by putting it in libnet, not perl-itself, the scope of *users* who are forced to install this are minimized.

This bug *probably* affects dev-perl/Email-Sender too.
Comment 1 Larry the Git Cow gentoo-dev 2020-08-28 19:55:55 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3190c92ccaed20eb0edf154b76407e71d551ad95

commit 3190c92ccaed20eb0edf154b76407e71d551ad95
Author:     Kent Fredric <kentnl@gentoo.org>
AuthorDate: 2020-08-28 19:55:23 +0000
Commit:     Kent Fredric <kentnl@gentoo.org>
CommitDate: 2020-08-28 19:55:42 +0000

    virtual/perl-libnet: PDEPEND dev-perl/IO-Socket-SSL re bug #735004
    
    This is necessary due to Net::SMTP having ssl mechanics, that don't work
    unless IO-Socket-SSL is available.
    
    However, adding this dep presently drops support for m68k and m68k-mint
    due to those arches not keeping on top of keywording for IO-Socket-SSL
    
    Bug: https://bugs.gentoo.org/735004
    Package-Manager: Portage-2.3.103, Repoman-2.3.22
    Signed-off-by: Kent Fredric <kentnl@gentoo.org>

 virtual/perl-libnet/perl-libnet-3.110.0-r4.ebuild | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
Comment 2 Larry the Git Cow gentoo-dev 2021-05-02 12:52:04 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b1f2f5332ca6f4efb6a1afb916f1a1afe82c85ca

commit b1f2f5332ca6f4efb6a1afb916f1a1afe82c85ca
Author:     Andreas K. Hüttel <dilfridge@gentoo.org>
AuthorDate: 2021-05-02 12:42:03 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: 2021-05-02 12:51:42 +0000

    virtual/perl-libnet: stable for all
    
    Closes: https://bugs.gentoo.org/735004
    Package-Manager: Portage-3.0.18, Repoman-3.0.2
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 virtual/perl-libnet/perl-libnet-3.110.0-r4.ebuild | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)