From owner-freebsd-arch@FreeBSD.ORG Sun Aug 7 17:04:56 2005 Return-Path: X-Original-To: freebsd-arch@freebsd.org Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CA98916A43D for ; Sun, 7 Aug 2005 17:04:53 +0000 (GMT) (envelope-from cperciva@freebsd.org) Received: from pd3mo3so.prod.shaw.ca (shawidc-mo1.cg.shawcable.net [24.71.223.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id AFB3543F66 for ; Sun, 7 Aug 2005 16:36:29 +0000 (GMT) (envelope-from cperciva@freebsd.org) Received: from pd4mr3so.prod.shaw.ca (pd4mr3so-qfe3.prod.shaw.ca [10.0.141.214]) by l-daemon (Sun ONE Messaging Server 6.0 HotFix 1.01 (built Mar 15 2004)) with ESMTP id <0IKV0003O1RZ0N90@l-daemon> for freebsd-arch@freebsd.org; Sun, 07 Aug 2005 10:28:47 -0600 (MDT) Received: from pn2ml4so.prod.shaw.ca ([10.0.121.148]) by pd4mr3so.prod.shaw.ca (Sun ONE Messaging Server 6.0 HotFix 1.01 (built Mar 15 2004)) with ESMTP id <0IKV0020W1RZU0L0@pd4mr3so.prod.shaw.ca> for freebsd-arch@freebsd.org; Sun, 07 Aug 2005 10:28:47 -0600 (MDT) Received: from [192.168.0.60] (S0106006067227a4a.vc.shawcable.net [24.87.209.6]) by l-daemon (iPlanet Messaging Server 5.2 HotFix 1.18 (built Jul 28 2003)) with ESMTP id <0IKV0060Z1RZMA@l-daemon> for freebsd-arch@freebsd.org; Sun, 07 Aug 2005 10:28:47 -0600 (MDT) Date: Sun, 07 Aug 2005 09:28:46 -0700 From: Colin Percival In-reply-to: <20050807.101746.68985623.imp@bsdimp.com> To: "M. Warner Losh" Message-id: <42F636BE.3020906@freebsd.org> MIME-version: 1.0 Content-type: text/plain; charset=ISO-8859-1 Content-transfer-encoding: 7bit X-Accept-Language: en-us, en References: <42F62C5F.6000609@freebsd.org> <20050807.101746.68985623.imp@bsdimp.com> User-Agent: Mozilla Thunderbird 1.0.6 (X11/20050724) Cc: freebsd-arch@freebsd.org Subject: Re: Adding portsnap to the base system X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Aug 2005 17:04:56 -0000 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