From owner-freebsd-ports@FreeBSD.ORG Wed May 30 21:35:06 2007 Return-Path: X-Original-To: ports@freebsd.org Delivered-To: freebsd-ports@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A506B16A41F for ; Wed, 30 May 2007 21:35:06 +0000 (UTC) (envelope-from stephen@math.missouri.edu) Received: from math.missouri.edu (math.missouri.edu [128.206.184.200]) by mx1.freebsd.org (Postfix) with ESMTP id 77E2613C455 for ; Wed, 30 May 2007 21:35:06 +0000 (UTC) (envelope-from stephen@math.missouri.edu) Received: from math.missouri.edu (localhost [127.0.0.1]) by math.missouri.edu (8.13.1/8.13.1) with ESMTP id l4ULZ4Ot067877; Wed, 30 May 2007 16:35:04 -0500 (CDT) (envelope-from stephen@math.missouri.edu) Received: from localhost (stephen@localhost) by math.missouri.edu (8.13.1/8.13.1/Submit) with ESMTP id l4ULZ42X067874; Wed, 30 May 2007 16:35:04 -0500 (CDT) (envelope-from stephen@math.missouri.edu) Date: Wed, 30 May 2007 16:35:04 -0500 (CDT) From: Stephen Montgomery-Smith To: Bakul Shah In-Reply-To: <20070530205608.486EF5B49@mail.bitblocks.com> Message-ID: <20070530162949.M65262@math.missouri.edu> References: <20070530205608.486EF5B49@mail.bitblocks.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: ports@freebsd.org, Peter Jeremy , hackers@freebsd.org Subject: Re: Looking for speed increases in "make index" and pkg_version for ports X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 May 2007 21:35:06 -0000 On Wed, 30 May 2007, Bakul Shah wrote: > Peter Jeremy wrote: >> On 2007-May-27 16:12:54 -0700, Bakul Shah wrote: >>> Given the size and complexity of the port system I have long >>> felt that rather than do everything via more and more complex >>> Mk/*.mk what is is needed is a ports server and a thin CLI >>> frontend to it. >> >> I don't believe this is practical. Both package names and >> port dependencies depend on the options that are selected as >> well as what other ports are already installed. A centralised >> ports server is not going to have access to this information. > > I didn't mean a centralized server at freebsd.org but on your > freebsd system and can know about what ports are installed. > Conditional dependencies have to be dealt with. Perhaps the > underlying reason for changing package names can be handled > in a different way. > > What happens now is that mostly static information from > various files is recomputed many times. While that can be > handled by a local database, it seems to be a daemon provides > a lot of benefits. > > Come to think of it, even a centralized server can work as > there are a finite number of combinations and it can cache > the ones in use. But all this is just an educated guess. Your idea really looks very fine to me. From reading other emails on this thread, I get the impression that a lot of the underlying work has already been done in perhaps the portupgrade port, and so all you would have to do is to provide an interface from the make file to the database produced by portupgrade. Perhaps this could be made conditional, so that those who don't install portupgrade wouldn't use it. Even so, I also get the feeling that to implement this would be quite some work, so a volunteer needs to step forward. But my gut reaction is that this is almost certain to make things like "make clean" and pkg_version way way faster. And I must admit that I am having more doubts about my "calculate the variables just in time" idea. The thought of working really hard to make it work, and then seeing mediocre speed increases is rather offputting to me.