[Yum-devel] [PATCH] Delta and global FileRequires Resolving
Florian Festi
ffesti at redhat.com
Wed Mar 21 09:09:28 UTC 2007
> The diff on output from rpm -ql --provides glibc is:
>
> --- /tmp/old.log 2007-03-20 20:33:58.000000000 +0100
> +++ /tmp/new.log 2007-03-20 20:33:45.000000000 +0100
> @@ -232,7 +232,7 @@
> UTF-32.so UTF-7.so VISCII.so -config(glibc) = 2.5.90-17
> +config(glibc) = 2.5.90-19
> ld-linux.so.2 ld-linux.so.2(GLIBC_2.0) ld-linux.so.2(GLIBC_2.1) @@
> -322,7 +322,7 @@
> libutil.so.1 libutil.so.1(GLIBC_2.0) rtld(GNU_HASH) -glibc = 2.5.90-17
> +glibc = 2.5.90-19
> /etc/ld.so.conf
> /etc/ld.so.conf.d
> /etc/localtime
>
> Ok, almost nothing is changed =>
> if old glibc is good, then the new glibc is good too, no need to check
> anything, just
> do the upgrade.
>
> However, look at this:
>
> # python yummain.py -d100 -e100 install glibc | tee /tmp/yum.log
>
> # grep -c 'looking at' /tmp/glibc.log
> 38595
>
> # grep -c 'looking to see what requires' /tmp/glibc.log
> 20974
>
> 60000 checks!
>
> How can this be needed?
May be because the Prco from the rpmdb look like this:
('tla', None, ('0', None, None))
And the Prco from the sqlite db look like that:
('tla', 0, (None, None, None))
Which makes this oldreqs cheater lookup fail in >95% of all cases in
_checkInstall().
As changing one of them will likely break a lot of other places I leave the
fixing as exercise for the reader ;)=
Florian
More information about the Yum-devel
mailing list