Bug 196002 - scim-libs should prerequire pango
Summary: scim-libs should prerequire pango
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: rpm
Version: 5
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Paul Nasrat
QA Contact: Mike McLean
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-06-20 09:54 UTC by Kirill Kolyshkin
Modified: 2007-11-30 22:11 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-06-20 23:10:06 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Kirill Kolyshkin 2006-06-20 09:54:08 UTC
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

Comment 1 Jens Petersen 2006-06-20 11:34:55 UTC
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?

Comment 2 Jens Petersen 2006-06-20 11:38:25 UTC
Which yum did you do the upgrade transaction with?

Comment 3 Jens Petersen 2006-06-20 11:39:45 UTC
(Doing OS upgrades with yum should be strongly discouraged IMHO btw.)

Comment 4 Kirill Kolyshkin 2006-06-20 12:05:17 UTC
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.

Comment 5 Jens Petersen 2006-06-20 12:17:56 UTC
(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.


Comment 6 Jens Petersen 2006-06-20 12:20:16 UTC
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.

Comment 7 Kirill Kolyshkin 2006-06-20 12:32:25 UTC
(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.

Comment 8 Seth Vidal 2006-06-20 12:42:31 UTC
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.


Comment 9 Jeff Johnson 2006-06-20 23:10:06 UTC
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.

Comment 10 Jens Petersen 2006-06-22 13:07:16 UTC
"scim-libs requires gtk2 > 2.8" and "gtk2 requires pango >= 1.9.1-1"
is a dependency loop?


Note You need to log in before you can comment on or make changes to this bug.