<pre style='margin:0'>
Rainer Müller (raimue) pushed a commit to branch master
in repository macports-base.
</pre>
<p><a href="https://github.com/macports/macports-base/commit/cc0663851d279ee1da692c6a65ad73500ea162ef">https://github.com/macports/macports-base/commit/cc0663851d279ee1da692c6a65ad73500ea162ef</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new cc06638 mportopen: Normalize file:// porturls
</span>cc06638 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit cc0663851d279ee1da692c6a65ad73500ea162ef
</span>Author: Rainer Müller <raimue@macports.org>
AuthorDate: Fri Mar 30 17:22:55 2018 +0200
<span style='display:block; white-space:pre;color:#404040;'> mportopen: Normalize file:// porturls
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> The evaluation of some targets may switch the current working directory,
</span><span style='display:block; white-space:pre;color:#404040;'> which means a relative porturl will no longer point to the Portfile we
</span><span style='display:block; white-space:pre;color:#404040;'> used. Normalize relative paths in a file:// porturl in order to be
</span><span style='display:block; white-space:pre;color:#404040;'> able to calculate the correct path for the _resources directory in the
</span><span style='display:block; white-space:pre;color:#404040;'> corresponding ports tree.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Update a macports_dlist test case which relied on a "file://." porturl.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Closes: https://trac.macports.org/ticket/54743
</span>---
src/macports1.0/macports.tcl | 9 +++++++++
src/macports1.0/tests/macports_dlist.test | 10 +++++-----
2 files changed, 14 insertions(+), 5 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/macports1.0/macports.tcl b/src/macports1.0/macports.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 3f9d0db..0931327 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/macports1.0/macports.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/macports1.0/macports.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1734,6 +1734,15 @@ proc macports::getdefaultportresourcepath {{path {}}} {
</span> proc mportopen {porturl {options {}} {variations {}} {nocache {}}} {
global macports::portdbpath macports::portconf macports::open_mports auto_path
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ # normalize porturl for local files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[regexp {^file://(.*)} $porturl -> path]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set realporturl "file://[file normalize $path]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {$porturl ne $realporturl} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set porturl $realporturl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_debug "Using normalized porturl $porturl"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # Look for an already-open MPort with the same URL.
# if found, return the existing reference and bump the refcount.
if {$nocache ne ""} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/macports1.0/tests/macports_dlist.test b/src/macports1.0/tests/macports_dlist.test
</span><span style='display:block; white-space:pre;color:#808080;'>index 9325ba9..6b4301f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/macports1.0/tests/macports_dlist.test
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/macports1.0/tests/macports_dlist.test
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -18,11 +18,11 @@ source ../macports_dlist.tcl
</span> test dlist_match_multi {
Dlist match multi unit test.
} -setup {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set mport [mportopen file://.]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set crit {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- provides gcc_select
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- porturl file://.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set mport [mportopen file://[pwd]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set crit [list \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ provides gcc_select \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ porturl file://[pwd] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ]
</span> set crit2 { provides fondu2 }
} -body {
</pre><pre style='margin:0'>
</pre>