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
# 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":
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
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
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()
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