path normalisation in "base"

René J.V. Bertin rjvbertin at gmail.com
Tue Oct 11 07:46:10 PDT 2016


On Tuesday October 11 2016 16:33:26 Rainer Müller wrote:

>I cannot reproduce these claims. 'port provides' works for symlinks as
>expected. Note that file normalize does not resolve symlinks in the last
>component.

Actually, it was a question, and yes, after verification the answer is "no" because of that 2nd observation.

I can see how it makes sense to resolve symlinks *under* $prefix. Outside, maybe not, and for $prefix itself rather not I think. Except possibly in very specific cases.

BTW, the function I just posted makes `port provides` work both ways: on the path through $prefix, and on the fully normalised path. In my case:

{{{
%> port provides /opt/local/libexec/qt5/qml
/opt/local/libexec/qt5/qml is provided by: qt5-kde-devel
%> port provides /Volumes/Debian/MP9/libexec/qt5/qml
/opt/local/libexec/qt5/qml is provided by: qt5-kde-devel
}}}

I'd be tempted to print the original filename though (for successful lookups), and maybe the 2 versions in case of failure (and if they're different).

R.


More information about the macports-dev mailing list