Subject: Re: Usefulness of pkgviews vs pkg_hack
To: Johnny C. Lam <jlam@netbsd.org>
From: Rhialto <rhialto@azenomei.knuffel.net>
List: tech-pkg
Date: 10/01/2004 00:58:49
On Thu 30 Sep 2004 at 20:55:51 +0000, Johnny C. Lam wrote:
> The problem is that graphics/gqview doesn't support pkgviews installation.
> Since it is an "overwrite" package, it only looks for its dependencies
> in the default view.

Aha. I had a gnawing suspicion that there must be *something* I was
overlooking... but I thought I had checked everything.

> AFAIR, pkg_view won't let you delete atk-1.6.1 from the default view
> if there are _overwrite_ packages that depend on it (the atk instance
> in the default view).

Yes, it turns out that at least gtk2+ which depends on atk is an
overwrite package.

> No, this solution won't work.  The root problem is trying to mix
> pkgviews and "overwrite" packages, which causes problems exactly as
> you've experienced.  You basically lose the advantage of pkgviews for
> every package dependency chain that includes "overwrite" packages.

At one time there was a random overwrite package that I tried to convert
to pkgview by just pretending to be stupid and claiming it did support
pkgviews. Amazingly it seemed to work, so conversion seemed easy. I
guess the devil is in the details, such as that bash adds
/usr/pkg/packages/bash-2.05.2.7nb1/bin/bash to /etc/shells instead of
the probably more useful /usr/pkg/bin/bash.

> The limitations are mostly due to limitations in the pkg_install tools
> themselves, and without fixing those inherent limitations, it will
> not be possible to have an "overwrite" package freely depend on a
> pkgviews package in the way that you envision.  This is a largish
> project that I hope to tackle early next year. 

Or all packages should be converted to pkgviews, that would also work?
Do real pkgviews packages that depend on other packages at least look
for the depoted files only? (hmm,  how to test this... ah yes it appears
to do so: expat-1.95.8nb1 which is a newer version and not in the
default view, has registered that it is required by pango-1.6.0 which is
also not in the default view. Hey but I do see something strange:
/usr/pkg/packages/pango-1.6.0/+BUILD_INFO contains dependencies on BOTH
versions of expat:

REQUIRES=/usr/pkg/packages/expat-1.95.7/lib/libexpat.so.5
REQUIRES=/usr/pkg/packages/expat-1.95.8nb1/lib/libexpat.so.5

I suppose that's not intended?)

> In the meantime,
> pkgviews does remain an _experimental_ feature of pkgsrc and is off
> by default.  However, this is good feedback as it lets me know that
> what I suspected was a deficiency in the way pkgviews in implemented
> in pkgsrc is actually causing real problems for users.

At least there is something positive about my attempts :-)

> 	-- Johnny Lam <jlam@NetBSD.org>
Cheers too,
-Olaf.
-- 
                           -- Ceterum censeo "authored[1]" delendum esse.
___ Olaf 'Rhialto' Seibert -- [1] Ugly English neologism[2].
\X/ rhialto/at/xs4all.nl   -- [2] For lawyers whose English/Latin is below par.