I just tried some upgrades between different versions of redhat
by just using rpm. E.g. I upgraded a 7.3 to rpm-4.1 and then tried
to upgrade the remaining packages.
I noted that if you pass a large number of rpms it sometimes happens
that it fails to upgrade the packages since it ends up in a loop
(warning: LOOP:) but the exit code is still 0.
A dependency loop is not a failure, rpm-4.x
undertakes appropriate corrective action, ignoring
the Requires: in the loop, honoring the PreReq:'s.
The only side effect is that the partial order of
the packages in the transaction set changes,
as the loop is detected late, causing packages
in the loop to be emitted later than they would be
in the absence of the loop.
Sorry if my report was unclear. There are some dependency issues and
rpm fails with unresolved dependencies, but the exit code is still 0.
Unfortunately, I don't know how to reproduce this, the only thing
in common is the "loop" error. But this might be just coincidence.
If you want me to dig out an erroneous exit code,
I'm gonna need a reproducible test case that shows
OK. I just managed to reproduce this with rpm-4.0.4
I took a fully up2date 7.3 system (with rpm-4.0.4-7x.18) and tried to
upgrade 256 packages from redhat 8.0. I'll add the command line plus the
rpm output as attachment.
In this case it will print an error about failed dependencies (and it will not
upgrade a single rpm) but exit with 0.
Created attachment 90464 [details]
rpm command line plus output
I can no longer reproduce this with rpm-4.1.1.