<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-base.
</pre>
<p><a href="https://github.com/macports/macports-base/commit/b86410913b9fba4a496be34865f36a02bf37bc36">https://github.com/macports/macports-base/commit/b86410913b9fba4a496be34865f36a02bf37bc36</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit b86410913b9fba4a496be34865f36a02bf37bc36
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Sat Jan 15 22:24:16 2022 +1100
<span style='display:block; white-space:pre;color:#404040;'> mportexec usage fixes
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Make sure to check the return value.
</span>---
src/macports1.0/macports.tcl | 13 ++++++++++---
src/port/port.tcl | 2 +-
src/registry2.0/registry_util.tcl | 8 +++++++-
3 files changed, 18 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 b4df47a4..fcbf5131 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;'>@@ -3959,13 +3959,12 @@ proc macports::_upgrade {portname dspec variationslist optionslist {depscachenam
</span> return $status
}
# now install it
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[catch {set result [mportexec $mport activate]} result]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[catch {mportexec $mport activate} result]} {
</span> ui_debug $::errorInfo
ui_error "Unable to exec port: $result"
catch {mportclose $mport}
return 1
<span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {$result > 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } elseif {$result != 0} {
</span> ui_error "Problem while installing $portname"
catch {mportclose $mport}
return $result
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4368,8 +4367,14 @@ proc macports::_upgrade {portname dspec variationslist optionslist {depscachenam
</span> }
ui_msg "Skipping activate $newname @${version_in_tree}_${revision_in_tree}$portinfo(canonical_active_variants) (dry run)"
} else {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ set failed 0
</span> if {[catch {mportexec $mport activate} result]} {
ui_debug $::errorInfo
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ set failed 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } elseif {$result != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set failed 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {$failed} {
</span> ui_error "Couldn't activate $newname ${version_in_tree}_${revision_in_tree}$portinfo(canonical_active_variants): $result"
_upgrade_cleanup
return 1
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4379,6 +4384,8 @@ proc macports::_upgrade {portname dspec variationslist optionslist {depscachenam
</span> if {[catch {mportexec $mport load} result]} {
ui_debug $::errorInfo
ui_warn "Error loading startupitem(s) for ${newname}: $result"
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ } elseif {$result != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_warn "Error loading startupitem(s) for ${newname}: $result"
</span> }
$workername eval "unset ::portstartupitem::load_only"
}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port/port.tcl b/src/port/port.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index e0a11ceb..1828c4d5 100755
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port/port.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port/port.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4206,7 +4206,7 @@ proc action_target { action portlist opts } {
</span> ui_debug $::errorInfo
break_softcontinue "Unable to open port: $result" 1 status
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[catch {set result [mportexec $workername $target]} result]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[catch {mportexec $workername $target} result]} {
</span> ui_debug $::errorInfo
mportclose $workername
break_softcontinue "Unable to execute port: $result" 1 status
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/registry2.0/registry_util.tcl b/src/registry2.0/registry_util.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 35c9d517..4f467cc0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/registry2.0/registry_util.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/registry2.0/registry_util.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -127,8 +127,14 @@ proc run_target {port target options} {
</span> }
if {![catch {set mport [mportopen_installed [$port name] [$port version] [$port revision] [$port variants] $options]}]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[catch {set result [mportexec $mport $target]} result] || $result != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set failed 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[catch {mportexec $mport $target} result]} {
</span> ui_debug $::errorInfo
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ set failed 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } elseif {$result != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set failed 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {$failed} {
</span> catch {mportclose $mport}
ui_warn "Failed to execute portfile from registry for $portspec"
switch $target {
</pre><pre style='margin:0'>
</pre>