RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1781177 - [RFE] - Providing a modular perl-libwww-perl for perl:5.24
Summary: [RFE] - Providing a modular perl-libwww-perl for perl:5.24
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: perl-libwww-perl
Version: 8.1
Hardware: All
OS: Linux
unspecified
urgent
Target Milestone: rc
: 8.3
Assignee: perl-maint-list
QA Contact: RHEL CS Apps Subsystem QE
Lenka Špačková
URL:
Whiteboard:
Depends On: 1821729 1824222
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-12-09 13:29 UTC by Parikshit Khedekar
Modified: 2023-03-24 16:21 UTC (History)
3 users (show)

Fixed In Version: perl-libwww-perl-6.34-8030020200428102957.7cc0a66d perl-libwww-perl-6.34-8030020200428102957.b967a9a2 perl-libwww-perl-6.34-8030020200428102957.5839bc99
Doc Type: Enhancement
Doc Text:
.A new module stream: `perl-libwww-perl:6.34` RHEL 8.3 introduces a new `perl-libwww-perl:6.34` module stream, which provides the `perl-libwww-perl` package for all versions of `Perl` available in RHEL 8. The non-modular `perl-libwww-perl` package, available since RHEL 8.0, which cannot be used with other `Perl` streams than 5.26, has been obsoleted by the new default `perl-libwww-perl:6.34` stream.
Clone Of:
: 1824222 (view as bug list)
Environment:
Last Closed: 2020-11-04 03:18:51 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2020:4724 0 None None None 2020-11-04 03:18:58 UTC

Description Parikshit Khedekar 2019-12-09 13:29:47 UTC
Description of problem:

perl-libwww-perl package is not modular and thus supports only the default perl stream which is 5.26

# yum module enable perl:5:24

# yum --allowerasing distrosync
Problem: module perl:5.26:820181219174508:9edba152-0.x86_64 conflicts with module(perl:5.24) provided by perl:5.24:8010020190529084201:3af8e029-0.x86_64
  - module perl:5.24:8010020190529084201:3af8e029-0.x86_64 conflicts with module(perl:5.26) provided by perl:5.26:820181219174508:9edba152-0.x86_64
  - module freeradius:3.0:8010020190614154208:16b3ab4d-0.x86_64 requires module(perl:5.26), but none of the providers can be installed
  - conflicting requests
Error:
 Problem: cannot install the best update candidate for package hostkey-signer-1.3-2.el8.noarch
  - problem with installed package hostkey-signer-1.3-2.el8.noarch
  - package hostkey-signer-1.3-2.el8.noarch requires perl(LWP::UserAgent), but none of the providers can be installed
  - package perl-libwww-perl-6.34-1.el8.noarch requires perl(:MODULE_COMPAT_5.26.2), but none of the providers can be installed
  - perl-libs-4:5.26.3-416.el8.x86_64 does not belong to a distupgrade repository
  - package perl-libs-4:5.26.3-416.el8.i686 is excluded
  - package perl-libs-4:5.26.3-416.el8.x86_64 is excluded
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)


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

8.1


How reproducible:

# yum module enable perl:5:24

# yum --allowerasing distrosync
Problem: module perl:5.26:820181219174508:9edba152-0.x86_64 conflicts with module(perl:5.24) provided by perl:5.24:8010020190529084201:3af8e029-0.x86_64
  - module perl:5.24:8010020190529084201:3af8e029-0.x86_64 conflicts with module(perl:5.26) provided by perl:5.26:820181219174508:9edba152-0.x86_64
  - module freeradius:3.0:8010020190614154208:16b3ab4d-0.x86_64 requires module(perl:5.26), but none of the providers can be installed
  - conflicting requests
Error:
 Problem: cannot install the best update candidate for package hostkey-signer-1.3-2.el8.noarch
  - problem with installed package hostkey-signer-1.3-2.el8.noarch
  - package hostkey-signer-1.3-2.el8.noarch requires perl(LWP::UserAgent), but none of the providers can be installed
  - package perl-libwww-perl-6.34-1.el8.noarch requires perl(:MODULE_COMPAT_5.26.2), but none of the providers can be installed
  - perl-libs-4:5.26.3-416.el8.x86_64 does not belong to a distupgrade repository
  - package perl-libs-4:5.26.3-416.el8.i686 is excluded
  - package perl-libs-4:5.26.3-416.el8.x86_64 is excluded
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)



Steps to Reproduce:
1. # yum module enable perl:5:24
2. # yum --allowerasing distrosync
3.

Actual results:

It leads to the conflicts as it is not modular


Expected results:

It should allow the 5.24 


Additional info:

Comment 1 Petr Pisar 2019-12-09 14:19:23 UTC
(In reply to Parikshit Khedekar from comment #0)
> Description of problem:
> 
> perl-libwww-perl package is not modular and thus supports only the default
> perl stream which is 5.26
> 
Yes that's right.

> # yum module enable perl:5:24
> 
I believe that's a typo and you wanted to execute:

# yum module enable perl:5.24

> # yum --allowerasing distrosync
> Problem: module perl:5.26:820181219174508:9edba152-0.x86_64 conflicts with
> module(perl:5.24) provided by perl:5.24:8010020190529084201:3af8e029-0.x86_64
>   - module perl:5.24:8010020190529084201:3af8e029-0.x86_64 conflicts with
> module(perl:5.26) provided by perl:5.26:820181219174508:9edba152-0.x86_64
>   - module freeradius:3.0:8010020190614154208:16b3ab4d-0.x86_64 requires
> module(perl:5.26), but none of the providers can be installed
>   - conflicting requests
> Error:
>  Problem: cannot install the best update candidate for package
> hostkey-signer-1.3-2.el8.noarch
>   - problem with installed package hostkey-signer-1.3-2.el8.noarch
>   - package hostkey-signer-1.3-2.el8.noarch requires perl(LWP::UserAgent),
> but none of the providers can be installed
>   - package perl-libwww-perl-6.34-1.el8.noarch requires
> perl(:MODULE_COMPAT_5.26.2), but none of the providers can be installed
>   - perl-libs-4:5.26.3-416.el8.x86_64 does not belong to a distupgrade
> repository
>   - package perl-libs-4:5.26.3-416.el8.i686 is excluded
>   - package perl-libs-4:5.26.3-416.el8.x86_64 is excluded
> (try to add '--skip-broken' to skip uninstallable packages or '--nobest' to
> use not only best candidate packages)
> 
With my yum-4.2.7-7.el8_1, the --allowerasing option actually offers removing the conflicting packages. I.e. it wants to uninstall perl-libwww-perl:

# yum --allowerasing distrosync
[...]
Dependencies resolved.
==========================================================================================
 Package         Arch   Version                               Repository             Size
==========================================================================================
[...]
Installing dependencies:
 perl            x86_64 4:5.24.4-404.module+el8.1.0+2926+ce7246ad
[...]
Removing dependent packages:
[...]
 perl-libwww-perl
                 noarch 6.34-1.el8                            @rhel-8.1.0-appstream 505 k
Downgrading:
[...]
perl-libs       x86_64 4:5.24.4-404.module+el8.1.0+2926+ce7246ad
                                                              rhel-8.1.0-appstream  1.5 M

Thought I get the error message when you invoke the distrosync without the --allowerasing option.

> Actual results:
> 
> It leads to the conflicts as it is not modular
> 
> 
> Expected results:
> 
> It should allow the 5.24 
> 
Adding modular perl-libwww-perl for perl:5.24 will require modularizing a big deal of packages. It's too late for RHEL 8.2. I will propose resolving this issue for RHEL 8.3.

As a workaround, the customer could invoke "yum --allowerasing distrosync", notice the packages scheduled for removal, let the conflicting packages uninstall and then install them from CPAN with cpan program.

Comment 2 Parikshit Khedekar 2019-12-09 14:30:48 UTC
@Pisar , lets see if customer is able to have the suggested workaround, I will be updating the ticket again with the suggestion you have

Comment 10 Petr Pisar 2020-04-08 13:43:31 UTC
I have the final set of packages that needs to be modularized. There will be two new modules:

perl-IO-Socket-SSL:2.066
  Unfiltered packages for installation by a user:
    perl-IO-Socket-SSL
    perl-Net-SSLeay
  Built-time only dependency filtered from the module and unavailable to the user:
    perl-Devel-StackTrace
    perl-IO-Socket-INET6
    perl-IO-Tty
    perl-IPC-Run
    perl-Net-IDN-Encode
    perl-Net-LibIDN
    perl-Socket6
    perl-Test-NoWarnings

perl-libwww-perl:6.34
  Packages for the installation:
    perl-Data-Dump
    perl-Digest-HMAC
    perl-Encode-Locale
    perl-File-Listing
    perl-HTML-Parser
    perl-HTML-Tagset
    perl-HTTP-Cookies
    perl-HTTP-Date
    perl-HTTP-Message
    perl-HTTP-Negotiate
    perl-IO-HTML
    perl-libwww-perl
    perl-LWP-MediaTypes
    perl-LWP-Protocol-https
    perl-Mozilla-CA
    perl-Net-HTTP
    perl-NTLM
    perl-TimeDate
    perl-Try-Tiny
    perl-WWW-RobotRules
  Built-time only packages:
    perl-Digest-SHA1
    perl-HTTP-Daemon
    perl-Test-Fatal
    perl-Test-Pod
    perl-Test-RequiresInternet

The package sources will be copied from RHEL 8.2 without any changes to maintain a compatibility with RHEL 8.2 non-modular content. The only exception is perl-TimeDate that will carry a tiny patch that fixes tests and does not change ABI in any way (bug #1821729).

perl-libwww-perl:6.34 module will run-require perl-IO-Socket-SSL:2.066. Default profiles for both modules will result into installing all the packages.

Both streams will be set default and will supersede same-named non-modular packages. The non-modular packages will be abandoned and all the support and maintenance will be performed in the modules. That's because a modular dist tag makes the module NEVRA higher than the non-modular one, and therefore ensures an upgrade path.

The packages are split into two modules because perl-IO-Socket-SSL and perl-Net-SSLeay packages in RHEL 8 have users that do not depend on perl-libwww-perl at the same time and can be modularized independently later.

Comment 24 errata-xmlrpc 2020-11-04 03:18:51 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-IO-Socket-SSL:2.066 and perl-libwww-perl:6.34 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/RHEA-2020:4724


Note You need to log in before you can comment on or make changes to this bug.