Subject: Re: Master sites randomization
To: Todd Vierling <tv@duh.org>
From: Mike M. Volokhov <mishka@apk.od.ua>
List: tech-pkg
Date: 06/07/2005 16:31:41
On Fri, 3 Jun 2005 10:46:25 -0400 (Eastern Daylight Time)
Todd Vierling <tv@duh.org> wrote:

> On Fri, 3 Jun 2005, Mike M. Volokhov wrote:
[snip]
> > The pkgsrc already have it at devel/bmake maintained by the author
> > (Simon J. Gerraty).
> 
> Ah yes, that's who.  :)
> 
> The problem is that these sources are not used by bootstrap.

Moreover, for using with bootstrap it must be stored within bmake/files
directory rather downloadable from the net.

> There are several "packages" that are built and installed without
> registering into pkgdb by bootstrap.  That's the real problem -- changing
> bootstrap to register virtual packages for more than just "digest".  At that
> point it would be possible to make packages for bmake, mk-files, etc.
> upgradeable without too much trouble.

To achieve this I would propose two ways (same by nature, but different
in implementation):

1) Built but doesn't install the complete pkgsrc bootstrap kit. Then
use these tools from the work directory to install the real packages:
bmake, pkg_install, tnftp, make-files and so on. This way is similar to
NetBSD build.sh tool. 

2) Create tiny and very generic version of pkgsrc makefiles. Using this
make logic, native make available in the OS, pkg.sh and some other
tools, install the complete packages for pkgsrc. 

On the other hand, it may be troublesome, when mk files requires new
bmake (after cvs update) and bmake should be upgraded via pkgsrc
itself. In this case we'll have some sort of deadlock. And once again I
see two ways to workaround this:

1) Create the tiny version of pkgsrc make files which can be used by
any version of make and upgrade the packages as usual. The pkgsrc may
detect such mismatches and properly handle them.

2) Check *all* the tools versions on every pkgsrc startup and stop with
error message, indicating the need for upgrade using bootsrap kit. In
this case there are no real need to register tools at all.

--
Mishka.