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>