summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-04-24 03:17:26 +0000
committerZac Medico <zmedico@gentoo.org>2008-04-24 03:17:26 +0000
commitdac0dda2a563d22c4507fd7a463a53a06256f73f (patch)
tree4d13bbe9ad9b8634612009287c42c5eca0658631
parent77d9a3543248d71010d34e0b5b465a7a9e58e0f0 (diff)
downloadportage-dac0dda2a563d22c4507fd7a463a53a06256f73f.tar.gz
portage-dac0dda2a563d22c4507fd7a463a53a06256f73f.tar.bz2
portage-dac0dda2a563d22c4507fd7a463a53a06256f73f.zip
Fix interaction between automatic uninstall and options like --pretend,
--fetchonly, and --buildpkgonly. svn path=/main/trunk/; revision=9956
-rw-r--r--pym/_emerge/__init__.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index 43f57349a..99e8b5a64 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -4870,6 +4870,7 @@ class MergeTask(object):
def _merge(self, mylist, favorites, mtimedb):
from portage.elog import elog_process
from portage.elog.filtering import filter_mergephases
+ buildpkgonly = "--buildpkgonly" in self.myopts
failed_fetches = []
fetchonly = "--fetchonly" in self.myopts or \
"--fetch-all-uri" in self.myopts
@@ -5021,7 +5022,8 @@ class MergeTask(object):
cpv=pkg_key, built=built, installed=installed,
metadata=metadata)
if pkg.installed:
- self._uninstall_queue.append(pkg)
+ if not (buildpkgonly or fetchonly or pretend):
+ self._uninstall_queue.append(pkg)
continue
if x[0]=="blocks":