summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-10-19 03:37:16 +0000
committerZac Medico <zmedico@gentoo.org>2009-10-19 03:37:16 +0000
commit077024f43c3c482b2eb1c70e2e1ba414c9ffcff8 (patch)
treed2d180116e36789bdc65e8f389de70312a79b9b5 /pym
parentd47feac9df36d524568f24e291123501117aab13 (diff)
downloadportage-077024f43c3c482b2eb1c70e2e1ba414c9ffcff8.tar.gz
portage-077024f43c3c482b2eb1c70e2e1ba414c9ffcff8.tar.bz2
portage-077024f43c3c482b2eb1c70e2e1ba414c9ffcff8.zip
Add a --use-ebuild-visibility option, for using unbuilt ebuild metadata
in visibility checks for built ebuilds. Thanks to Sebastian Mingramm (few) for reporting the problem and testing the patch. (trunk r14665) svn path=/main/branches/2.1.7/; revision=14685
Diffstat (limited to 'pym')
-rw-r--r--pym/_emerge/depgraph.py4
-rw-r--r--pym/_emerge/help.py6
-rw-r--r--pym/_emerge/main.py12
3 files changed, 21 insertions, 1 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 2236bff0e..d0151bfab 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -2319,6 +2319,8 @@ class depgraph(object):
reinstall = False
noreplace = "--noreplace" in self._frozen_config.myopts
avoid_update = "--update" not in self._frozen_config.myopts
+ use_ebuild_visibility = self._frozen_config.myopts.get(
+ '--use-ebuild-visibility', 'n') != 'n'
# Behavior of the "selective" parameter depends on
# whether or not a package matches an argument atom.
# If an installed package provides an old-style
@@ -2392,7 +2394,7 @@ class depgraph(object):
# instances (installed or binary).
# If --usepkgonly is enabled, assume that
# the ebuild status should be ignored.
- if usepkgonly:
+ if not use_ebuild_visibility and usepkgonly:
if installed and \
pkgsettings._getMissingKeywords(
pkg.cpv, pkg.metadata):
diff --git a/pym/_emerge/help.py b/pym/_emerge/help.py
index 3f18b5429..bf8a7d526 100644
--- a/pym/_emerge/help.py
+++ b/pym/_emerge/help.py
@@ -535,6 +535,12 @@ def help(myopts, havecolor=1):
print(" a package's dependencies follow the package. Only really useful")
print(" in combination with --emptytree, --update or --deep.")
print()
+ print(" " + green("--use-ebuild-visibility") + "[=%s]" % turquoise("n"))
+ desc = "Use unbuilt ebuild metadata for visibility " + \
+ "checks on built packages."
+ for line in wrap(desc, desc_width):
+ print(desc_indent + line)
+ print()
print(" "+green("--usepkg")+ "[=%s]" % turquoise("n") + " ("+green("-k")+" short option)")
print(" Tell emerge to use binary packages (from $PKGDIR) if they are")
print(" available, thus possibly avoiding some time-consuming compiles.")
diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py
index 5007ecfef..c09eef800 100644
--- a/pym/_emerge/main.py
+++ b/pym/_emerge/main.py
@@ -313,6 +313,7 @@ def insert_optional_args(args):
'--root-deps' : ('rdeps',),
'--select' : ('n',),
'--selective' : ('n',),
+ "--use-ebuild-visibility": ('n',),
'--usepkg' : ('n',),
'--usepkgonly' : ('n',),
}
@@ -550,6 +551,12 @@ def parse_opts(tmpcmdline, silent=False):
"choices" : ("True", "n")
},
+ "--use-ebuild-visibility": {
+ "help" : "use unbuilt ebuild metadata for visibility checks on built packages",
+ "type" : "choice",
+ "choices" : ("True", "n")
+ },
+
"--usepkg": {
"shortopt" : "-k",
"help" : "use binary packages",
@@ -693,6 +700,11 @@ def parse_opts(tmpcmdline, silent=False):
myoptions.load_average = load_average
+ if myoptions.use_ebuild_visibility in ("True",):
+ myoptions.use_ebuild_visibility = True
+ else:
+ myoptions.use_ebuild_visibility = None
+
if myoptions.usepkg in ("True",):
myoptions.usepkg = True
else: