On Mon Dec 5, 2022 at 21:52 +0100, Jitka Plesnikova wrote:
> Could be the following file added to the package epel-rpm-macros (or 
> anything like this) for EPEL 9?

It could, but it might be better to include this in a subpackage of
epel-rpm-macros or as a separate perl-generators-epel component. We
could pull it in with (package-name-here if perl-generators). This won't
work in EPEL 7 which unfortunately doesn't support rich dependencies.

> But I don't know how to do it for EPEL 7/8, because the above file 
> doesn't work.
> It ends with error [2]:
> error: Couldn't exec perl-libs: No such file or directory
>
> Do you have any idea if there is any other way how to provide 
> maintainers this functionality for EPEL 7/8?

Parametric macro dependency generators are not supported in EPEL 7 and
8's RPM versions. You can still implement this using a "regular"
dependency generator. This is also described in the RPM
documentation[1]. Instead of specifying %__perlcompat_requires() and
writing an RPM macro that accepts a path name as %1, you specify
`%__percompat_requires /path/to/executable`. That script receives a
newline separated list of paths as stdin and prints the generated
dependencies to stdout separated by newlines.

So perlcompat.attr could look something like

```
%__perlcompat_requires %{_rpmconfigdir}/perlcompat.req %{perl_version}

# %%__perlcompat_path can stay the same.
```

These are usually stored in %%{_rpmconfigdir}. %%{perl_version} is
passed to the script as an argument, because the script of course
doesn't have access to the RPM context. This can be any executable
written in any language, but it should be straightforward to do this in
shell.


[1]: 
https://rpm-software-management.github.io/rpm/manual/dependency_generators.html

--
Maxwell G (@gotmax23)
Pronouns: He/Him/His
_______________________________________________
epel-devel mailing list -- epel-devel@lists.fedoraproject.org
To unsubscribe send an email to epel-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/epel-devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to