#2898 Change: Perl: Replace versioned MODULE_COMPAT_ requires by macro
Opened 13 days ago by bcotton. Modified 2 days ago

A perl(:MODULE_COMPAT_%(eval "%{__perl} -V:version"; echo $version)) run-time dependency will be replaced with a new %perl_require_compat macro in all Perl spec files.

The macro will expand differently based on architecture specificity of the binary packages. That will significantly shrink an amount of Perl packages required to be rebuilt with each Perl upgrade.

Owners, do not implement this work until the FESCo vote has explicitly ended.
The Fedora Program Manager will create a tracking bug in Bugzilla for this Change, which is your indication to proceed.
See the FESCo ticket policy and the Changes policy for more information.

This is an improvement, but I strongly believe we should go toward generated dependencies instead of replacing one spec cruft with another.

The vote at one week is (+0, 0, -0) so voting will extend for another week.

I'm currently 0 with the same reservations as @churchyard

Is there some reason that the logic in %perl_require_compat can't be implemented as an autorequires script?

MODULE_COMPAT is not used only by perl modules. Some of the multi-arch packages which use it for backward compatibility does not include anything into %perl_vendor*/%perl_privlib/%perl_archlib.
The script suggested by @churchyard in devel list does not work for all cases like the proposed solution, which I have tested.

I've followed up on the conversation on the devel list.

Login to comment on this ticket.