From 1366d50fd4a6f70f60b156fbd39751ae1d3aab21 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 18 Feb 2010 21:50:53 +0000 Subject: Only enable --rebuilt-binaries automatically if --update and --deep are also enabled. svn path=/main/trunk/; revision=15372 --- man/emerge.1 | 5 +++-- pym/_emerge/create_depgraph_params.py | 10 ++++++++++ pym/_emerge/depgraph.py | 4 +--- pym/_emerge/help.py | 5 +++-- pym/_emerge/main.py | 3 +-- 5 files changed, 18 insertions(+), 9 deletions(-) diff --git a/man/emerge.1 b/man/emerge.1 index 6c2727de8..3b2986cce 100644 --- a/man/emerge.1 +++ b/man/emerge.1 @@ -481,8 +481,9 @@ display it on stdout. Replace installed packages with binary packages that have been rebuilt. Rebuilds are detected by comparison of BUILD_TIME package metadata. This option is enabled -automatically when using binary packages (see -\fB\-\-usepkg\fR and \fB\-\-getbinpkg\fR). +automatically when using binary packages +(\fB\-\-usepkg\fR or \fB\-\-getbinpkg\fR) together with +\fB\-\-update\fR and \fB\-\-deep\fR. .TP .BR "\-\-reinstall changed\-use" Tells emerge to include installed packages where USE flags have diff --git a/pym/_emerge/create_depgraph_params.py b/pym/_emerge/create_depgraph_params.py index 188dc6f96..37bda4922 100644 --- a/pym/_emerge/create_depgraph_params.py +++ b/pym/_emerge/create_depgraph_params.py @@ -15,6 +15,7 @@ def create_depgraph_params(myopts, myaction): # empty: pretend nothing is merged # complete: completely account for all known dependencies # remove: build graph for use in removing packages + # rebuilt_binaries: replace installed packages with rebuilt binaries myparams = {"recurse" : True} if myaction == "remove": @@ -37,6 +38,15 @@ def create_depgraph_params(myopts, myaction): myparams["deep"] = myopts["--deep"] if "--complete-graph" in myopts: myparams["complete"] = True + + rebuilt_binaries = myopts.get('--rebuilt-binaries') + if rebuilt_binaries is True or \ + rebuilt_binaries != 'n' and \ + '--usepkg' in myopts and \ + myopts.get('--deep') is True and \ + '--update' in myopts: + myparams['rebuilt_binaries'] = True + if myopts.get("--selective") == "n": # --selective=n can be used to remove selective # behavior that may have been implied by some diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index 74cc4f0e3..aec61bd5c 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -2396,9 +2396,7 @@ class depgraph(object): atom_set = InternalPackageSet(initial_atoms=(atom,)) existing_node = None myeb = None - usepkg = "--usepkg" in self._frozen_config.myopts - rebuilt_binaries = usepkg and \ - self._frozen_config.myopts.get('--rebuilt-binaries') != 'n' + rebuilt_binaries = 'rebuilt_binaries' in self._dynamic_config.myparams usepkgonly = "--usepkgonly" in self._frozen_config.myopts empty = "empty" in self._dynamic_config.myparams selective = "selective" in self._dynamic_config.myparams diff --git a/pym/_emerge/help.py b/pym/_emerge/help.py index afdaa1cab..7c6b334fc 100644 --- a/pym/_emerge/help.py +++ b/pym/_emerge/help.py @@ -510,8 +510,9 @@ def help(myopts, havecolor=1): desc = "Replace installed packages with binary packages that have " + \ "been rebuilt. Rebuilds are detected by comparison of " + \ "BUILD_TIME package metadata. This option is enabled " + \ - "automatically when using binary packages (see " + \ - "--usepkg and --getbinpkg)." + "automatically when using binary packages " + \ + "(--usepkg or --getbinpkg) together with " + \ + "--update and --deep." for line in wrap(desc, desc_width): print(desc_indent + line) print() diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py index a92ae0351..fa564b183 100644 --- a/pym/_emerge/main.py +++ b/pym/_emerge/main.py @@ -741,8 +741,7 @@ def parse_opts(tmpcmdline, silent=False): myoptions.keep_going = None if myoptions.rebuilt_binaries in ("True",): - # The depgraph will enable this by default unless 'n' is specified. - myoptions.rebuilt_binaries = None + myoptions.rebuilt_binaries = True if myoptions.root_deps == "True": myoptions.root_deps = True -- cgit v1.2.3-1-g7c22