[Yum] yum critical: <XYZ> was supposed to be installed but is not
Martin Vogt
vogt at itwm.fraunhofer.de
Tue Aug 4 10:49:22 UTC 2009
James Antill wrote:
> Martin Vogt <vogt at itwm.fraunhofer.de> writes:
>
>> vmw169:/var/lib # yum --version
>> 3.2.23
>> Installed: rpm-4.4.2.3-37.10.1.x86_64 at 2009-07-29 16:21
>> Built : http://bugs.opensuse.org at 2009-04-28 16:50
>> Committed: mls at suse.de at 2009-04-27 12:00
>>
>> Installed: yum-metadata-parser-1.1.2-107.25.x86_64 at 2009-07-29 16:20
>> Built : http://bugs.opensuse.org at 2008-12-03 11:38
>> Committed: cthiel at suse.de at 2007-08-29 12:00
>
> You are running yum from a source install?
You mean I build my own yum rpm? Yes.
> Also that version of
> yum-metadata-parser is before the update .xml => .sqlite files
> fix. This only affects repos. which don't provide .sqlite directly,
> but that might well be the case with SuSE ... not sure.
I just checked that RH EL5 has a fix for a sqllite bug for 1.1.2
but this didnt help either.(tested it)
> Does "yum clean metadata" help?
Before my tests I did always a "yum clean all"
Seth Vidal wrote:
>> entries from the kernel-source.spec it works with yum-update.
>> (But adding it back and removing the %files section works too) :(
>> So maybe its a combination. Ridiculous entries in the changelog
>> and a big file list?
>
> I guess it could be - but that doesn't make much sense why yum would
> care. Yum doesn't really DO anything with either of those. All the
> actual package installation bits are handled by rpm and thd db-error is
> certainly coming from rpm.
>
> What ver of rpm-python do you have installed?
vmw169:/var/lib # rpm -q rpm-python
rpm-python-4.4.2.3-37.2
More results:
=============
It has to do with gpgcheck.
If I set
gpgcheck=0
The update works with the SuSE kernel-source update rpm
If I set
gpgcheck=1
I get the "was supposed to be installed but is not"
(The rpm is installed in both cases)
If I reduce the filelist a bit it works with (eg. make it empty)
gpgcheck=1 too.
And I dont get the critical warning.
My gpg signature is ok:
kernel-source-2.6.27.25-0.1.1.x86_64.rpm: rsa sha1 (md5) pgp md5 OK
Thus, disabling the gpgcheck make the update work (over http)
>From a localfile it worked always, which could be possible,
if enablegpgcheck is false as default.
yum --help says otherwise. (is this still true?)
Does yum do the gpg checking or is it rpm too?
So the bug maybe:
For very large %files and --resign rpms the GPG
TAG leads to an internal RPM overflow which results
in a corrupted db if many rpms get installed.
(Solution: disable gpgchecks)
(At least this worked for me in this case.)
Martin
More information about the Yum
mailing list