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