From owner-freebsd-ports@FreeBSD.ORG Mon May 14 02:10:06 2007 Return-Path: X-Original-To: freebsd-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 429B916A402; Mon, 14 May 2007 02:10:06 +0000 (UTC) (envelope-from stephen@math.missouri.edu) Received: from sccmmhc91.asp.att.net (sccmmhc91.asp.att.net [204.127.203.211]) by mx1.freebsd.org (Postfix) with ESMTP id C41EE13C458; Mon, 14 May 2007 02:10:05 +0000 (UTC) (envelope-from stephen@math.missouri.edu) Received: from laptop2.montlan (12-216-253-187.client.mchsi.com[12.216.253.187]) by sccmmhc91.asp.att.net (sccmmhc91) with ESMTP id <20070514021004m9100rsilpe>; Mon, 14 May 2007 02:10:04 +0000 Message-ID: <4647C4FB.9050607@math.missouri.edu> Date: Sun, 13 May 2007 21:10:03 -0500 From: Stephen Montgomery-Smith User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8.1.2) Gecko/20070505 SeaMonkey/1.1.1 MIME-Version: 1.0 To: Pav Lucistnik References: <464597C6.3030406@gmx.de> <20070512174011.GA22526@xor.obsecurity.org> <4645FF71.60100@gmx.de> <20070512175824.GA23103@xor.obsecurity.org> <20070512133054.B5588@math.missouri.edu> <4646193E.5040503@gmx.de> <464665D5.1090509@math.missouri.edu> <464676CC.2000203@math.missouri.edu> <46469BF5.9030603@math.missouri.edu> <1179058696.13237.3.camel@ikaros.oook.cz> <20070513101332.L82202@math.missouri.edu> <46479215.1080401@math.missouri.edu> In-Reply-To: <46479215.1080401@math.missouri.edu> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: "\[LoN\]Kamikaze" , freebsd-ports@freebsd.org, Kris Kennaway Subject: Re: Time to abandon recursive pulling of dependencies? 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: Mon, 14 May 2007 02:10:06 -0000 Stephen Montgomery-Smith wrote: > I have looked into making the registration and package-building process > even faster. It seems to me that the easiest way would be to redesign > the package database so that it also includes a > package-name/+DEPENDENCIES file, which would be a kind of reverse of > package-name/+REQUIRED_BY. This could be used instead of "make > package-depends" in creating PKG_ARGS in bsd.port.mk. Creating > +DEPENDENCIES would be very easy - you "cat" together the files of the > immediate dependencies ${RUN_LIB_DEPENDS} and do a "uniq" to the final > result. > > Stephen OK, I am going to retract this suggestion. The real reason, I think, that make package-depends is so slow is that invoking make is so slow. Try adding these lines to /usr/ports/Mk/bsd.port.mk: yyy: @for dir in ${_LIB_RUN_DEPENDS:C,[^:]*:([^:]*):?.*,\1,}; do \ (cd $$dir; ${MAKE} xxx); \ done xxx: @${ECHO_CMD} ${PKGNAME} Then cd to /usr/ports/x11/gnome2 and type make yyy All it is supposed to do is list the names of the immediate dependencies. Even this is dead dog slow!!! And the problem is, there simply is no other way to find out the name of the package except by invoking make in the directory. So even if all the +DEPENDENCIES are in /var/db/pkg-name, even to find pkg-name is going to take a long, long time. Basically I think we are stuck on making "make package-depends" go any faster. However I do think that the modifications I made to pkg_create go a very significant way to solving the problem of registration taking so very long. Stephen