Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 517894 - app-portage/g-cpan-0.16.5 stabilization
Summary: app-portage/g-cpan-0.16.5 stabilization
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Keywording and Stabilization (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Robin Johnson
URL:
Whiteboard: was: g-cpan incompatible with perl 5.18
Keywords: STABLEREQ
Depends on:
Blocks: perl-5.18-stable
  Show dependency tree
 
Reported: 2014-07-23 19:27 UTC by Tim Buchheim
Modified: 2014-09-11 12:18 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 Tim Buchheim 2014-07-23 19:27:41 UTC
g-cpan crashes under Perl 5.18.  The problem is that Perl 5.18 changes the way the qw() quoting construct works, so you can no longer write code like "foreach $x qw(a b c)". You now have to use "foreach $x (qw(a b c))" instead  Both g-cpan and the Gentoo::CPAN module need a few instances of this changed.

Reproducible: Always

Steps to Reproduce:
1. run g-cpan (with any arguments, or none. It doesn't matter.)

Actual Results:  
"my" variable $arr masks earlier declaration in same scope at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 325.
"my" variable $type masks earlier declaration in same statement at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 325.
"my" variable $ar_type masks earlier declaration in same statement at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 326.
"my" variable $module masks earlier declaration in same statement at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 327.
"my" variable $module masks earlier declaration in same statement at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 328.
"my" variable $module masks earlier declaration in same scope at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 330.
"my" variable $module masks earlier declaration in same scope at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 331.
"my" variable $module_name masks earlier declaration in same scope at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 332.
"my" variable $module masks earlier declaration in same scope at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 333.
"my" variable $ar_type masks earlier declaration in same statement at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 333.
"my" variable $module masks earlier declaration in same statement at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 333.
Variable "$abs_path" is not imported at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 345.
	(Did you mean &abs_path instead?)
"my" variable $b_dir masks earlier declaration in same scope at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 379.
Variable "$abs_path" is not imported at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 379.
	(Did you mean &abs_path instead?)
Variable "$abs_path" is not imported at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 380.
	(Did you mean &abs_path instead?)
"my" variable $makefile masks earlier declaration in same scope at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 382.
"my" variable %p masks earlier declaration in same scope at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 383.
"my" variable $fh masks earlier declaration in same scope at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 384.
syntax error at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 324, near "$type qw(configure_requires requires build_requires recommends)"
syntax error at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 337, near "}"
Global symbol "$object" requires explicit package name at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 339.
Global symbol "$abs_path" requires explicit package name at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 345.
Global symbol "$module_name" requires explicit package name at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 365.
Global symbol "$self" requires explicit package name at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 367.
Global symbol "$module_name" requires explicit package name at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 367.
syntax error at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 374, near "}"
Global symbol "$object" requires explicit package name at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 375.
Global symbol "$abs_path" requires explicit package name at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 379.
Global symbol "$abs_path" requires explicit package name at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 380.
syntax error at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm line 386, near "$type qw(requires configure_requires build_requires)"
/usr/lib64/perl5/vendor_perl/5.18.2/Gentoo/CPAN.pm has too many errors.
Compilation failed in require at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo.pm line 13.
BEGIN failed--compilation aborted at /usr/lib64/perl5/vendor_perl/5.18.2/Gentoo.pm line 13.
Compilation failed in require.
BEGIN failed--compilation aborted.


Expected Results:  
It ought to work the same way it always did.


Gentoo::CPAN needs two changes: the use of qw() needs to be changed to (qw()) on lines 324 and 386. g-cpan needs a similar change on line 716.

I can make a proper diff to feed into patch if you really need it.
Comment 1 Andreas K. Hüttel archtester gentoo-dev 2014-07-23 19:46:25 UTC
Please do, if you want you can also make a github pull request. 
https://github.com/gentoo-perl/g-cpan
Comment 2 Andreas K. Hüttel archtester gentoo-dev 2014-07-23 19:47:46 UTC
Which g-cpan version is this?
Comment 3 Andreas K. Hüttel archtester gentoo-dev 2014-07-23 20:55:45 UTC
Actually, this should already be fixed in ~arch g-cpan...
(Technically this is a dupe of bug 424657)

Arches please stabilize app-portage/g-cpan-0.16.5
Target: all stable arches
Comment 4 Tobias Klausmann (RETIRED) gentoo-dev 2014-07-24 09:47:43 UTC
Stable on alpha.
Comment 5 Markus Meier gentoo-dev 2014-08-01 08:30:53 UTC
arm stable
Comment 6 Jeroen Roovers (RETIRED) gentoo-dev 2014-08-05 14:47:26 UTC
Stable for HPPA.
Comment 7 Mikle Kolyada (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2014-08-14 13:19:20 UTC
x86 stable
Comment 8 Mikle Kolyada (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2014-09-10 17:33:35 UTC
sparc stable
Comment 9 Mikle Kolyada (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2014-09-11 12:14:35 UTC
ppc/ppc64 stable
Comment 10 Mikle Kolyada (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2014-09-11 12:18:35 UTC
ia64 stable