Subject: Re: keeping pkgsrc up-to-date
To: Marton Fabo <morton@eik.bme.hu>
From: Greg A. Woods <woods@weird.com>
List: tech-pkg
Date: 07/02/2002 13:38:38
[ On Tuesday, July 2, 2002 at 12:02:38 (+0200), Marton Fabo wrote: ]
> Subject: Re: keeping pkgsrc up-to-date
>
> 
> Well, that's a big problem. I had a machine for example, with (quite 
> unstable) cable net access, and I tried supping pkgsrc for weeks without a 
> single successful session. That suxx.

So, your complaint against cvs, sup, and perhaps rsync (though you
didn't explicitly mention the latter), is really only that they hold
connections open for quite a long time without any activity and that
this utilization pattern doesn't work well with your available
connectivity.  Thus your complaint is really only about your own network
connectivity, not any given method of updating a local copy of the
NetBSD sources (or repository).  :-)

Given your current connectivity constraints, that really does leave only
fetching the tar archive, or perhaps using cvsup (though it too can run
for quite a long time if either client and/or server are not quite fast
and powerful machines).

I really can't imagine what your problem is with using the tar archive,
unless perhaps you do keep local changes in your pkgsrc tree and you
don't want to wipe them out (in which case you should instead be using a
local CVS repository and importing the new (unpacked) tar archive and
then merging into your local working tree).  Yes, the tar archive is
big, but if you have a high-speed connection then fetching it is quite
often faster overall than any other method of updating your sources
(unless you count the unpacking, and perhaps CVS import and merge time ;-),
and of course it always works because you can do it when you know your
connection is up and working reliably enough to attempt the fetch.

I think CVSup could be the best all-round solution for everyone (because
with one tool it can do all the different types of updates, and it's
very efficient at what it does), except unfortunately it's not (yet)
usable by everyone because it won't work on many NetBSD platforms.  You
could try it if it's supported on your platform.

BTW, your suggested use of e-mail based updating assumes the diffs for
changes are actually sent in e-mail.  Traditionally in FreeBSD this kind
of mechanism has been called "CTM", or "CVS Through Email" (or as the
manual page says "Current Through Email").  The scripts proposed by Sean
and Thomas are a grossly inefficient way of doing CTM in a "pull"
fashion.  I don't believe they will in any way solve your real problems.

-- 
								Greg A. Woods

+1 416 218-0098;  <gwoods@acm.org>;  <g.a.woods@ieee.org>;  <woods@robohack.ca>
Planix, Inc. <woods@planix.com>; VE3TCP; Secrets of the Weird <woods@weird.com>