Subject: Re: Binary package sets
To: David Brownlee <abs@netbsd.org>
From: Frederick Bruckman <fb@enteract.com>
List: tech-pkg
Date: 04/23/2001 09:55:43
On Mon, 23 Apr 2001, David Brownlee wrote:

> On Sun, 22 Apr 2001, Thor Lancelot Simon wrote:
>
> > [ updating png on 1.5 system with tagged pkgsrc -> rebuild most packages ]
> >
> > P.S. I'm not saying that this is an easy problem to solve, but I *am*
> >      saying that it is ridiculous to pretend that it is not a problem at
> >      all.  If we supplied a basic set of built binaries that users could
> >      use to bootstrap a "bulk reinstall" of packages in this kind of
> >      situation, that would be one thing -- but we don't; people cannot
> >      bring themselves to stop *changing* the contents of the binary
> >      package directory numbered for each release, and they *do not* test
> >      the packages they upload *with the other packages already there*
> >      instead of *on the system they built the new package on*, so that
> >      bad dependencies and stealth package mismatches propagate throughout
> >      the collection.  In other words, users are forced to regularly rebuild
> >      huge amounts of stuff from source, so it behooves us to keep the source
> >      as useful as possible on a continual, not an occasional basis.

That's exactly right. The bulk-build "baseline" should be built once,
against the tag, and following upgrades should be more judicious. To
that end, we could agree to never upload a package that has the same
version number as the baseline tag. (I have never followed that rule
myself, by the way, but I'm lately beginning to see the need for it.)
If there's a fix that needs to go in (maybe only a bump in a
${DEPENDS}), the builder can bump the version number just before
building and uploading the package.

What that would accomplish: 1) The download and maintainence
requirements on folks maintaining their own systems from binary
packages would be minimized, and especially, 2) The latest version of
everything would mostly work, and if not, you're only one, discrete
fix away from success. That is, we can say, "I've updated foo-1.4 to
foo-1.4nb1, please try that package with the other's you have," rather
than "Screw it, build them all yourself from scratch."

There's basically a clean slate for 1.4.3 now -- there's only a
handful that I've built, for i386 and m68k, and they were all built on
the same machine(s), against each other -- and we can resolve to do
this for 1.5.1.

> 	I think everyone agrees that pkgsrc source should be buildable
> 	ideally at all times, and people do expend some significant
> 	effort towards that already.
>
> On the binary package front - would it help if we tried to keep
> the binary package uploads to binary packages generated from
> 	the bulk package builds? We should have enough people and machines
> 	to make that work.

Bulk builds are great for sanity checking the current state of package
source, but that won't fix the problem Thor refers to at all. It's
exactly the wrong to do, in fact. It'll practically force people to
download and update all their packages whenever they want to upgrade
only _one_.


Frederick