cross-port ${filespath} access?

Clemens Lang cal at macports.org
Tue Apr 14 08:51:13 PDT 2015


Hi,

----- On 14 Apr, 2015, at 14:16, René J.V. Bertin rjvbertin at gmail.com wrote:

> Actually, how would trace mode handle a files "directory" that is in fact a
> symlink to the files directory in another port directory, like with my
> "qt5-mac-angel" empirical port:
> 
> qt5-mac-angel:
>  Portfile
>  Portfile.qt5 -> ../qt5-mac-devel/Portfile.qt5
>  files -> ../qt5-mac-devel/files

This will currently work because trace mode doesn't check every directory in
a path for symlinks and resolves them. This isn't implemented, because it
would slow down trace mode considerably, but it's a bug. You should not rely
on this behaviour, because it will go away once caching is implemented so the
lstat(2) for every path component is no longer required. And I'm not doing
that to break your use case, but to fix weird behaviour of certain ports in
trace mode (e.g. Qt stuff uses a lot of directory symlinks that are affected
by this and are currently considered files MacPorts doesn't know about, which
is wrong).

-- 
Clemens Lang


More information about the macports-dev mailing list