[64419] trunk/base/src/registry2.0/portimage.tcl
jmr at macports.org
jmr at macports.org
Thu Mar 4 20:48:22 PST 2010
Revision: 64419
http://trac.macports.org/changeset/64419
Author: jmr at macports.org
Date: 2010-03-04 20:48:21 -0800 (Thu, 04 Mar 2010)
Log Message:
-----------
with reg2, fix activate's deactivation of any active version of the same port
Modified Paths:
--------------
trunk/base/src/registry2.0/portimage.tcl
Modified: trunk/base/src/registry2.0/portimage.tcl
===================================================================
--- trunk/base/src/registry2.0/portimage.tcl 2010-03-05 02:54:07 UTC (rev 64418)
+++ trunk/base/src/registry2.0/portimage.tcl 2010-03-05 04:48:21 UTC (rev 64419)
@@ -99,16 +99,13 @@
# if another version of this port is active, deactivate it first
set current [registry::entry installed $name]
- if { [llength $current] > 1 } {
- foreach i $current {
- set iversion [$i version]
- set irevision [$i revision]
- set ivariants [$i variants]
- set ispecifier "${iversion}_${irevision}${ivariants}"
- if { ![string equal $specifier $ispecifier]
- && [string equal [$i state] "installed"] } {
- lappend todeactivate $ispecifier
- }
+ foreach i $current {
+ set iversion [$i version]
+ set irevision [$i revision]
+ set ivariants [$i variants]
+ set ispecifier "${iversion}_${irevision}${ivariants}"
+ if { ![string equal $specifier $ispecifier] } {
+ lappend todeactivate $ispecifier
}
}
@@ -155,7 +152,7 @@
}
foreach a $todeactivate {
- deactivate $name $a [list ports_force 1]
+ deactivate $name $a [list ports_nodepcheck 1]
}
if {$v != ""} {
@@ -260,7 +257,9 @@
return -code error "Image error: ${name} @${specifier} is not active."
}
- registry::check_dependents $requested $force
+ if {![info exists options(ports_nodepcheck)] || ![string is true -strict $options(ports_nodepcheck)]} {
+ registry::check_dependents $requested $force
+ }
_deactivate_contents $requested {} $force
$requested state imaged
@@ -452,7 +451,7 @@
if {[info exists portinfo(replaced_by)] && [lsearch -exact -nocase $portinfo(replaced_by) [$port name]] != -1} {
lappend deactivated $owner
# XXX this is bad, deactivate does another write transaction (probably deadlocks)
- deactivate [$owner name] "" ""
+ deactivate [$owner name] "" [list ports_nodepcheck 1]
set owner {}
}
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20100304/b7e34b83/attachment.html>
More information about the macports-changes
mailing list