[131633] trunk/base/src/registry2.0/portuninstall.tcl
jmr at macports.org
jmr at macports.org
Thu Jan 15 02:22:41 PST 2015
Revision: 131633
https://trac.macports.org/changeset/131633
Author: jmr at macports.org
Date: 2015-01-15 02:22:41 -0800 (Thu, 15 Jan 2015)
Log Message:
-----------
when following dependencies in uninstall, don't keep following deps of ports that have dependents or are requested (this is the behaviour of previous releases)
Modified Paths:
--------------
trunk/base/src/registry2.0/portuninstall.tcl
Modified: trunk/base/src/registry2.0/portuninstall.tcl
===================================================================
--- trunk/base/src/registry2.0/portuninstall.tcl 2015-01-15 10:18:56 UTC (rev 131632)
+++ trunk/base/src/registry2.0/portuninstall.tcl 2015-01-15 10:22:41 UTC (rev 131633)
@@ -304,15 +304,16 @@
set portilist {}
for {set j 0} {$j < [llength $alldeps]} {incr j} {
set dep [lindex $alldeps $j]
+ set uninstalling_this_dep 0
if {![catch {set ilist [registry::installed $dep]}]} {
foreach i $ilist {
- set dependents {}
set iversion [lindex $i 1]
set irevision [lindex $i 2]
set ivariants [lindex $i 3]
set regref [registry::open_entry $dep $iversion $irevision $ivariants [lindex $i 5]]
if {![registry::property_retrieve $regref requested]} {
set dependentlist [registry::list_dependents $dep $iversion $irevision $ivariants]
+ set dependents {}
foreach depdt $dependentlist {
lappend dependents [lindex $depdt 2]
}
@@ -326,16 +327,19 @@
if {$all_dependents_uninstalling} {
lappend uports $dep
lappend portilist $dep@${iversion}_${irevision}${ivariants}
+ set uninstalling_this_dep 1
}
}
}
}
- set deprefs [registry::entry imaged $dep]
- foreach depref $deprefs {
- set depdeps [registry_uninstall::generate_deplist $depref $optionslist]
- foreach d $depdeps {
- if {[lsearch -exact $alldeps $d] == -1} {
- lappend alldeps $d
+ if {$uninstalling_this_dep} {
+ set deprefs [registry::entry imaged $dep]
+ foreach depref $deprefs {
+ set depdeps [registry_uninstall::generate_deplist $depref $optionslist]
+ foreach d $depdeps {
+ if {[lsearch -exact $alldeps $d] == -1} {
+ lappend alldeps $d
+ }
}
}
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20150115/f21e67e5/attachment-0001.html>
More information about the macports-changes
mailing list