Perl: Replace MODULE_COMPAT by macro
Summary
The versioned perl(:MODULE_COMPAT_XXX)
(provided by perl-libs
) will be required only by multi-arch packages. For those packages, we need to ensure that the packages will use the right libperl.so for the Perl used. The noarch
packages will depend on non-version perl-libs
.
Owner
- Name: Jitka Plesnikova
- Email: <jplesnik@redhat.com>
Current status
- Targeted release: Fedora Linux 38
- Last updated: 2022-11-07
- FESCo issue: <will be assigned by the Wrangler>
- Tracker bug: <will be assigned by the Wrangler>
- Release notes tracker: <will be assigned by the Wrangler>
Completed items
Items in progress
- Add
%perl_require_compat
macro to perl-srpm-macros in F38 - Add
%perl_require_compat
macro to perl-srpm-macros in F37 - Add
%perl_require_compat
macro to perl-srpm-macros in F36 - Add
%perl_require_compat
macro to perl-srpm-macros in F35 - Update Fedora Packaging Guidelines for Perl
- Replace
perl(:MODULE_COMPAT_XXX)
to%perl_require_compat
run-time dependency in all F38 spec files (3335)
Detailed Description
The macro %perl_require_compat
will be defined in the rpm perl-srpm-macros
.
%perl_require_compat %[ "%{_target_cpu}" == "noarch" ? "perl-libs" : "%{!?perl_version:perl-libs}%{?perl_version:perl(:MODULE_COMPAT_%{perl_version})}" ]
Feedback
Benefit to Fedora
It will simplify the rebuild and reduce the number of packages which have to be rebuild. It should currently be enough to rebuild only multi-arch packages and those that are part of the Perl itself (dual-life packages). Here we need to ensure that the packages will use the right libperl.so for the Perl used.
Scope
- Proposal owners:
- Other developers:
- Release engineering: #Releng issue number
- Policies and guidelines: N/A (not needed for this Change)
- Trademark approval: N/A (not needed for this Change)
- Alignment with Objectives:
Upgrade/compatibility impact
How To Test
User Experience
Dependencies
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
- Contingency deadline: N/A (not a System Wide Change)
- Blocks release? N/A (not a System Wide Change), Yes/No
Documentation
N/A (not a System Wide Change)