Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 561834 - Dependancies generated by g-cpan-0.16.5 do not match the actual requirements in the Perl package
Summary: Dependancies generated by g-cpan-0.16.5 do not match the actual requirements ...
Status: CONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Tools (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Sergiy Borodych
URL: https://github.com/gentoo-perl/g-cpan...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-09-29 15:56 UTC by John Miller
Modified: 2020-04-04 05:37 UTC (History)
0 users

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 John Miller 2015-09-29 15:56:27 UTC
The versions of dependancies in the ebuild generated by g-cpan are different from actual dependancies specified in the META file of the Perl package. Sometimes the ebuild requires a higher version, sometimes it allows a lower version.

From the example below, Capture::Tiny 0.24 is required but the Perl package but the ebuild requires 0.28.
Data::Compare 1.24 is required by the Perl package, but the ebuild allows 1.22. THIS IS THE SERIOUS ONE. Upstream explicitly required a higher version than the ebuild is created with.

In either case, the ebuild version requirements should exactly match the version requirements (or lack thereof) specified by upstream.

Reproducible: Always

Steps to Reproduce:
1. execute g-cpan -g Kafka
2. Check the dependancies in the ebuild file generated against the META.json file in the Perl package.
Actual Results:  
DEPEND=">=dev-perl/Proc-ProcessTable-0.480.0
    >=perl-gcpan/Compress-Snappy-0.24
    >=dev-perl/Const-Fast-0.14.0
    >=dev-perl/File-HomeDir-1.0.0
    >=dev-perl/Try-Tiny-0.190.0
    >=dev-perl/Sys-SigAction-0.210.0
    >=dev-perl/Test-Deep-0.115.0
    dev-perl/string-crc32
    >=perl-gcpan/Data-HexDump-Range-0.13.71
    >=dev-perl/Capture-Tiny-0.280.0
    >=perl-gcpan/Scalar-Util-Numeric-0.40
    >=dev-perl/Data-Compare-1.220.0
    dev-perl/Test-TCP
    >=dev-perl/List-MoreUtils-0.413.0
    >=dev-perl/Config-IniFiles-2.830.0
    >=dev-perl/Test-Exception-0.320.0
    >=dev-perl/Test-NoWarnings-1.40.0
    >=dev-perl/Sub-Install-0.926.0
    >=dev-perl/Clone-0.370.0
    >=dev-perl/Exception-Class-1.390.0
    >=dev-perl/Proc-Daemon-0.190.0
    >=dev-perl/Params-Util-1.60.0
    dev-lang/perl”

Expected Results:  
From the META.json of the ebuild:
     "runtime" : {
         "requires" : {
            "Carp" : "1.3301",
            "Compress::Snappy" : "0.23",
            "Const::Fast" : "0.014",
            "Data::Compare" : "1.24",
            "Data::HexDump::Range" : "0.13",
            "Exception::Class" : "1.37",
            "Exporter" : "5.70",
            "IO::Compress::Gzip" : "2.064",
            "IO::Uncompress::Gunzip" : "2.064",
            "List::MoreUtils" : "0.33",
            "List::Util" : "1.38",
            "Params::Util" : "1.07",
            "Scalar::Util" : "1.38",
            "Scalar::Util::Numeric" : "0.22",
            "Socket" : "2.013",
            "String::CRC32" : "1.5",
            "Sys::SigAction" : "0.21",
            "Time::HiRes" : "1.9726",
            "Try::Tiny" : "0.21",
            "perl" : "5.010"
         }
      },
      "test" : {
         "requires" : {
            "Capture::Tiny" : "0.24",
            "Carp" : "1.3301",
            "Clone" : "0.36",
            "Config::IniFiles" : "2.83",
            "Const::Fast" : "0.014",
            "Cwd" : "3.40",
            "Data::Dumper" : "2.151",
            "Exporter" : "5.70",
            "File::HomeDir" : "1.00",
            "File::Path" : "2.09",
            "File::Spec" : "3.40",
            "File::Spec::Functions" : "3.40",
            "IO::File" : "1.16",
            "IO::Socket::INET" : "1.33",
            "List::Util" : "1.38",
            "Net::EmptyPort" : "0",
            "Params::Util" : "1.07",
            "Proc::Daemon" : "0.14",
            "Proc::ProcessTable" : "0.51",
            "Scalar::Util" : "1.38",
            "Scalar::Util::Numeric" : "0.22",
            "Socket" : "2.013",
            "Sub::Install" : "0.927",
            "Sys::SigAction" : "0.21",
            "Test::Deep" : "0.112",
            "Test::Exception" : "0.32",
            "Test::More" : "1.001003",
            "Test::NoWarnings" : "1.04",
            "Test::TCP" : "2.11",
            "Time::HiRes" : "1.9726",
            "Try::Tiny" : "0.21"
         }
      }



I have also seen g-cpan add version requirements to the ebuild when none are specified in the Perl package. It appears that g-cpan may be using the current versions in the portage tree to determine the requirements.
Comment 1 Sergiy Borodych 2016-07-28 14:58:18 UTC
See also: https://github.com/gentoo-perl/g-cpan/issues/32