Bug 1903631

Summary: perl-libs: Missing dependency on perl-Encode
Product: Red Hat Enterprise Linux 8 Reporter: Jitka Plesnikova <jplesnik>
Component: perl-5.30-moduleAssignee: perl-maint-list
Status: CLOSED ERRATA QA Contact: RHEL CS Apps Subsystem QE <rhel-cs-apps-subsystem-qe>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.2CC: jplesnik, mkyral, o.freyermuth, perl-maint-list, ppisar, wienemann
Target Milestone: rcKeywords: Triaged
Target Release: 8.0   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: perl-5.30-8040020200923213406.466ea64f Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1903503 Environment:
Last Closed: 2021-05-18 15:52:46 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:

Description Jitka Plesnikova 2020-12-02 14:28:52 UTC
+++ This bug was initially created as a clone of Bug #1903503 +++

Description of problem:
The package perl-MIME-Types should pull in the package perl-Encode as dependency. Otherwise the package is unusable:

How reproducible:
always

Steps to Reproduce:
1. yum install perl-MIME-Types
2. Run the following perl script:
-----------------------------------------------
#!/usr/bin/env perl

use warnings;
use strict;
use MIME::Types;

my $mt = MIME::Types->new;

my @types = $mt->listTypes();

foreach (@types) {
        print("$_\n");
}
-----------------------------------------------

Actual results:
cannot open type database in /usr/share/perl5/vendor_perl/MIME/types.db: No such file or directory

Expected results:
message/cpim
message/delivery-status
message/disposition-notification
[...]

Additional info:
Problem is fixed by running:

yum install perl-Encode

--- Additional comment from Jitka Plesnikova on 2020-12-02 10:47:13 UTC ---

Thank you for report. I can confirm the issue. It's easy fix for it.

--- Additional comment from Jitka Plesnikova on 2020-12-02 14:20:06 UTC ---

I looked deep on it and I found the source the issue.

lib/MIME/Types.pm 
42:    open DB, '<:encoding(utf8)', $db
43:       or die "cannot open type database in $db: $!\n";

open(,':encoding()',) is loading 'PerlIO::encoding'. 'Encode' is loaded in BOOT section of 'PerlIO::encoding'. This require is not found by perl-generators.

'PerlIO::encoding' is provided by perl-libs. So, we have to add 'Encode' to perl-libs as a run-require.

Comment 9 errata-xmlrpc 2021-05-18 15:52:46 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (perl:5.30 bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2021:1871