Bug 1956816

Summary: Package perl-Mojolicious with broken dependencies from EPEL Repository
Product: [Fedora] Fedora EPEL Reporter: Bahruz Mechtiyev <mechtiyev>
Component: perl-MojoliciousAssignee: Emmanuel Seyman <emmanuel>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: unspecified    
Version: epel8CC: emmanuel, iarnell, lkundrak, perl-devel, ppisar, robinlee.sysu, yaneti
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-05-05 09:03:12 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 Bahruz Mechtiyev 2021-05-04 13:24:40 UTC
Description of problem:

I cannot install Package perl-Mojolicious.

]# dnf install --nobest perl-Mojolicious
Updating Subscription Management repositories.
Last metadata expiration check: 1:37:10 ago on Mon 03 May 2021 03:17:06 PM CEST.
Error:
 Problem: conflicting requests
  - package perl-Mojolicious-8.26-1.el8.noarch requires perl(Time::HiRes), but none of the providers can be installed
  - package perl-Mojolicious-8.42-1.el8.noarch requires perl(Time::HiRes), but none of the providers can be installed
  - package perl-Time-HiRes-1.9760-439.module+el8.3.0+6718+7f269185.x86_64 is filtered out by modular filtering
(try to add '--skip-broken' to skip uninstallable packages)

it is Perl Streams 5.26 as default installed:

]# dnf module list perl
Updating Subscription Management repositories.
Last metadata expiration check: 1:43:46 ago on Mon 03 May 2021 03:17:06 PM CEST.
rhel-8-appstream
Name               Stream                Profiles                         Summary
perl               5.24                  common [d], minimal              Practical Extraction and Report Language
perl               5.26 [d]              common [d], minimal              Practical Extraction and Report Language
perl               5.30                  common [d], minimal              Practical Extraction and Report Language

please adjust the dependencies for the package.

Version-Release number of selected component (if applicable):
RHEL 8

Comment 1 Emmanuel Seyman 2021-05-04 13:39:02 UTC
Strange, I could have sworn perl-Time-HiRes was provided by the RHEL/CentOS AppStream repository.
Can you run the command "dnf repolist" and show us the result?

Comment 2 Bahruz Mechtiyev 2021-05-04 15:06:21 UTC
Hi,

there is a Package in  Perl Streams 5.30, but not in Perl Streams 5.26:

~]# dnf module list perl
Updating Subscription Management repositories.
Unable to read consumer identity
This system is receiving updates from Red Hat Satellite or Spacewalk server.
Last metadata expiration check: 0:03:50 ago on Tue 04 May 2021 04:50:26 PM CEST.
Name                                  Stream                                    Profiles                                             Summary
perl                                  5.24                                      common [d], minimal                                  Practical Extraction and Report Language
perl                                  5.26 [d]                                  common [d], minimal                                  Practical Extraction and Report Language
perl                                  5.30 [e]                                  common [d], minimal                                  Practical Extraction and Report Language

dnf info perl-Time-HiRes
Last metadata expiration check: 0:00:33 ago on Tue 04 May 2021 04:50:26 PM CEST.
Available Packages
Name         : perl-Time-HiRes
Version      : 1.9760
Release      : 439.module+el8.3.0+6718+7f269185
Architecture : x86_64
Size         : 62 k
Source       : perl-Time-HiRes-1.9760-439.module+el8.3.0+6718+7f269185.src.rpm
Repository   : rhel-8-appstream
Summary      : High resolution alarm, sleep, gettimeofday, interval timers
License      : GPL+ or Artistic
Description  : The Time::HiRes module implements a Perl interface to the usleep, nanosleep,
             : ualarm, gettimeofday, and setitimer/getitimer system calls, in other words,
             : high resolution time and timers.

I have switch to Perl Streams 5.30, but i cannot still install perl-Mojolicious from this Stream, because it needs lib from Perl Stream 5.26:
[root@devbib8 ~]# dnf install perl-Mojolicious
Updating Subscription Management repositories.
This system is receiving updates from Red Hat Satellite or Spacewalk server.
Last metadata expiration check: 0:10:40 ago on Tue 04 May 2021 04:50:26 PM CEST.
Error:
 Problem: package perl-Mojolicious-8.42-1.el8.noarch requires perl(:MODULE_COMPAT_5.26.3), but none of the providers can be installed
  - cannot install the best candidate for the job
  - package perl-libs-4:5.26.3-416.el8.i686 is filtered out by modular filtering
  - package perl-libs-4:5.26.3-416.el8.x86_64 is filtered out by modular filtering
  - package perl-libs-4:5.26.3-417.el8_3.x86_64 is filtered out by modular filtering
  - package perl-libs-4:5.26.3-417.el8_3.i686 is filtered out by modular filtering
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

Can you check please dependencies for the package?

I want to install the perl-Mojolicious Package from Perl Stream 5.26. 

Thank you.

Comment 3 Petr Pisar 2021-05-04 17:06:06 UTC
(In reply to Bahruz Mechtiyev from comment #2)
> there is a Package in  Perl Streams 5.30, but not in Perl Streams 5.26:
> 
That's right. And that's correct. There is no package in perl:5.26 stream.
The 5.26 packages live outside any perl stream.

# dnf -q repoquery perl-Time-HiRes
perl-Time-HiRes-0:1.9758-1.el8.x86_64  (from RHEL-8.0)
perl-Time-HiRes-4:1.9758-2.el8.x86_64  (from RHEL-8.4)

> ~]# dnf module list perl
> Updating Subscription Management repositories.
> Unable to read consumer identity
> This system is receiving updates from Red Hat Satellite or Spacewalk server.
> Last metadata expiration check: 0:03:50 ago on Tue 04 May 2021 04:50:26 PM
> CEST.
> Name                                  Stream                                
> Profiles                                             Summary
> perl                                  5.24                                  
> common [d], minimal                                  Practical Extraction
> and Report Language
> perl                                  5.26 [d]                              
> common [d], minimal                                  Practical Extraction
> and Report Language
> perl                                  5.30 [e]                              
> common [d], minimal                                  Practical Extraction
> and Report Language
> 
> dnf info perl-Time-HiRes
> Last metadata expiration check: 0:00:33 ago on Tue 04 May 2021 04:50:26 PM
> CEST.
> Available Packages
> Name         : perl-Time-HiRes
> Version      : 1.9760
> Release      : 439.module+el8.3.0+6718+7f269185
> Architecture : x86_64
> Size         : 62 k
> Source       :
> perl-Time-HiRes-1.9760-439.module+el8.3.0+6718+7f269185.src.rpm
> Repository   : rhel-8-appstream
> Summary      : High resolution alarm, sleep, gettimeofday, interval timers
> License      : GPL+ or Artistic
> Description  : The Time::HiRes module implements a Perl interface to the
> usleep, nanosleep,
>              : ualarm, gettimeofday, and setitimer/getitimer system calls,
> in other words,
>              : high resolution time and timers.
> 
> I have switch to Perl Streams 5.30

That's a result of enabling perl:5.30 stream. The non-modular 5.26 perl-Time-HiRes
disappears and a modular package built for perl:5.30 is visible instead.

, but i cannot still install
> perl-Mojolicious from this Stream, because it needs lib from Perl Stream
> 5.26:

Because EPEL packages, where perl-Mojolicous belongs to, are built only against
the default perl stream. I.e. perl:5.26. 

I recommend you resetting perl module back the the default stream:

# dnf module reset perl

This will give you perl:5.26 and you should see the non-modular perl-Time-HiRes again.
If it does not, then something is wrong with your repositories (or mirrors where you
download them from).

Finally, I also recommend running:

# dnf --allowerasing distro-sync

after changing module streams. This will synchronized the installed packaged
to the ones available from the currently active module stream.

Comment 4 Petr Pisar 2021-05-05 09:03:12 UTC
Obviously you have a problem with perl-Time-HiRes. Not with perl-Mojolicious.
perl-Time-HiRes is not provided by EPEL and thus you report cannot be handled here.
Should you still experience problems with perl-Time-HiRes, please contact your
vendor of the package. In case it is Red Hat, Inc., use Red Hat support at
<https://access.redhat.com/support/>.