Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 585422 - dev-perl/URI-1.710.0 stabilization
Summary: dev-perl/URI-1.710.0 stabilization
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Perl team
URL:
Whiteboard: was: =app-portage/genlop-0.30.9-r1 --...
Keywords: ALLARCHES, STABLEREQ
Depends on:
Blocks:
 
Reported: 2016-06-08 21:34 UTC by Gary E. Miller
Modified: 2016-07-10 13:15 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Gary E. Miller 2016-06-08 21:34:51 UTC
Strange error output from genlop:

pi3 ~ # genlop -c
\C is deprecated in regex; marked by <-- HERE in m/(\C <-- HERE )/ at /usr/lib/perl5/vendor_perl/5.22.2/URI/Escape.pm line 205.

 Currently merging 8 out of 11
[...]


Same error in output from 'genlop -l' and 'genlop -h'

Here is the output from the perl debugger, can't say I understand it:

pi3 ~ # perl -d /usr/bin/genlop -h

Loading DB routines from perl5db.pl version 1.49
Editor support available.

Enter h or 'h h' for help, or 'man perldebug' for more help.

\C is deprecated in regex; marked by <-- HERE in m/(\C <-- HERE )/ at /usr/lib/perl5/vendor_perl/5.22.2/URI/Escape.pm line 205.
 at /usr/lib/perl5/vendor_perl/5.22.2/URI/Escape.pm line 205.
	require URI/Escape.pm called at /usr/lib/perl5/vendor_perl/5.22.2/URI.pm line 22
	URI::BEGIN() called at /usr/lib/perl5/vendor_perl/5.22.2/URI/Escape.pm line 205
	eval {...} called at /usr/lib/perl5/vendor_perl/5.22.2/URI/Escape.pm line 205
	require URI.pm called at (eval 13)[/usr/lib/perl5/vendor_perl/5.22.2/HTTP/Message.pm:20] line 2
	eval 'require URI' called at /usr/lib/perl5/vendor_perl/5.22.2/HTTP/Message.pm line 20
	require HTTP/Message.pm called at /usr/lib/perl5/5.22.2/base.pm line 99
	eval {...} called at /usr/lib/perl5/5.22.2/base.pm line 99
	base::import("base", "HTTP::Message") called at /usr/lib/perl5/vendor_perl/5.22.2/HTTP/Request.pm line 6
	HTTP::Request::BEGIN() called at /usr/lib/perl5/vendor_perl/5.22.2/URI/Escape.pm line 205
	eval {...} called at /usr/lib/perl5/vendor_perl/5.22.2/URI/Escape.pm line 205
	require HTTP/Request.pm called at /usr/lib/perl5/vendor_perl/5.22.2/LWP/UserAgent.pm line 10
	LWP::UserAgent::BEGIN() called at /usr/lib/perl5/vendor_perl/5.22.2/URI/Escape.pm line 205
	eval {...} called at /usr/lib/perl5/vendor_perl/5.22.2/URI/Escape.pm line 205
	require LWP/UserAgent.pm called at /usr/lib/perl5/vendor_perl/5.22.2/LWP/Simple.pm line 26
	LWP::Simple::BEGIN() called at /usr/lib/perl5/vendor_perl/5.22.2/URI/Escape.pm line 205
	eval {...} called at /usr/lib/perl5/vendor_perl/5.22.2/URI/Escape.pm line 205
	require LWP/Simple.pm called at /usr/bin/genlop line 29
	main::BEGIN() called at /usr/lib/perl5/vendor_perl/5.22.2/URI/Escape.pm line 205
	eval {...} called at /usr/lib/perl5/vendor_perl/5.22.2/URI/Escape.pm line 205
main::(/usr/bin/genlop:32):	my $version  = "0.30.9";
Comment 1 Franz Trischberger 2016-06-15 06:45:32 UTC
And now (with perl-5.24.0 and stable dev-perl/URI-1.600.0-r1) it is completely broken:

 # genlop -l
\C no longer supported in regex; marked by <-- HERE in m/(\ <-- HERE C)/ at /usr/lib64/perl5/vendor_perl/5.24.0/URI/Escape.pm line 205.
Compilation failed in require at /usr/lib64/perl5/vendor_perl/5.24.0/URI.pm line 22.
BEGIN failed--compilation aborted at /usr/lib64/perl5/vendor_perl/5.24.0/URI.pm line 22.
Compilation failed in require at (eval 13) line 2.
Compilation failed in require at /usr/lib64/perl5/5.24.0/base.pm line 100.
        ...propagated at /usr/lib64/perl5/5.24.0/base.pm line 109.
BEGIN failed--compilation aborted at /usr/lib64/perl5/vendor_perl/5.24.0/HTTP/Request.pm line 6.
Compilation failed in require at /usr/lib64/perl5/vendor_perl/5.24.0/LWP/UserAgent.pm line 10.
BEGIN failed--compilation aborted at /usr/lib64/perl5/vendor_perl/5.24.0/LWP/UserAgent.pm line 10.
Compilation failed in require at /usr/lib64/perl5/vendor_perl/5.24.0/LWP/Simple.pm line 26.
BEGIN failed--compilation aborted at /usr/lib64/perl5/vendor_perl/5.24.0/LWP/Simple.pm line 26.
Compilation failed in require at /usr/bin/genlop line 29.
BEGIN failed--compilation aborted at /usr/bin/genlop line 29.

After updating dev-perl/URI to 1.710.0 it is working again and also the deprecation warning is gone.

So please update the DEP. Possibly block >=dev-lang/perl-5.24 in <dev-perl/URI-1.700 (or whichever combination started to warn/misbehave)?
Comment 2 Jonas Stein gentoo-dev 2016-06-15 12:18:49 UTC
Franz, thank you for the report.
Comment 3 Brian Dolbec (RETIRED) gentoo-dev 2016-06-15 14:53:05 UTC
Perl team, since I do not know perl at all, is this easily fixable in the code?

Genlop is used by a large number of users.  

I will use whatever advice/fixes you can offer.
Comment 4 Franz Trischberger 2016-06-15 17:08:58 UTC
(In reply to Brian Dolbec from comment #3)
> Perl team, since I do not know perl at all, is this easily fixable in the
> code?
> 
> Genlop is used by a large number of users.  
> 
> I will use whatever advice/fixes you can offer.

As I see it this is not an issue genlop can fix. Old dev-perl/URI simply isn't compatible with newer perl, so IMHO there should be a block somewhere. It fails while requiring URI/Encode in this line:

return join '', @URI::Escape::escapes{$_[0] =~ /(\C)/g};

Here is the "\C"...
Comment 5 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2016-06-16 02:25:13 UTC
Given the problem is in URI::Escape, and is fixed by URI.pm (In reply to Brian Dolbec from comment #3)
> Perl team, since I do not know perl at all, is this easily fixable in the
> code?

The "Fix" is to simply either: 

a) Have some dependency graph from genlop pull URI >= 1.62 when Perl >= 5.24

b) Stabilize some version of URI >= 1.62 and nuke <= 1.62


"a" seems like the most "technically correct" option.
But "b" is the most pragmatic option that would work with the least amount of effort.

1.62 : https://metacpan.org/changes/distribution/URI#L92-99
Comment 6 Andreas K. Hüttel archtester gentoo-dev 2016-06-19 23:42:54 UTC
dev-perl/URI-1.710.0 stabilization: please do
Target: all stable arches
Comment 7 Tobias Klausmann (RETIRED) gentoo-dev 2016-06-20 10:39:27 UTC
Stable on alpha.
Comment 8 Markus Meier gentoo-dev 2016-06-21 18:37:34 UTC
arm stable
Comment 9 Andreas K. Hüttel archtester gentoo-dev 2016-07-10 13:15:31 UTC
commit 00f4a89466165176ffbaecf40471e067f1584aef
Author: Andreas K. Hüttel <dilfridge@gentoo.org>
Date:   Sun Jul 10 15:13:40 2016 +0200

    dev-perl/URI: Retroactively stable for remaining arches (ALLARCHES), bug 585422
    
    Package-Manager: portage-2.3.0

 dev-perl/URI/URI-1.710.0.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)