Re: slashdot question: dependencies

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Max Spevack wrote:
Would like to open up a few of these questions for some input from you guys. This is not a replacement for a larger draft of the answers -- this is just as I work on some of the other questions, here's a few that I can't answer alone.

-----------------------------

7) Dependency hell
(Score:5, Interesting)
by Tet

The introduction of yum has vastly improved the user experience when installing software, or updating existing packages. However, it's brought with it a new kind of dependency hell. For example, if I want to install a PostScript previewer:

    % yum install evince
    [...]
    Installing:
    evince x86_64 0.5.1-3 core 773 k
    Installing for dependencies:
    nautilus x86_64 2.14.1-1.fc5.1 updates-released 3.9 M
    nautilus-cd-burner x86_64 2.14.2-1 updates-released 414 k

That's clearly wrong. I only want to install a PostScript previewer. Doing so should not require a filemanager (which I don't need or want), and certainly not a CD burner. But these are added as dependencies due to the clumsy packaging that seems to be increasingly prevalent in Fedora. Perhaps (and I remain unconvinced) there's some aspect of evince that can make use of nautilus being present. But if so, I haven't seen it. I could well believe that nautilus could make use of evince, but not really the other way around. But assume for the sake of argument that it can use nautilus. That still isn't a reason to have it depend on it. Dependencies should be packages that are required in order for another to run, not packages that will merely enable additional functionality. In this case -- the prime function of evince is to view documents, which isn't significantly enhanced by having a file browser present.

In this specific example, we can probably split things up to have a nautilus-evince sub package but since Evince is linked against the nautilus extension interface this is not a totally stupid dependency. It is also of important that Evince is a universal document viewer and not just a postscript previewer and naturally requires more dependencies.




Fedora is still my distribution of choice, but it's becoming increasingly hard to use for those of us that prefer to run with a minimal system due to the way that the dependencies have been getting out of hand. Are there any plans to fix this, or is any work already underway to do so?


There are some ongoing efforts to split up package on occasions and by demand. Filing bug reports when people spot unneeded dependencies or ones that could be cleaned up would be helpful.


I understand that some consideration has been given
to providing "soft dependencies" within RPM (like dpkg's suggested dependencies), which would help. Is there a timeframe for this? Is anything else being done?

We havent updated the Fedora RPM to the latest upstream version which provides the "soft dependencies" feature. Whether we would prefer to use this particular feature is undecided yet. In many cases, simply splitting up packages would work better without pushing the users to choose since soft dependencies can make QA harder.


I quite understand the focus on getting the system to be usable for the average unskilled user. But the impression I'm getting is that it's being done at the expense of letting those of us that know what we're doing do what we want. Does Fedora have a position on the type of users it's aiming for, or is it still trying to be a general purpose OS?


Right on spot. The balance is sometimes between splitting up packages to save some space and memory and having things work better by default. Fedora having the Red Hat Linux lineage made Fedora Core tilted towards the "unskilled" users and Fedora Extras to have more fine grained dependencies. Now what the guidelines have been unified several packages where the binaries where in the same package as the libraries have been split up. ex: XMMS in Fedora Extras, PHP in Fedora Core...

Having more packages in the repositories allows makes it easy to justify splitting up packages since some of them would require the libraries and not the binaries and so on.

We are likely to move incrementally into having more fine grained dependencies in every release.

Rahul

_______________________________________________
fedora-advisory-board mailing list
fedora-advisory-board@xxxxxxxxxx
http://www.redhat.com/mailman/listinfo/fedora-advisory-board

_______________________________________________
fedora-advisory-board-readonly mailing list
fedora-advisory-board-readonly@xxxxxxxxxx
http://www.redhat.com/mailman/listinfo/fedora-advisory-board-readonly

[Index of Archives]     [Fedora Users]     [Fedora Outreach]     [Fedora Desktop]     [Fedora KDE]     [KDE Users]     [Fedora SELinux]     [Yosemite Forum]     [Linux Audio Users]

  Powered by Linux