Subject: Re: Unification of distfiles
To: Kris Kennaway <>
From: Kris Kennaway <>
List: tech-pkg
Date: 10/19/2003 14:25:09
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sun, Oct 19, 2003 at 11:08:49PM +0200, Marc Espie wrote:
> On Sun, Oct 19, 2003 at 01:30:34PM -0700, Kris Kennaway wrote:
> > In FreeBSD land we have a main package build cluster that continually
> > builds packages for all supported architectures and versions.  As a
> > side-effect of the package builds we collect, verify and periodically
> > update the distfiles on the master FreeBSD FTP site, and they are
> > mirrored from there by the hierarchy of FTP mirror sites in the usual
> > way.  From the point of view of the mirror operator this all happens
> > automatically and they don't have to do anything special to deal with
> > distfiles.
> Assume the author of ImageMagick updates his tarball, but doesn't change
> the name, so that there are two ImageMagick-5.2.9.tar.gz with distinct=20
> sha1 checksums.
> On OpenBSD mirrors, the old one stays available, under
> sha1/<checksum>/ImageMagick-5.2.9.tar.gz
> If I understand you correctly, your build/update cycle will overwrite
> the old one. And users will have to update their ports tree to be able
> to use the new tarball without a checksum error, since the old one is no
> longer available.

Yes, that's correct.  It's not something we've been worried about in
the past because it only affects relatively few ports.  For ports
where this happens routinely, the solution has been to set DIST_SUBDIR
to $PKGNAME, which picks up a unique version number with each new
checksum committed (via PORTREVISION increment).

Completely reorganising the way distfiles are stored on the mirrors
could cause a lot of pain to get right (dozens of mirror sites would
need to coordinate or they'd end up downloading 20GB of data from
scratch)..this is something we'd have to think about some more.


Content-Type: application/pgp-signature
Content-Disposition: inline

Version: GnuPG v1.2.3 (FreeBSD)