<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository mpbb.
</pre>
<p><a href="https://github.com/macports/mpbb/commit/c48853e678871e580dca89232e52a6d965a31812">https://github.com/macports/mpbb/commit/c48853e678871e580dca89232e52a6d965a31812</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit c48853e678871e580dca89232e52a6d965a31812
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Thu Oct 5 03:46:07 2023 +1100
<span style='display:block; white-space:pre;color:#404040;'> dependencies.tcl: activate using already open mport
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Doing this instead of using registry::run_target saves running another
</span><span style='display:block; white-space:pre;color:#404040;'> mportopen for each dependency, so should perform better. This wasn't
</span><span style='display:block; white-space:pre;color:#404040;'> originally possible due to the workaround for
</span><span style='display:block; white-space:pre;color:#404040;'> https://trac.macports.org/ticket/24857.
</span>---
tools/dependencies.tcl | 26 ++++++++++----------------
1 file changed, 10 insertions(+), 16 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/tools/dependencies.tcl b/tools/dependencies.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 08c873a..15a3f68 100755
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/tools/dependencies.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/tools/dependencies.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -425,7 +425,6 @@ proc install_dep {ditem} {
</span> if {[registry::entry imaged $depinfo(name) $depinfo(version) $depinfo(revision) $depinfo(canonical_active_variants)] ne ""} {
puts "Already installed, nothing to do"
puts $::log_status_dependencies {[OK]}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- catch {mportclose $ditem}
</span> return
}
# clean up any work directories left over from earlier
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -526,7 +525,6 @@ proc install_dep {ditem} {
</span> failcache_update $depinfo(name) [ditem_key $ditem porturl] $depinfo(canonical_active_variants) 0
}
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- catch {mportclose $ditem}
</span> puts $::log_status_dependencies {[OK]}
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -561,21 +559,17 @@ if {$any_built} {
</span> }
proc activate_dep {ditem} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- array set depinfo $::mportinfo_array($ditem)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set entrylist [registry::entry imaged $depinfo(name) $depinfo(version) $depinfo(revision) $depinfo(canonical_active_variants)]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[llength $entrylist] < 1} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts stderr "Failed to activate $depinfo(name) @$depinfo(version)_$depinfo(revision)$depinfo(canonical_active_variants): Not installed?!"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit 2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[llength $entrylist] > 1} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts stderr "Warning: got multiple registry entries matching $depinfo(name) @$depinfo(version)_$depinfo(revision)$depinfo(canonical_active_variants)"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set e [lindex $entrylist 0]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {![registry::run_target $e activate [list]]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- && [catch {portimage::activate [$e name] [$e version] [$e revision] [$e variants] [list]} result]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set fail 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[catch {mportexec $ditem activate} result]} {
</span> puts stderr $::errorInfo
<span style='display:block; white-space:pre;background:#ffe0e0;'>- puts stderr "Activating [$e name] @[$e version]_[$e revision][$e variants] failed: $result"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- exit 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_error "Activate failed: $result"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set fail 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {$fail || $result > 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ array set depinfo $::mportinfo_array($ditem)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ puts stderr "Activation of dependency '$depinfo(name)' with variants '$depinfo(canonical_active_variants)' failed, aborting."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ puts $::log_subports_progress "Building '$::portname' ... \[ERROR\] (failed to activate dependency '$depinfo(name)') maintainers: [get_maintainers $::portname $depinfo(name)]."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ exit 1
</span> }
}
</pre><pre style='margin:0'>
</pre>