Hello,
the case I encountered the original issue with was a partially broken RPM
database, which allowed the "Computing transaction" to work, but failed at
"Committing transaction" when installing a package.
To reproduce it, the RPM database can be broken intentionally:
# echo foo > /var/lib/rp
Hello,
> You also need to add another check just before raising the error, or you
> would end up getting an "unknown error" raised there.
> I basically replaced:
> -if (probs is not None) and (not retry):
> + if (probs is not None) and ((len(probs) != 0) or not
> sysconf.has("attempt
nf.has("attempt-install", soft=True):
Daniel
From: Herve Jourdain
Sent: Tuesday, June 7, 2016 15:17
To: Klauer, Daniel; openembedded-core@lists.openembedded.org
Subject: RE: [OE-core] [PATCH] smartpm: Don't ignore error if RPM transaction
fails without
SmartPM could misinterpret RPM transaction error as success,
if ts.run() (RPM Python API) returns an empty problems list.
This could happen for example if the RPM database is partially corrupted
such that the transaction does not have any problems like conflicts or
missing dependencies, but still
SmartPM's --remove-all option was unusable, because the fix from
commit 03266e89a6 was lost in commit 5fc580fc44. Thus, add a new
patch to fix --remove-all.
It seems like the previous fix was lost by mistake:
Upstream merged the *old* version of the patch (smartpm 406541f569),
and when SmartPM in
SmartPM could misinterpret RPM transaction error as success,
if ts.run() (RPM Python API) returns an empty problems list.
This could happen for example if the RPM database is partially corrupted
such that the transaction does not have any problems like conflicts or
missing dependencies, but still
The error reporting improvements were merged upstream (smartpm 406541f569)
and refactored later (smartpm 20af0aac33), yet a part of the patch was
kept here (oe-core 5fc580fc44).
Due to the upstream refactoring the patch still applies cleanly, but it
isn't actually needed. The added changes are dup