Subject: Re: Package Views Integration (finally!)
To: Hubert Feyrer <hubert.feyrer@informatik.fh-regensburg.de>
From: Julio M. Merino Vidal <jmmv@menta.net>
List: tech-pkg
Date: 08/21/2003 11:59:25
On Thu, 21 Aug 2003 11:33:19 +0200 (MEST)
Hubert Feyrer <hubert.feyrer@informatik.fh-regensburg.de> wrote:

> On Thu, 21 Aug 2003, Julio M. Merino Vidal wrote:
> > Actually, buildlink2 is the main cause of the recursive dependancy
> > registration problem, because all included buildlink2.mk files are
> > treated as direct dependancies.
> 
> Um, that's not true.
> You can DEPEND+=kde and still have a lot of depending pkgs, w/o buildlink
> involved at all.

Hmm... I thought using DEPENDS directly included a single dependancy.

> IMHO having dependencies registered as we have it right now is a benefit
> as you see with one "pkg_delete foo" what still needs foo

It has been discussed more than once IIRC, and it is a problem.  For example,
all revision bumps needed when bumping a revision.  Or having a program depend
on a package where this dependancy is only needed by another dependancy (for
example, what I noticed yesterday, xmms does not use esound at all ATM, but it
registers it as a dependancy because libmikmod needs it; the same happens with
lots of packages).

> You'll have to
> descend down otherwise... either manually, which would suck, or
> automatically, which you have to code first, and which has the same effect
> as not doing this at all.

I think pkgdepgraph does it... or maybe it relies on the current behavior?

> Not sure what problem you're talking about. (Other than a pure
> pkgsrc-one).

The problem is that your package does, for example:

.include "../../cat1/pkg1/buildlink2.mk"

This cat1/pkg1 could be registered as a "first level" dependancy.  But then,
this buildlink2 file includes cat2/pkg2, cat3/pkg3 and many other buildlink2.mk
files, which add direct dependancies too and are treated the same way, doesn't
matter if it was included by the main Makefile or other included files.

I said it may be a good time to do this change now because, as you will have
to convert packages manually, you have the chance to review which exact deps
it uses and remove any of the indirect ones if not needed (i.e., if a package
depends on gnome-vfs2, it shouldn't need an explicit dependancy on bzip2 or
whatever, if not used *directly* by the package).

Cheers

-- 
Julio M. Merino Vidal <jmmv@menta.net>
The NetBSD Project - http://www.NetBSD.org/