Bug 212478

Summary: librsvg2 in ImageMagick comes at a big dependency chain cost
Product: [Fedora] Fedora Reporter: Ville Skyttä <scop>
Component: ImageMagickAssignee: Norm Murray <nmurray>
Status: CLOSED RAWHIDE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: adrian, cworth, hdegoede, triage
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: bzcl34nup
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-04-26 05:51:23 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ville Skyttä 2006-10-26 21:50:25 UTC
I was about to upgrade a trimmed-down, headless FC5 PVR box to FC6, and 
noticed that the upgrade wanted to pull in lots of GNOME related things.  I 
need ImageMagick on that box, and it turns out that the almost-certain culprit 
is the librsvg2 support/dependency in it which has been added in FC6.

ImageMagick seems to have some internal practically dependencyless SVG 
support, but when librsvg2 support is additionally built in, it seems to 
result in these packages recursively being pulled in in my setup which I have 
no need for and which were not required in FC5:

GConf2
ORBit2
audiofile
avahi
avahi-glib
dbus-python
esound
gamin
gnome-keyring
gnome-mime-data
gnome-mount
gnome-vfs2
libIDL
libXres
libart_lgpl
libbonobo
libcroco
libdaemon
libglade2
libgnome
libgnomecanvas
libgnomeui
libgsf
libnotify
librsvg2
libutempter
libwnck
libxslt
notification-daemon
startup-notification

There might be some false positives in that list, but most of them seem to be 
directly caused by librsvg2.  I don't know what building ImageMagick with it 
is needed for, but the amount of inflicted dependencies (~30 packages) sure 
feels excessive to me...

Comment 1 Bug Zapper 2008-04-04 04:09:38 UTC
Fedora apologizes that these issues have not been resolved yet. We're
sorry it's taken so long for your bug to be properly triaged and acted
on. We appreciate the time you took to report this issue and want to
make sure no important bugs slip through the cracks.

If you're currently running a version of Fedora Core between 1 and 6,
please note that Fedora no longer maintains these releases. We strongly
encourage you to upgrade to a current Fedora release. In order to
refocus our efforts as a project we are flagging all of the open bugs
for releases which are no longer maintained and closing them.
http://fedoraproject.org/wiki/LifeCycle/EOL

If this bug is still open against Fedora Core 1 through 6, thirty days
from now, it will be closed 'WONTFIX'. If you can reporduce this bug in
the latest Fedora version, please change to the respective version. If
you are unable to do this, please add a comment to this bug requesting
the change.

Thanks for your help, and we apologize again that we haven't handled
these issues to this point.

The process we are following is outlined here:
http://fedoraproject.org/wiki/BugZappers/F9CleanUp

We will be following the process here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping to ensure this
doesn't happen again.

And if you'd like to join the bug triage team to help make things
better, check out http://fedoraproject.org/wiki/BugZappers

Comment 2 Ville Skyttä 2008-04-04 21:31:46 UTC
Current Rawhide is still affected.

Comment 3 Hans de Goede 2008-04-25 13:43:54 UTC
Quick intro: I'm now a comaintainer of ImageMagick, and thus going through all
the open bugs.

This is caused by
/usr/lib/ImageMagick-6.3.8/modules-Q16/coders/svg.so

Which could be put into a seperate sub-package to resolve this, but then we
loose svg support in ImageMagick, which some packages may depend upon, for
example mediawiki does.

So if we want todo this, we should:
1) Only do it in F-10
2) Send a mail to fedora-devel about this, telling people to update there
dependencies if they need svg support from ImageMagick


Comment 4 Ville Skyttä 2008-04-26 03:48:11 UTC
Note that as mentioned in the initial comment, ImageMagick does have some SVG
support even without librsvg2, see MAGICKCORE_RSVG_DELEGATE ifdefs in
coders/svc.c.  I still don't know exactly what features would be affected if the
librsvg2 dependency would be eliminated, but it certainly seems to me that not
nearly everything SVG related.

I should also mention that I've lost interest in this issue to some extent;
there was no progress nor comments in this bug for so long time that I moved on
and changed/patched dvdauthor to use GraphicsMagick instead, and don't even have
ImageMagick installed any more (for now, *knocks wood*...)

Comment 5 Hans de Goede 2008-04-26 05:51:23 UTC
(In reply to comment #4)
> Note that as mentioned in the initial comment, ImageMagick does have some SVG
> support even without librsvg2, see MAGICKCORE_RSVG_DELEGATE ifdefs in
> coders/svc.c.  I still don't know exactly what features would be affected if the
> librsvg2 dependency would be eliminated, but it certainly seems to me that not
> nearly everything SVG related.
> 

Well, using lib rsvg if present is the upstream default and I would rather not
deviate from that.

> I should also mention that I've lost interest in this issue to some extent;
> there was no progress nor comments in this bug for so long time that I moved on
> and changed/patched dvdauthor to use GraphicsMagick instead, and don't even have
> ImageMagick installed any more (for now, *knocks wood*...)

I've been thinking some more about this, and the problem isn't that ImageMagick
requires an svg lib, but that the svg lib requires things like gtk ??

So I'm going to blame librsvg2, and combined with you not caring much anymore
I'm going to close this bug.

Comment 6 Hans de Goede 2008-04-26 06:11:44 UTC
I just saw someone else reported this too and somewhat more recently, see bug
435454. This has lead me todo some more investigation, this indeed is a librsvg2
issue, as that drags in gnomevfs, or atleast used to, as it no longer does this
in rawhide / F-9.