Subject: Re: Proposed changes to bsd.pkg.mk
To: David Burgess <burgess@mitre.org>
From: Alistair Crooks <agc@pkgsrc.org>
List: tech-pkg
Date: 04/14/2001 21:45:07
On Fri, Apr 13, 2001 at 05:05:14PM -0500, David Burgess wrote:
> Alistair Crooks wrote:
> > 
> > 
> > 1. Move md5 and patch-sum info out of the files/ subdir, thereby
> > losing most of the files/ dirs from most packages.
> > 
> > 2.  Move the PLIST and DESCR and other binary package support files
> > out of the pkg/ subdirectories into the package directory, thereby
> > losing the pkg/ subdirs.
> 
> I don't know about this one...  I like having the PLIST and DESCR files
> in their own directory.

Whilst it's what we've been used to in the past, what does having
those files in a separate directory actually gain? The files directly
govern the building of a package, which is what the package Makefile,
and the new distinfo file do - there doesn't really seem to be any point
in segregating them into a ghetto directory, and bussing them in and
out at package install time.

> > 3.  Incorporate other information into the area which holds the digest
> > info for distfiles, distpatches and patches.  In particular, I'd like
> > the size of the distfiles and distpatches to be recorded.  This is not
> > really for file integrity reasons (if the digest doesn't do that for
> > you, it's not a very good digest), more for doing things like putting
> > virtual quotas on sizes of distfile that can be downloaded without a
> > warning.  And also for my personal use - I really would like to know
> > how big a distfile is before I even contemplate downloading it over
> > a dialup line.
> 
> [...]
> 
> On the download size issue, it would certainly be nice to be able to say
> "No, wait until the world has gone to bed to download the OpenMotif
> file."  In fact, it would be really spiffy to be able to turn that on
> and off in the /etc/mk.conf (FAST_DOWNLOAD= YES).

see "virtual quotas" above. I was thinking about something like

# maximum size which can be downloaded
DOWNLOAD_QUOTA= 5000000

with perhaps a download time specified. Mainly I was just thinking out
loud, but it could be useful functionality for some people.
 
> > Now whether the digests go in the pkg Makefile or in a separate
> > distinfo file like FreeBSD are doing are another topic for discussion.
> > 
> 
> I was out grabbing the package for saint and noticed this.  I have to
> admit that it is a tempting idea.  It avoids mucking about in the
> Makefile every time a patch changes, and does allow us to extend the
> model for the package.

Indeed.  Although the rationale they gave for moving to the name
"distinfo", in particular an article that Soda-san referred me to in
BSD Magazine, was because they might put extra information in the
file, and because they might move to a digest format other than md5. 
As they just decided that md5 was sufficient for them, I'm not too
sure where they're going with this stuff.
 
> On the other end of the spectrum, I'd like to know what package dist
> files I can delete.  As we work our way through the versions in the
> packages, it would be nice to know that distfile $version-1 can be
> deleted since we are now downloading a new version.  There are probably
> clean ways to handle that now, but this would make it so that we could
> have two or three valid 'old versions' around in case we need them for
> something, but still help automate the cleanup of the distfiles
> directory.  Just a musing.

lintpkgsrc -o

(from pkgsrc/pkgtools/pkglint)
 
Regards,
Alistair