Requires, Prereq, and Requires(pre)

Warren Togami wtogami at redhat.com
Wed Apr 20 12:12:36 UTC 2005


Karsten Hopp wrote:
> Ignacio Vazquez-Abrams wrote:
> ...
> 
>>
>>
>>> Prereq:  %{_prefix}/X11R6/bin/mkfontdir
>>> BuildPreReq: ncurses-devel readline-devel glibc-devel
>>
>>
>>
>> These should be "Requires(pre)" and "BuildRequires" respectively. And
>> you can drop the glibc-devel.
> 
> 
> Is there a final decision on that or is that just your preference ?
> We have LOTS of packages in FC which use Prereq: and BuildPreReq: 
> instead of
> Requires(pre) and BuildRequires(pre).

There is no difference between BuildRequires and BuildPrereq. 
BuildRequires(pre) is simply silly.

However the story behind Requires, Prereq, and Requires(pre) is more 
complicated.  Apparently Requires and Prereq are now equivalent, but 
Requires(pre) is not.  This really needs to be explained with detailed 
examples and documented once and for all in the Wiki because this is 
repeatedly a source of confusion.

In most cases "Requires" is all you need, there is no benefit to using 
"Prereq", however there are cases where Requires(pre) is needed to break 
a dependency loop.  However this may not be the truth for all 
distributions, because apparently the behavior of Requires/Prereq 
changed recently.  This historical behavior and when things changed 
should be documented too.  I don't know the entire story myself.

Warren Togami
wtogami at redhat.com




More information about the fedora-extras-list mailing list