Subject: Re: User's guide to pkgviews (experimental!)
To: Bruce J.A. Nourish <bjan+tech-pkg@bjan.net>
From: Alistair Crooks <agc@pkgsrc.org>
List: tech-pkg
Date: 01/06/2004 12:20:08
On Tue, Jan 06, 2004 at 01:31:41AM -0700, Bruce J.A. Nourish wrote:
> > 	* fully dynamic PLISTs
> 
> My apologies for not catching on, but (briefly) how does pkgviews 
> relate to staged installs?

Staged installs are where the packages is installed into a staging
area, and then a check is made to see if anything would be overwritten
in the main target area.  OpenBSD do this (this is what their FAKE
does; create a binary package in the staging area and then install
that into the main area), and it allows binary packages to be built
without installing them first.

Please note that we call the staging area the "depot".
 
Package views installs the package into the depot
(${PREFIX}/packages/${PKGNAME}), and then creates a linkfarm from the
standard view (${PREFIX}) into the files in the depot.  Other
linkfarms from different views can be created, pointing to the files
and directories in the depot area.

New versions of packages can be tried, tested and evaluated before
installing them into the standard view.  Conflicting packages can be
installed into a different view, thereby allowing the use of
conflicting packages on the same machine.  Binary packages can be made
without installing them into the standard view.  Rather than
specifying all files belonging to a package in advance, it is possible
to let the packaging software work out for you which files it uses -
aka dynamic PLISTs - which can make initial pkgsrc entry creation much
easier, and also addresses problems where certain packages can install
different files, given different build flags.

More information on pkgviews from my EuroBSDcon 2002 paper:

	http://www.NetBSD.org/Documentation/software/pkgviews.pdf

> As a related question, why isn't everyone using staged installs 
> already? It seems to be so much better and easier. One possible answer
> I can see is that old versions of pkg_* might not support it. But 
> then how long will it be until we can rely on these new features?

I made some changes to use staged installs, and seb and I spent about
a week some time ago modifying packages to perform staged installs. 
At the end of the week, there were about 80 packages that had been
changed.  It was time-consuming, difficult, and prone to error.  I had
tried to do the changes for Perl, and failed - its configuration
script is precious.

So we decided to wait for the deployment of pkgviews.

BTW, we check on the version of the pkg_install tools in bsd.pkg.mk,
and force their upgrade if they do not provide the necessary
functionality.

Regards,
Alistair
--
Alistair Crooks <agc@pkgsrc.org>