<pre style='margin:0'>
Rainer Müller (raimue) pushed a commit to branch vcs-fetch
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/a0e5ab80c8862ea096169a5a68e0a9339c8750fb">https://github.com/macports/macports-base/commit/a0e5ab80c8862ea096169a5a68e0a9339c8750fb</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit a0e5ab80c8862ea096169a5a68e0a9339c8750fb
</span>Author: Rainer Müller <raimue@macports.org>
AuthorDate: Sun Apr 15 18:23:10 2018 +0200

<span style='display:block; white-space:pre;color:#404040;'>    fetch: Replace exec with system -o
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    The exec command is not sandboxed, therefore use system -o instead.
</span><span style='display:block; white-space:pre;color:#404040;'>    If the commands to get the timestamp produce any error output, write
</span><span style='display:block; white-space:pre;color:#404040;'>    a log message, but do not abort.
</span>---
 src/port1.0/portfetch.tcl | 32 +++++++++++++++++++++++---------
 1 file changed, 23 insertions(+), 9 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port1.0/portfetch.tcl b/src/port1.0/portfetch.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 79d6473..2affe27 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port1.0/portfetch.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port1.0/portfetch.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -440,11 +440,15 @@ proc portfetch::bzrfetch {args} {
</span> 
         # get timestamp of latest revision
         set cmdstring "${bzr.cmd} --builtin --no-aliases version-info --format=custom --template=\"{date}\" ${exportpath}/${bzr.file_prefix}"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        ui_debug "exec: $cmdstring"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[catch {exec -ignorestderr sh -c $cmdstring} result]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[catch {system -o out -e err $cmdstring} result]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_error $err
</span>             error [msgcat::mc "Bazaar version-info failed: $result"]
         }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        set tstamp $result
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {$err ne ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set err [string trim $err]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_info "Continuing despite error output: $err"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set tstamp $out
</span>         set mtime [clock scan [lindex [split $tstamp "."] 0] -format "%Y-%m-%d %H:%M:%S %z" -timezone "UTC"]
 
         set tardst "${distpath}/${distname}.${fetch.type}.TMP.tar"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -657,10 +661,15 @@ proc portfetch::svnfetch {args} {
</span> 
     # get timestamp of latest revision
     set cmdstring "${svn.cmd} --non-interactive ${connectargs} info --show-item last-changed-date ${svn.url}"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[catch {exec -ignorestderr sh -c $cmdstring} result]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        return -code error [msgcat::mc "Subversion info failed"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[catch {system -o out -e err $cmdstring} result]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_error $err
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return -code error [msgcat::mc "Subversion info failed: $result"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {$err ne ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set err [string trim $err]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_info "Continuing despite error output: $err"
</span>     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set tstamp $result
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set tstamp $out
</span>     set mtime [clock scan [lindex [split $tstamp "."] 0] -format "%Y-%m-%dT%H:%M:%S" -timezone "UTC"]
 
     set tardst "${distpath}/${distname}.${fetch.type}.TMP.tar"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -900,10 +909,15 @@ proc portfetch::hgfetch {args} {
</span> 
     # get timestamp of latest revision
     set cmdstring "${hg.cmd} log -r ${hg.tag} --template=\"{date}\"i -R ${exportpath}/${hg.file_prefix}"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[catch {exec -ignorestderr sh -c $cmdstring} result]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        return -code error [msgcat::mc "Mercurial log failed"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[catch {system -o out -e err $cmdstring} result]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_error $err
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return -code error [msgcat::mc "Mercurial log failed: $result"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {$err ne ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set err [string trim $err]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_info "Continuing despite error output: $err"
</span>     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set mtime $result
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set mtime $out
</span> 
     set tardst "${distpath}/${distname}.${fetch.type}.TMP.tar"
     mktar $tardst $exportpath $mtime [list "${hg.file_prefix}/.hg"]
</pre><pre style='margin:0'>

</pre>