Requires --> BuildRequires (was: Re: measuring success)

Michel Alexandre Salim michael.silvanus at gmail.com
Sun Jul 4 10:33:56 UTC 2010


On Sun, Jul 4, 2010 at 12:06 PM, Michael Schwendt <mschwendt at gmail.com> wrote:
> On Sat, 03 Jul 2010 13:35:20 +0200, Till wrote:
>
>> > 1) To make such run-time deps BuildRequires would be helpful (because it
>> > doesn't make much sense to build something for a target that is missing
>> > something). Several broken deps in old dist branches have been because
>> > of a discrepancy between Requires and BuildRequires.
>>
>> If this should be normal, then IMHO rpmbuild should be changed to
>> use all explicit Requires also as BuildRequires.
>
> It is normal for several automatic dependencies, e.g. for a run-time
> library dep you have the corresponding -devel BR in the spec file.
>
> Creating BR for run-time deps can also be helpful in situations where
> rpmbuild could not assist you. E.g. an app dlopens an optional libfoo.so.1
> at run-time. If you wanted to check for availability of libfoo.so.1 in
> the dist at pkg build-time, you would add a BR for the library pkg [and a
> guard in %prep or %check].
>
> Along the same line, if you have an explicit Req, possibly even a
> versioned one, checking for the required stuff in a BR ensures that
> everything you need at run-time, is available in the target dist.
>
This is not semantically part of building, though. I see two possible solutions:
1. Koji should check the explicitly-listed Requirements and refuse to
build a package if these
   are not available
2. A package undergoes an RPM test-install post-build

Regards,

-- 
Michel


More information about the devel mailing list