Bug 1781177
| Summary: | [RFE] - Providing a modular perl-libwww-perl for perl:5.24 | |||
|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 8 | Reporter: | Parikshit Khedekar <pkhedeka> | |
| Component: | perl-libwww-perl | Assignee: | perl-maint-list | |
| Status: | CLOSED ERRATA | QA Contact: | RHEL CS Apps Subsystem QE <rhel-cs-apps-subsystem-qe> | |
| Severity: | urgent | Docs Contact: | Lenka Špačková <lkuprova> | |
| Priority: | unspecified | |||
| Version: | 8.1 | CC: | bnater, lmanasko, ppisar | |
| Target Milestone: | rc | Keywords: | FutureFeature, Triaged | |
| Target Release: | 8.3 | Flags: | pm-rhel:
mirror+
|
|
| Hardware: | All | |||
| OS: | Linux | |||
| Whiteboard: | ||||
| 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.
|
Story Points: | --- | |
| Clone Of: | ||||
| : | 1824222 (view as bug list) | Environment: | ||
| Last Closed: | 2020-11-04 03:18:51 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: | 1821729, 1824222 | |||
| Bug Blocks: | ||||
|
Description
Parikshit Khedekar
2019-12-09 13:29:47 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. @Pisar , lets see if customer is able to have the suggested workaround, I will be updating the ticket again with the suggestion you have 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.
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 |