Date: Tue, 15 Jun 2004 11:32:16 +0300 From: Tom Alsberg <alsbergt@cs.huji.ac.il> To: FreeBSD Ports List <freebsd-ports@freebsd.org> Subject: /usr/ports symlink + make search Message-ID: <20040615083216.GA24712@cs.huji.ac.il>
next in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040615083216.GA24712>