Adding portsnap to the base system
Colin Percival
cperciva at freebsd.org
Sun Aug 7 17:04:56 GMT 2005
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
More information about the freebsd-arch
mailing list