Got a problem while upgrading FC4 to FC5 using yum: Installing: scim-libs ################### [ 450/2140] Cannot load module /usr/lib/gtk-2.0/immodules/im-scim.so: libpangocairo-1.0.so.0: cannot open shared object file: No such file or directory /usr/lib/gtk-2.0/immodules/im-scim.so does not export GTK+ IM module API: libpangocairo-1.0.so.0: cannot open shared object file: No such file or directory error: %post(scim-libs-1.4.4-9.4.fc5.i386) scriptlet failed, exit status 1 OK let's see if the proper requirement is in place: $ rpm -q --whatprovides libpangocairo-1.0.so.0 pango-1.12.3-1 $ rpm -q --requires scim-libs | grep libpangocairo libpangocairo-1.0.so.0 Apparently, scim-libs should not just require libpangocairo, but rather PreRequire it. So I suggest to add the following like to scim.spec to fix the problem: %package libs ... PreRequires: pango
I wonder if this might be a yum bug. scim-libs prereq's gtk2 > 2.8 which in turn requires pango >= 1.9.1-1. Is that not sufficient?
Which yum did you do the upgrade transaction with?
(Doing OS upgrades with yum should be strongly discouraged IMHO btw.)
Well, the fact that scim-libs prereq: gtk2 and gtk2 req: pango does not lead to scim-libs prereq: pango. Only if A prereq: B and B prereq: C will lead to A prereq: C. I have used latest yum from FC4, i.e. yum-2.4.1-1.fc4. Still, to my mind this is not yum problem but rather deps problem. As a side note: what's wrong with using yum for FCx -> FCx+1 update? I tried it several times, it mostly works.
(In reply to comment #4) > Well, the fact that scim-libs prereq: gtk2 and gtk2 req: pango does not lead to > scim-libs prereq: pango. Only if A prereq: B and B prereq: C will lead to A > prereq: C. Well actually prereq is equivalent to requires, so it is actually so. > I have used latest yum from FC4, i.e. yum-2.4.1-1.fc4. Still, to my mind this is > not yum problem but rather deps problem. I think you should at least use fc5 yum to update fc4 to fc5, but it is not supported. The only supported and safe way to update is using the installer (anaconda) to upgrade. Seriously you can easily totally ruin an install by trying to upgrade with yum (this happened to me when I used fc3 yum to upgrade fc3 to fc4: I'm not just trying to be pedantic :). > As a side note: what's wrong with using yum for FCx -> FCx+1 update? I tried it > several times, it mostly works. *Mostly* yes... but it is not tested and there is no guarantee that it will work. Major system upgrades change so many things so it is much safer to do it from a separate pristine environment which won't break during upgrade.
Having said that I'm protecting the update-gtk-immodules in the install scripts in the next fc5 update to help prevent these kinds of errors in the future. Thanks for the report.
(In reply to comment #5) > Well actually prereq is equivalent to requires, so it is actually so. If this statement is correct, then it should be a yum bug. I will probably ask Seth to take a look at this.
ordering of installs of packages is handled by ts.order() in yum. ts.order() is simply making the rpm-lib call to sort the TransactionSet. You might want to pass this back over to rpm. Sorry Paul.
This is likely to be a dependency loop, which means that the packaging needs to be fixed, as all dependencies in a dependency loop are ignored while ordering out of necessity. NOTABUG in the sense that rpm cannot fix problems induced by package data.
"scim-libs requires gtk2 > 2.8" and "gtk2 requires pango >= 1.9.1-1" is a dependency loop?