Subject: Re: splitting pkgsrc.tar?
To: Hubert Feyrer <hubert.feyrer@rz.uni-regensburg.de>
From: Robert V. Baron <rvb@cs.cmu.edu>
List: tech-pkg
Date: 01/29/1999 09:06:19
Hubert Feyrer <feyrer@rfhs8012.fh-regensburg.de> writes:

> On 28 Jan 1999, Robert V. Baron wrote:
> > Actually, I'd like to argue that the pkg system infrastructure is part
> > of the base system and really should be there.
> 
> In a perfect world, yes. But given that pkgsrc and the pkg_* and
> bsd.pkg.mk it depends on evolve much faster than the base system gets
> updated, we had to move them over to pkgsrc to get in sync.
Ah, yes, I forgot how slowly we put out releases.  I get a new one
at least once a month.

"Alistair G. Crooks" <agc@westley.demon.co.uk> writes:

> Robert,
> 
> > Actually, I'd like to argue that the pkg system infrastructure is part
> > of the base system and really should be there.
> 
> They were part of the base system, and we moved them out of there. This is 
> because there are just too many problems trying to keep everything in sync 
> when they are not logically grouped together. As a counter example, take a look at 
> the FreeBSD ports collection, and see how many problems they run into whenever 
> they introduce some new feature. This is one of the best changes that we ever 
> made, IMO.

You bring up a very interesting point.  I wanted to build
coda5_client, but I did not want to put it into /usr/pkgsrc, yet.  On
freebsd, this just works.  You make a directory anywhere, put in the
port and it builds.  In our scheme, things are much harder.  This is
all because we use relative path names for the *.mk stuff.  So what
you need to do is create
	net/coda5_client
	mk as a link to /usr/pkgsrc/mk
This lets you build but all the packages dependencies fail.

What I'd like to suggest is that we/you go back to absolute path names
and root the tree at /usr/pkgsrc.  The base tgz would populate it.
And you would release periodic upgrades for mk,pkg_* independent of 
the base system and synchronized with the package system.  I think
that the package system itself then can be placed anywhere in the source
tree.  (Now using absolute pathnames to the mk and package stuff.)