What is the function of 'Requires(pre)' in spec file?

Honza Šilhan jsilhan at redhat.com
Thu Mar 24 10:42:20 UTC 2016

> From: "Zhang Freeman" <freeman.zhang1992 at gmail.com>
> Hi List!
> I post to ask for the differenced between 'Requires' and 'Requires(pre)'
> used in RPM spec file.
> As RPM wiki[1] tells, dependency defined via 'Requires(pre)' should be
> fulfilled before installation and can be freely removed after installation,
> and 'Requires'  should be fulfilled after installation but before
> execution.
> However, things won't stick to the script in real life. I find these two
> work in the same way.
> Suppose I want to install package A, which depends on package B. RPM stops
> the process and warns me the dependency. After B is installed, installation
> of A turns to be succeed. Then I remove B, RPM erases both A and B! No
> matter it is "Requires(pre)" or "Requires".
> Shouldn't A stay operational after I remove B if I use 'Requires(pre)' ?
> [1] http://www.rpm.org/wiki/PackagerDocs/MoreOnDependencies
> All the best!
> Freeman

Hi, I am considering it as a bug as well. DNF more specifically libsolv) has the
same issue [1].


[1] https://github.com/openSUSE/libsolv/issues/126

More information about the Rpm-list mailing list