pkgsrc-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: [rant] Too many dependencies
On Tue, 21 Jul 2009 11:04:18 -0400
Greg Troxel <gdt%ir.bbn.com@localhost> wrote:
>
> Thomas Klausner <wiz%NetBSD.org@localhost> writes:
>
> > On Tue, Jul 21, 2009 at 07:00:42AM -0400, Greg Troxel wrote:
> >> The big bug here is librsvg depending on libgsf depending on
> >> gnome. A file format library should not drag in a desktop
> >> environment. But if it reallydoes depend on all that, then maybe
> >> the rsvg option to graphviz should be taken out of the default.
> >
> > librsvg depends on libgsf for svgz (compressed svg) support.
> > libgsf depends on gnome-vfs (needs GConf and hal) and GConf.
> > That's not the whole desktop environment :)
>
> True, but it's part of a desktop environment, and those packages have
> nothing to do with dealing with a file format.
>
> > We could make svgz support a default-on option for librsvg to trim
> > down the tree for those who prefer less dependencies...
>
> pkgsrc is encoding the judgement of the maintainers as to what is
> appropriate. I don't know how prevalent svgz files actually are, and
> whether any significant number of graphviz users want this at all. My
> own bias is to disable by default bloat-causing options.
>
> >> In the case of graphviz, I think most of the extension languages
> >> should be off by default, becuase I've never heard of anyone using
> >> them. That would get rid of ocaml, lua, and tk/tcl.
> >
> > Or make them default-off options or separate packages...
>
> I mean to remove them from PKG_SUGGESTED_OPTIONS.
> Sure, separate packages would be fine if someone wants to do the work.
>
The problems are the load on the package maintainer, and the
combinatorial complexity downstream.
First -- if you add a new option for any package, you double the number
of dependencies a conscientious maintainer has to test. Two options?
That's four different test cases. Add a third option? It's now eight
cases of combinations of options.
The second problem is downstream: what options did the developer of
package foo use, when there's a three-level indirect dependency on
package bar which someone else wants to install? Heck -- I had a
problem, some years ago, where the *presence* of a particular package
caused problems for another package -- either the developer of the
second package didn't use the first one, or installed them in a
different order. Second -- what options are used for bulk package
compiles? The defaults? Are they right? Does that mean you can't
easily mix and match binaries with home-compiled packages? You can't
today in some cases, but this will make it worse.
I'm no saying this is the wrong path, but it does have its
disadvantages.
--Steve Bellovin, http://www.cs.columbia.edu/~smb
Home |
Main Index |
Thread Index |
Old Index