On 15. 11. 22 8:14, Jitka Plesnikova wrote:


On 11/11/22 14:10, Jitka Plesnikova wrote:

Something like this should work:

File: /usr/lib/rpm/fileattrs/perllib.attr


%__perllib_requires() %{lua:
    if macros['1']:match('.+%.so$') and macros.perl_version then
       print('perl(:MODULE_COMPAT_' .. macros.perl_version .. ')')
    else
       print('perl-libs')
    end
}
%__perllib_path ^(%{perl_vendorarch}|%{perl_vendorlib})/.+


(Untested.)


Thanks for hint. I'll check if it works for my change.
Jitka

MODULE_COMPAT is used for 1) Perl Modules and also 2) for packages which use perl interpreter or libperl.so. For the second case, the RPM dependency generator above does not work. These packages may not contain
the Perl directories.

For now, I prefer to use the change describe in the proposal. It works for all these cases.

Thanks for looking into it. I am not surprised that an RPM generator I written in an email does not work out of the box for all the packages. It can be enhanced. Do you have a specific example I can have a look at? Don't packages using libperl.so already require a pretty specific soname version?

Do you think that saying something like this is generally a bad idea?


"""
Packages with Perl modules installed in %{perl_vendorlib} or %{perl_vendorarch} will automatically gain dependency on perl-libs for pure Perl modules or a dependency on perl(:MODULE_COMPAT_<perl_version>) for libraries with compiled code.

Packages that require the Perl interpreter or libperl.so but do not install modules to the aforementioned directories or explicitly link to libperl.so.<perl_version> need to handle the dependency manually.
"""

To me, this still sounds like a massive improvement over both the status quo and %perl_require_compat.

--
Miro Hrončok
--
Phone: +420777974800
IRC: mhroncok
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to