From owner-freebsd-ports@FreeBSD.ORG Tue Jun 15 08:32:41 2004 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D3A4B16A4CE for ; Tue, 15 Jun 2004 08:32:41 +0000 (GMT) Received: from cs1.cs.huji.ac.il (cs1.cs.huji.ac.il [132.65.16.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9266C43D41 for ; Tue, 15 Jun 2004 08:32:41 +0000 (GMT) (envelope-from alsbergt@cs.huji.ac.il) Received: from ludo.cs.huji.ac.il ([132.65.80.122] ident=exim) by cs1.cs.huji.ac.il with esmtp id 1Ba9Mf-000PZw-2I for freebsd-ports@freebsd.org; Tue, 15 Jun 2004 11:32:17 +0300 Received: from alsbergt by ludo.cs.huji.ac.il with local (Exim 4.34 (FreeBSD)) id 1Ba9Me-0006To-W4 for freebsd-ports@freebsd.org; Tue, 15 Jun 2004 11:32:17 +0300 Date: Tue, 15 Jun 2004 11:32:16 +0300 From: Tom Alsberg To: FreeBSD Ports List Message-ID: <20040615083216.GA24712@cs.huji.ac.il> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Face: "5"j@Y1Peoz1; ftTv>\|['ox-csmV+:_RDNdi/2lSe2x?0:HVAeVW~ajwQ7RfDlcb^18eJ; t,O,s5-aNdU/DJ2E8h1s,..4}N9$27u`pWmH|; s!zlqqVwr9R^_ji=1\3}Z6gQBYyQ]{gd5-V8s^fYf{$V2*_&S>eA|SH@Y\hOVUjd[5eah{EO@gCr.ydSpJHJIU[QsH~bC?$C@O:SzF=CaUxp80-iknM(]q(W List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Jun 2004 08:32:41 -0000 With the new ports/Mk/bsd.port.subdir.mk, make search (seems like a quite revamped awk script, relative to the old one) checks the second field of INDEX to be the same as `pwd` (eventually, through awk -v there=$here, here=`pwd`)... That breaks when /usr/ports is a symbolic link to somewhere else (e.g. we have the ports in a centralized location, /usr/ports is a symlink to /r+d/ports, and it is read only - work is done in $WRKDIRPREFIX set to a writeable location). That's because obviously when in /usr/ports `pwd` will give the target of the symlink which is different than the 2nd field in INDEX (which is /usr/ports), and thus the entry will be skipped. INDEX is automatically updated from cvsup, so it's not a good idea to globally substitute in it. My solution to it was to remove that check from the awk script: --- Mk/bsd.port.subdir.mk.orig Thu Jun 10 10:30:19 2004 +++ Mk/bsd.port.subdir.mk Tue Jun 15 11:30:45 2004 @@ -377,8 +377,6 @@ } \ } \ { \ - if ($$2 !~ there) \ - next; \ for (i in parms) \ if ($$i !~ parms[i]) \ next; \ I'm not sure why this check is necessary (it's all in ports, after all), but anyway it causes some trouble and might need to be refined. Of course if I change bsd.port.subdir.mk I again have to update it everytime it is updated by cvsup, so that's also suboptimal. -- Tom -- Tom Alsberg - hacker (being the best description fitting this space) Web page: http://www.cs.huji.ac.il/~alsbergt/ DISCLAIMER: The above message does not even necessarily represent what my fingers have typed on the keyboard, save anything further.