[64656] trunk/base/src/port/port.tcl
jmr at macports.org
jmr at macports.org
Fri Mar 12 20:38:50 PST 2010
Revision: 64656
http://trac.macports.org/changeset/64656
Author: jmr at macports.org
Date: 2010-03-12 20:38:50 -0800 (Fri, 12 Mar 2010)
Log Message:
-----------
error handling when running portfiles from the registry
Modified Paths:
--------------
trunk/base/src/port/port.tcl
Modified: trunk/base/src/port/port.tcl
===================================================================
--- trunk/base/src/port/port.tcl 2010-03-13 03:55:33 UTC (rev 64655)
+++ trunk/base/src/port/port.tcl 2010-03-13 04:38:50 UTC (rev 64656)
@@ -1990,15 +1990,27 @@
set irevision [lindex $i 2]
set ivariants [lindex $i 3]
if {![catch {set mport [mportopen_installed $portname $iversion $irevision $ivariants [array get options]]}]} {
- if {[catch {set result [mportexec $mport activate]} result]} {
+ if {[catch {set result [mportexec $mport activate]} result] || $result != 0} {
global errorInfo
+ catch {mportclose_installed $mport}
+ ui_debug "$errorInfo"
+ ui_warn "Unable to execute portfile from registry: $result"
+ if {![catch {set ilist [registry::active $portname]}] && [llength $ilist] > 0} {
+ set i [lindex $ilist 0]
+ set aversion [lindex $i 1]
+ set arevision [lindex $i 2]
+ set avariants [lindex $i 3]
+ if {[string equal "${aversion}_${arevision}${avariants}" "${iversion}_${irevision}${ivariants}"]} {
+ continue
+ }
+ }
+ } else {
mportclose_installed $mport
- ui_debug "$errorInfo"
- break_softcontinue "Unable to execute port: $result" 1 status
+ continue
}
- mportclose_installed $mport
- continue
} else {
+ global errorInfo
+ ui_debug "$errorInfo"
ui_warn "Could not open Portfile from registry for $portname $composite_version"
}
}
@@ -2032,14 +2044,18 @@
set ivariants [lindex $i 3]
if {$composite_version == "" || $composite_version == "${iversion}_${irevision}${ivariants}"} {
if {![catch {set mport [mportopen_installed $portname $iversion $irevision $ivariants [array get options]]}]} {
- if {[catch {set result [mportexec $mport deactivate]} result]} {
+ if {[catch {set result [mportexec $mport deactivate]} result] || $result != 0} {
global errorInfo
+ catch {mportclose_installed $mport}
+ ui_debug "$errorInfo"
+ ui_warn "Unable to execute portfile from registry: $result"
+ if {[catch {set ilist [registry::active $portname]}] || [llength $ilist] == 0} {
+ continue
+ }
+ } else {
mportclose_installed $mport
- ui_debug "$errorInfo"
- break_softcontinue "Unable to execute port: $result" 1 status
+ continue
}
- mportclose_installed $mport
- continue
} else {
global errorInfo
ui_debug "$errorInfo"
@@ -2301,16 +2317,22 @@
set ivariants [lindex $i 3]
set iactive [lindex $i 4]
if {![catch {set mport [mportopen_installed $portname $iversion $irevision $ivariants [array get options]]}]} {
- if {($iactive && [catch {set result [mportexec $mport deactivate]} result])
- || [catch {set result [mportexec $mport uninstall]} result]} {
+ if {($iactive && ([catch {set result [mportexec $mport deactivate]} result] || $result != 0))
+ || ([catch {set result [mportexec $mport uninstall]} result] || $result != 0)} {
global errorInfo
+ catch {mportclose_installed $mport}
+ ui_debug "$errorInfo"
+ ui_warn "Unable to execute portfile from registry: $result"
+ if {![registry::entry_exists $portname $iversion $irevision $ivariants]} {
+ continue
+ }
+ } else {
mportclose_installed $mport
- ui_debug "$errorInfo"
- break_softcontinue "Unable to execute port: $result" 1 status
+ continue
}
- mportclose_installed $mport
- continue
} else {
+ global errorInfo
+ ui_debug "$errorInfo"
ui_warn "Could not open Portfile from registry for $portname $composite_version"
}
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20100312/669924aa/attachment.html>
More information about the macports-changes
mailing list