pkgsrc-Users archive

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

Re: Why including meta-pkgs everywhere ?

On Oct 10, 2009, at 2:18 PM, Demelier David wrote:

Hello pkgsrc-users@

I can't understand why pkgsrc include meta-pkg depend everywhere, I mean I wanted to install only some kdebase stuff and it depend on everything meta-

Same for k3b, konversation, kmess, why these pkg needs a full kde installation ? Do you think konversation need kdeedu, kdegames, kdemultimedia ? I don't
think so and pkgsrc is the only one framework including a full kde
installation I seen.

I suspect that in principle, you're right; in practice, though, it's pretty hard.

I maintain a few packages. Figuring out the minimal set of dependencies is difficult, since few software writers document it very well. Even when they try, they often forget to list things that are standard on their favorite Linux distribution. Let's face it, linux is the native environment for much of pkgsrc; we're often in the position of providing a similar-enough environment for most of it to work.

Suppose I'm trying to create a package for something that's native to the kde4 world. I could try to build the absolute minimum set of prerequisites, but that's often an iterative process, and kde4 builds take a *long* time. So I build some possible predecessors and try to build my package. If it fails, I should delete the kde4 piece I just tried -- and what it installed as its prerequisites -- and try again with a different predecessor. Worse yet, there are often interactions -- see pkg/33652 for one case where I had problems as a user of pkgsrc -- and those, too, are hard on the maintainer. (That's probably not the best example, but it was a very easy one for me to find.)

So what should people do when building packages? We all have limited time and day jobs. Sometimes, one just has to make a very pragmatic decision: assume that most of the users will need enough of the components of the metapackage that it isn't worth trying to break it apart. List everything as a prerequisite; it minimizes pain not only for the maintainer, but also for users who will have fewer strange interactions to cope with.

                --Steve Bellovin,

Home | Main Index | Thread Index | Old Index