Bug 1045378

Summary: perl-App-cpanminus: does not build from source code
Product: Red Hat Enterprise Linux 7 Reporter: Florian Weimer <fweimer>
Component: perl-App-cpanminusAssignee: perl-maint-list
Status: CLOSED NEXTRELEASE QA Contact: BaseOS QE - Apps <qe-baseos-apps>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 7.0CC: mkyral, mmaslano, ppisar
Target Milestone: rcKeywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 952281 Environment:
Last Closed: 2019-08-13 06:32:58 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:
Bug Depends On: 1047906, 1047907, 1059183    
Bug Blocks: 952282, 1465904    

Description Florian Weimer 2013-12-20 09:53:11 UTC
+++ This bug was initially created as a clone of Bug #952281 +++

This package bundles Perl sources obfuscated using App::FatPacker, which makes it very difficult to review.  Please remove the obfuscated code and replace it with proper dependencies.

(I have verified that the bundled version of Parse/CPAN/Meta.pm is actually used by putting a "die;" into it, which was executed.)

--- Additional comment from Petr Pisar on 2013-04-15 16:59:46 CEST ---

Can you explain the subject "Does not build from source code"?

--- Additional comment from Florian Weimer on 2013-04-15 17:07:29 CEST ---

bin/cpanm contains stuff like this:

use 5.006;use strict;use warnings;package CPAN::Meta::Converter;our$VERSION='2.130880';use CPAN::Meta::Validator;use CPAN::Meta::Requirements;use version 0.88 ();use Parse::CPAN::Meta 1.4400 ();sub _dclone {my$ref=shift;no warnings 'once';local*UNIVERSAL::TO_JSON=sub {return "$_[0]"};my$backend=Parse::CPAN::Meta->json_backend();return$backend->new->utf8->decode($backend->new->utf8->allow_blessed->convert_blessed->encode($ref))}my%known_specs=('2'=>'http://search.cpan.org/perldoc?CPAN::Meta::Spec','1.4'=>'http://module-build.sourceforge.net/META-spec-v1.4.html','1.3'=>'http://module-build.sourceforge.net/META-spec-v1.3.html[…]

I don't consider this source code.  The bundling of human-readable sources (as in previous versions) is problematic as well: <https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries>

--- Additional comment from Petr Pisar on 2013-04-15 17:22:15 CEST ---

I see.

Comment 2 Petr Pisar 2014-01-02 14:22:55 UTC
Unbundling this package will require to add following new modules:

aliased
CPAN::DistnameInfo
CPAN::Meta::Check
Module::CPANfile
version::vpp

That will require:

Add perl-aliased
Add perl-CPAN-DistnameInfo
Add perl-CPAN-Meta-Check
Add perl-Module-CPANfile
Rebase perl-version to 0.9903.

Those new package do not need any new dependencies.

Comment 8 Petr Pisar 2019-08-13 06:32:58 UTC
Resolving this issue requires adding new packages into the distribution. Because Red Hat Enterprise Linux 7 entered a maintenance phase 1 where no new features in a software are added, this request won't be fulfilled and will be closed. Please note that the reported issue does not manifest in Red Hat Enterprise Linux 8 where the package code is properly unbundled.