Description of problem: librsvg2 contains some executables in the main package which are not needed for packages using the library, and the rsvg-view3 binary drags in gtk3. This is a serious issue because librsvg2 is used by a lot of non-GTK+ libraries such as gstreamer-plugins-bad-free and ImageMagick, making large parts of the distribution (including all of KDE) depend indirectly on gtk3. Version-Release number of selected component (if applicable): librsvg2-2.37.0-2.fc19 (and older) How reproducible: Always Steps to Reproduce: 1. yum remove gtk3 Actual results: yum wants to remove librsvg2, and with it KDE and other non-GTK+ stuff. Expected results: yum does not remove librsvg2 nor its dependencies when removing gtk3. Additional info: Please put rsvg-view3 (and maybe rsvg-convert, though that one doesn't seem to have obnoxious dependencies) into a subpackage.
I have done a build with rsvg-view-3 and rsvg-convert split out to a -tools subpackage. Can you give it a try, please?
librsvg2-2.37.0-3.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/librsvg2-2.37.0-3.fc19
(In reply to comment #2) > librsvg2-2.37.0-3.fc19 has been submitted as an update for Fedora 19. > https://admin.fedoraproject.org/updates/librsvg2-2.37.0-3.fc19 And for Fedora 18 too, please.
Sorry, I'm afraid dependency changes like this are for new Fedora releases only.
Says who? If you do the usual upgrade path trick, which is to add to librsvg2-tools an: Obsoletes: librsvg2 < 2.37.0-3 (the EVR at which the split got made) which makes sure people upgrading from the unsplit librsvg2 get the -tools subpackage (which also requires the main package, so nothing gets lost) dragged in by default (but are able to remove it afterwards), this is totally safe to do in an update, and in fact it has been done many times. (Please note that you DON'T want to obsolete librsvg2 < %{version}-%{release}, because you don't want to drag in -tools for people who are upgrading from an already split package. You should hardcode the EVR at which the split was made, which is 2.37.0-3.)
Things can still break for new installs. For instance, consider an app 'foo' that needs rsvg-convert to function. So far it has worked fine: it has had a dep on librsvg2 (perhaps through rpm autogenerated library deps, perhaps through Requires: librsvg2). What happens if we move rsvg-convert to a subpackage? 1) New package installs through yum break. yum install 'foo' will no longer drag in rsvg-convert. 2) Clean Fedora installs can break the same was as (1) when done via netinstall. 3) Existing installs can break. package-cleanup is now going to say that librsvg2-tools can be safely removed, while 'foo' really needs it. Now, these are all very much thought up issues. It's possible that none of this will happen. And it's equally possible that something will break. We do not know. This is what F19 testing is for. To test the whole distro together and fix any issues that crop up.
Still, many of these splits have been done in the past, usually with no issues, and IMHO the bogus dependency is a bug that needs to be fixed ASAP. So +1 to Eugene's request for an F18 update, and I'm hereby adding a request for an F17 one to that.
Oh, and if you're worried about hidden dependencies on rsvg-convert, you could keep that in the main package for F17/F18, it does not depend on gtk3. rsvg-view3 (the actual offender) surely isn't used by programs.
Package librsvg2-2.37.0-3.fc19: * should fix your issue, * was pushed to the Fedora 19 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing librsvg2-2.37.0-3.fc19' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2013-7978/librsvg2-2.37.0-3.fc19 then log in and leave karma (feedback).
(In reply to comment #8) > Oh, and if you're worried about hidden dependencies on rsvg-convert, you > could keep that in the main package for F17/F18, it does not depend on gtk3. > rsvg-view3 (the actual offender) surely isn't used by programs. And the easiest way to avoid the breakage is to just not do these sorts of inappropriate changes in a released product.
Removing a totally inappropriate dependency is very much appropriate in a released product.
not going to argue it further.
librsvg2-2.37.0-3.fc19 has been pushed to the Fedora 19 stable repository. If problems still persist, please make note of it in this bug report.