Description of problem: Graphviz depends on way too many dependencies. Installing graphviz on a server pulls alsa, X libs, avahi, gtk, gnome, hal, hwdata, radeontool, and many, many other unrelated packages that are not even nearly suitable for a server. Version-Release number of selected component (if applicable): graphviz.i386 2.14.1-3.fc8 Graphviz should be divided on packages that allow to use just the command-line tools like dot and neato, and nothing else. It is not necessary all these libraries for the sole purpose of creating graphs. This is the current yum output when trying to install just "graphviz": ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: graphviz i386 2.14.1-3.fc8 fedora 1.1 M Installing for dependencies: GConf2 i386 2.20.1-1.fc8 fedora 1.6 M ORBit2 i386 2.14.10-2.fc8 fedora 187 k PolicyKit-gnome i386 0.6-1.fc8 fedora 34 k alsa-lib i386 1.0.15-1.fc8 fedora 408 k atk i386 1.20.0-1.fc8 fedora 212 k audiofile i386 1:0.2.6-7.fc8 fedora 107 k avahi i386 0.6.21-8.fc8 updates 237 k avahi-glib i386 0.6.21-8.fc8 updates 17 k bluecurve-icon-theme noarch 8.0.0-1.fc8 fedora 5.1 M cairo i386 1.4.14-1.fc8 updates 562 k control-center-filesystem i386 1:2.20.3-3.fc8 updates 34 k cups-libs i386 1:1.3.7-2.fc8 updates 195 k dmidecode i386 1:2.7-1.26.1.fc6 fedora 61 k esound-libs i386 1:0.2.38-6.fc8 fedora 73 k fedora-gnome-theme noarch 8.0.0-1.fc8 fedora 10 k fedora-icon-theme noarch 1.0.0-1.fc8 fedora 115 k fontconfig i386 2.4.2-5.fc8 fedora 177 k freetype i386 2.3.5-3.fc8 fedora 330 k gail i386 1.20.2-1.fc8 updates 290 k gnome-keyring i386 2.20.3-1.fc8 updates 210 k gnome-mime-data noarch 2.18.0-2.fc7 fedora 724 k gnome-mount i386 0.7-1.fc8 fedora 126 k gnome-themes noarch 2.20.2-1.fc8 updates 2.5 M gnome-vfs2 i386 2.20.1-1.fc8 updates 1.1 M gtk-nodoka-engine i386 0.6.2-1.fc8 updates 47 k gtk2 i386 2.12.5-1.fc8 updates 6.7 M gtk2-engines i386 2.12.2-1.fc8 fedora 393 k hal i386 0.5.10-1.fc8.2 updates 460 k hal-info noarch 20071030-1.fc8 fedora 74 k hal-libs i386 0.5.10-1.fc8.2 updates 61 k hicolor-icon-theme noarch 0.10-2 fedora 32 k hwdata noarch 0.215-1.fc8 updates 805 k kbd i386 1.12-27.fc8 fedora 1.0 M libICE i386 1.0.4-2.fc8 fedora 53 k libIDL i386 0.8.9-1.fc8 fedora 87 k libSM i386 1.0.2-4.fc8 fedora 24 k libX11 i386 1.1.3-4.fc8 fedora 803 k libXau i386 1.0.3-3.fc8 fedora 19 k libXaw i386 1.0.4-1.fc8 fedora 198 k libXcomposite i386 0.4.0-3.fc8 fedora 14 k libXcursor i386 1.1.9-1.fc8 fedora 29 k libXdmcp i386 1.0.2-4.fc8 fedora 21 k libXext i386 1.0.1-4.fc8 fedora 32 k libXfixes i386 4.0.3-2.fc8 fedora 14 k libXfont i386 1.3.1-2.fc8 updates 223 k libXft i386 2.1.12-3.fc8 fedora 44 k libXi i386 1.1.3-1.fc8 fedora 28 k libXinerama i386 1.0.2-3.fc8 fedora 12 k libXmu i386 1.0.3-3.fc8 fedora 60 k libXpm i386 3.5.7-1.fc8 fedora 42 k libXrandr i386 1.2.2-1.fc8 fedora 21 k libXrender i386 0.9.4-1.fc8 fedora 27 k libXres i386 1.0.3-3.fc8 fedora 13 k libXt i386 1.0.4-3.fc8 fedora 170 k libart_lgpl i386 2.3.19-3.fc8 fedora 77 k libbonobo i386 2.20.3-1.fc8 updates 469 k libbonoboui i386 2.20.0-1.fc8 fedora 352 k libfontenc i386 1.0.4-4.fc8 fedora 23 k libglade2 i386 2.6.2-3.fc8 fedora 64 k libgnome i386 2.20.1-2.fc8 fedora 966 k libgnomecanvas i386 2.20.1-1.fc8 fedora 228 k libgnomeui i386 2.20.1.1-1.fc8 fedora 1.0 M libjpeg i386 6b-39.fc8 fedora 139 k libnotify i386 0.4.4-8.fc8 fedora 33 k libpng i386 2:1.2.22-1.fc8 fedora 244 k libsmbios-bin i386 0.13.13-1.fc8 updates 58 k libsmbios-libs i386 0.13.13-1.fc8 updates 237 k libthai i386 0.1.9-2.fc8 updates 186 k libtiff i386 3.8.2-9.fc8 fedora 308 k libtool-ltdl i386 1.5.24-3.fc8 fedora 39 k libutempter i386 1.1.5-1.fc8 updates 22 k libwnck i386 2.20.3-1.fc8 updates 322 k libxcb i386 1.0-4.fc8 updates 117 k metacity i386 2.20.2-1.fc8 updates 2.2 M nodoka-metacity-theme noarch 0.3.2-2.fc8 fedora 7.8 k nodoka-theme-gnome noarch 0.3.2-2.fc8 fedora 11 k notification-daemon i386 0.3.7-6.fc8 fedora 48 k pango i386 1.18.4-1.fc8 updates 362 k pciutils i386 2.2.9-1.fc8 updates 92 k pm-utils i386 0.99.4-6.fc8 fedora 28 k radeontool i386 1.5-2.fc8 fedora 20 k shared-mime-info i386 0.23-2.fc8 updates 166 k startup-notification i386 0.9-3.fc8 fedora 38 k urw-fonts noarch 2.4-3.fc8 updates 3.2 M usermode i386 1.93.1-1.fc8 fedora 186 k vbetool i386 0.7-2.fc8 fedora 64 k xorg-x11-filesystem noarch 7.1-2.fc6 fedora 5.5 k xorg-x11-font-utils i386 1:7.2-2.fc8 fedora 76 k Transaction Summary ============================================================================= Install 89 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 38 M
This bug is also a big problem for me. I use several apps that only require the non-x graphviz apps, such as dot, and as OP, I really wouldn't install all those gnome dependencies on my production servers. Perhaps the now closed bug 206713 could shed some light into a possible solution?
Here's the non-recursive list against rawhide using repoquery: $ repoquery --requires --resolve --alldeps --qf '%{name}\n graphviz |sort atk bash cairo expat fontconfig freetype freetype-freeworld GConf2 gd glib2 glibc gnome-vfs2 graphviz gtk2 libart_lgpl libbonobo libbonoboui libgcc libgnome libgnomecanvas libgnomeui libICE libjpeg libpng libSM libstdc++ libtool-ltdl libX11 libXaw libXext libXmu libXpm libXt ORBit2 pango popt urw-fonts zlib And this is ironic, because graphviz suffers from subpackageitis -- there's 15 subpackages to the main package already. The language-dependent ones make sense because otherwise we'd have to bring in all of java and ocaml and whatever else, but the others: -devIL: DevIL (195k; would also pull in lcms-libs, libmng, and libtiff) -gd: *nothing* not already required by base package (including gd) -graphs: *nothing* -- this doesn't add functionality, and should either be added to the docs subpackage if it's useful and dropped if it isn't.
I've added the gd comment as bug #468093. Also, updating this to rawhide -- although I'm not sure if the current list of things still brings in the more ridiculous deps above. (Although "yum remove gnome-themes" does still try to remove graphviz, so it's worth visiting -- remember my list there isn't recursive.)
(In reply to comment #2) > And this is ironic, because graphviz suffers from subpackageitis If -gd gets merged with base package, and -graphs with -doc, and the X11-dependent stuff split into a -X11 package, we have two less and one more subpackage, reducing the number of subpackages by one. So, it is a win. :-)
This bug appears to have been reported against 'rawhide' during the Fedora 10 development cycle. Changing version to '10'. More information and reason for this action is here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping
I was bitten by this in rawhide (F12): DEBUG util.py:280: Executing command: /usr/bin/yum --installroot /var/lib/mock# DEBUG util.py:256: xfce4-notifyd-0.1.0-1.fc12.x86_64 from build has depsolving# DEBUG util.py:256: --> xfce4-notifyd conflicts with notification-daemon DEBUG util.py:256: Error: xfce4-notifyd conflicts with notification-daemon DEBUG util.py:256: You could try using --skip-broken to work around the probl# DEBUG util.py:256: You could try running: package-cleanup --problems DEBUG util.py:256: package-cleanup --dupes DEBUG util.py:256: rpm -Va --nofiles --nodigest I use what is presently "graphviz-gd" as a dependency to generate documentation together with doxygen. The current dependency tree is broken for using graphviz around this conflict in other packages I do not need in rawhide since it pulls gnome and other things. I vote for a separate subpackage for the gtk/gnome subpackage. The problem is purely from plugins which use/introduce gtk, cairo and other gnome dependencies, not from graphviz itself, and these plugins could easily be placed in a new subpackage.
This message is a reminder that Fedora 10 is nearing its end of life. Approximately 30 (thirty) days from now Fedora will stop maintaining and issuing updates for Fedora 10. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as WONTFIX if it remains open with a Fedora 'version' of '10'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version prior to Fedora 10's end of life. Bug Reporter: Thank you for reporting this issue and we are sorry that we may not be able to fix it before Fedora 10 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora please change the 'version' of this bug to the applicable version. If you are unable to change the version, please add a comment here and someone will do it for you. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. The process we are following is described here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Fedora 10 changed to end-of-life (EOL) status on 2009-12-17. Fedora 10 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. Thank you for reporting this bug and we are sorry it could not be fixed.
There was never any reply from the maintainer. There's no indication this has been fixed (based on package logs), so moving to rawhide again. Patrick?
From upstream - I understand and am sympathetic to the needs of web servers without X11, however, these days we consider libpangocairo to be basic to good layouts in all formats, not just X11 formats. Since libpangocairo itself has dependencies on X11, we cannot escape the X11 dependencies in the base package. I'd even split off all pangocairo (and X11) dependences into their own package - if Fedora's rpm had something like Suse's mechanism for suggesting other packages. (Something a bit less than "depends on" but stronger than "optional" for most users) I guess I don't really understand what the big deal is about binary dependencies? yum or rpm take care of them, no?
(In reply to comment #10) > I'd even split off all pangocairo (and X11) dependences into their own package > - if Fedora's rpm had something like Suse's mechanism for suggesting other > packages. > (Something a bit less than "depends on" but stronger than "optional" for most > users) We do have this; we can make the package be installed by default in the comps file. > I guess I don't really understand what the big deal is about binary > dependencies? yum or rpm take care of them, no? They take care of pulling them in, which is the problem. In the desktop or laptop case, it's no big deal, as disk space is cheap. But for servers, keeping these unrelated packages off is important for reducing the attack surface. And, for cloud-based deployments or other VM uses, suddenly size is important again. Keeping images small is a big deal, and hard dependency chains like this make that impossible.
ok, I'll see about splitting out x11 dependencies for 2.30
There is a new "graphviz-x" rpm in the development snapshots at www.graphviz.org. "dot" in the base package is capable of rendering SVG, PS, (and other text formats), but any bitmap format will require graphviz-x, or graphviz-gd, both of which will pull in x11 dependencies. Feedback welcome - I'm trying to ship 2.30 stable release in the next few weeks.
This bug appears to have been reported against 'rawhide' during the Fedora 19 development cycle. Changing version to '19'. (As we did not run this process for some time, it could affect also pre-Fedora 19 development cycle bugs. We are very sorry. It will help us with cleanup during Fedora 19 End Of Life. Thank you.) More information and reason for this action is here: https://fedoraproject.org/wiki/BugZappers/HouseKeeping/Fedora19
This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component.
This message is a notice that Fedora 19 is now at end of life. Fedora has stopped maintaining and issuing updates for Fedora 19. It is Fedora's policy to close all bug reports from releases that are no longer maintained. Approximately 4 (four) weeks from now this bug will be closed as EOL if it remains open with a Fedora 'version' of '19'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 19 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete.
Fedora 19 changed to end-of-life (EOL) status on 2015-01-06. Fedora 19 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. If you are unable to reopen this bug, please file a new report against the current release. If you experience problems, please add a comment to this bug. Thank you for reporting this bug and we are sorry it could not be fixed.