On 02/03/2017 05:52 PM, Jakub Jelinek wrote:
On Fri, Feb 03, 2017 at 02:51:28PM +0000, Daniel P. Berrange wrote:
> On Fri, Feb 03, 2017 at 02:45:08PM +0000, David Howells wrote:
>> Hi,
>>
>> gcc and cross-gcc currently dynamically load the isl-0.14 shared library -
>> which means that rpm-build doesn't automagically detect a:
>>
>> libisl.so.13()(64bit)
>>
>> but, rather, the gcc binary rpm must include a:
>>
>> Requires: isl = %{isl_version}
>>
>> clause.
>>
>> Is it possible to instead do something like:
>>
>> Requires: libisl.so.13()(64bit)
>>
>> (though this doesn't work because it complains about an illegal char) so that
Um, no it doesn't. Parenthesis are perfectly legal in rpm dependencies.
>> it is pegged to the major version of the library rather than
the specific isl
>> version?
>
> The automatic requires are added based on output of an external program.
> You can override which program is used in the spec file. So you could
> provide a custom script which calls the original script, and then also
> output the extra missing library requires
>
> See the section "requires filtering"
>
>
https://fedoraproject.org/wiki/PackagingDrafts/FilteringAutomaticDependen...
>
> instead of filtering you'd be augmenting, but that's fine.
Doesn't
%global _use_internal_dependency_generator 0
break the multilib coloring though? At least I vaguely remember it
did in the past.
It used to, but no longer does as of rpm >= 4.12 or so. It does have
other unwanted side-effects though, and is deprecated and all.
That ancient draft would be best taken offline because it sends people
into the wrong direction armed with a sledgehammer they really don't
need for minor tweaking.
- Panu -