<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/d863a7e471d1afb4e405f5c5fbae470e26486a84">https://github.com/macports/macports-base/commit/d863a7e471d1afb4e405f5c5fbae470e26486a84</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit d863a7e471d1afb4e405f5c5fbae470e26486a84
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Tue Sep 20 15:34:39 2022 +1000
<span style='display:block; white-space:pre;color:#404040;'> Check for known_fail before installing
</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/60566
</span>---
src/port/port.tcl | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
<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 9b0c5014c..f7d81a862 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;'>@@ -4183,7 +4183,6 @@ proc action_target { action portlist opts } {
</span> }
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # if installing, mark the port as explicitly requested
</span> if {$action eq "install"} {
if {[info exists portinfo(replaced_by)] && ![info exists options(ports_install_no-replace)]} {
ui_notice "$portname is replaced by $portinfo(replaced_by)"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4198,6 +4197,18 @@ proc action_target { action portlist opts } {
</span> array set portinfo [lindex $result 1]
set porturl $portinfo(porturl)
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[info exists portinfo(known_fail)] && [string is true -strict $portinfo(known_fail)]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ && ![info exists options(ports_install_allow-failing)]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[info exists macports::ui_options(questions_yesno)]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set retvalue [$macports::ui_options(questions_yesno) "$portname is known to fail." "KnownFail" {} {n} 0 "Try to install anyway?"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {$retvalue != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break_softcontinue "$portname is known to fail" 1 status
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break_softcontinue "$portname is known to fail (use --allow-failing to try to install anyway)" 1 status
</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;'>+ # mark the port as explicitly requested
</span> if {![info exists options(ports_install_unrequested)]} {
set options(ports_requested) 1
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4483,7 +4494,7 @@ array set cmd_opts_array {
</span> space {{units 1} total}
activate {no-exec}
deactivate {no-exec}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- install {no-replace no-rev-upgrade unrequested}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ install {allow-failing no-replace no-rev-upgrade unrequested}
</span> uninstall {follow-dependents follow-dependencies no-exec}
variants {index}
clean {all archive dist work logs}
</pre><pre style='margin:0'>
</pre>