exclude the provides and requires together

Panu Matilainen pmatilai at redhat.com
Mon Aug 6 06:49:57 UTC 2018

On 08/04/2018 08:40 PM, d tbsky wrote:
> Hi:
>      i am trying to build a rpm which include some libraries.  these
> libraries conflicts with distribution's rpms, so I want to exclude
> them.
>    at first I " __provides_exclude" all the files with my rpm, then I
> found the rpm need them itself when install.
>    next  I tried to "__requires_exclude" all the files also. but then
> some necessary external required libraries are skipped when install.
>    finally I found what I really want is find out all the rpm
> "provides" lists, then "__provides_exclude"  and  "__requires_exclude"
> the lists.
>   I search the email-list but can not find a similar marco for such
> things. the suggestion years ago is manually find out the names and
> exclude them.
> I wonder with recent rpm, is it possible to write a macro, which will
> "__find_provides" and the feed the list as regex to
> "__provides_exclude" and "__provides_exclude"?

No, it doesn't work like that.

If you just want to disable all autogenerated dependencies on your 
package, don't bother messing with depgen excludes. Just add this to 
your spec:

AutoReqProv: no

If you do need more fine-grained then define a macro for the filter 
regex and use that with both __provides_exclude and __requires_exclude 
to avoid duplication. In some circumstances it's easier to filter by 
path instead, eg __provides_exclude_from (and same for requires). See 
http://rpm.org/user_doc/dependency_generators.html for details.

	- Panu -

More information about the Rpm-list mailing list