Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 07 Aug 2005 09:28:46 -0700
From:      Colin Percival <cperciva@freebsd.org>
To:        "M. Warner Losh" <imp@bsdimp.com>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: Adding portsnap to the base system
Message-ID:  <42F636BE.3020906@freebsd.org>
In-Reply-To: <20050807.101746.68985623.imp@bsdimp.com>
References:  <42F62C5F.6000609@freebsd.org> <20050807.101746.68985623.imp@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help
M. Warner Losh wrote:
> I'm confused.  Earlier in this thread it looked like someone said it
> distributed binaries.

If someone said that, they were confused.

>  Now this seems to indicate it is just cvsup in
> checkout mode.  Which is it?

CVSup in checkout mode, sort of.  Portsnap works using a compressed
snapshot of the ports tree, which is then used to update /usr/ports,
and also provides INDEX files; but the job it replaces is basically
that of cvsup in checkout mode.

> And when posting questions like this, it
> is usually good to include pointers to documentation (although the
> diff below does contain the man pages).

In addition to the man pages, there are some details at
http://www.daemonology.net/portsnap/

> Is there some reason you've reinvated fetch as well?  What does
> phttpget do that fetch(1) or fetch(3) doesn't?  The only thing that
> looks like it might is pipelining mode, which would be better in the
> base fetch program, imho.

Yes, pipelined HTTP.  Basically, I spent six months on-and-off, and
at least two weeks of actual work, trying to fit pipelined HTTP into
fetch(3)... but the design of that library is all around the idea of
fetching a single file at once.  In the end I gave up and wrote my
own code (phttpget) in under 24 hours.

> neither make_index nor phttpget have man pages.

They are both installed in /usr/libexec and only intended to be used
by portsnap.  I didn't think man pages were necessary.

> What does this buy you over cvsup/cvsupd?

Security.  Speed.  Ease of use.  Light weight.  A reduction in bandwidth.
The ability to pass through most firewalls.  The ability to utilize
caching HTTP proxies.  The replacement of a heavyweight custom server
daemon with your favourite lightweight HTTP server.

Colin Percival



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?42F636BE.3020906>