<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>