On 12/10/2015 02:32 PM, Panu Matilainen wrote:
On 12/10/2015 11:41 AM, Florian Weimer wrote:
When a %post scriptlet runs, is it guaranteed that the Requires:
dependencies have been unpacked? I understand that for cycle-breaking
purposes, it may not be true that the scriptlets for dependencies have
run. But are the files already there?
(I'm interested in plain Requires, not Requires(post) etc.)
Requires and Requires(post) are equal in ordering except for
loop-breaking purposes. When no loops are present, both guarantee the
files are there. When dependency loops are involved rpm makes an
educated guess to cut it but obviously there can be no absolute guarantee.
To elaborate/generalize a bit: Requires and Requires(foo) are equal in
ordering, except for loop-breaking purposes. In presence of loops rpm
favors the (foo) variants, but Requires(pre) and Requires(post) etc are
equal among themselves.
So if you have two packages Requires(pre/post/interp)'ing each-other
then they're obviously equal and the loop-cutting is reduced to lottery
again. Rpm does weigh package importance based on number of dependents
but that only turns the lottery into an educated guess, which can be
"incorrect".
- Panu -
--
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
http://lists.fedoraproject.org/admin/lists/devel@xxxxxxxxxxxxxxxxxxxxxxx