public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-02-06 13:09 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-02-06 13:09 UTC (permalink / raw
  To: gentoo-commits

commit:     446c10bf9e83a583a1b8efe59253fb3f3c4f54ca
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 28 22:19:59 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Fri Jan 28 22:19:59 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=446c10bf

action_info: use _ENABLE_SET_CONFIG for sets

---
 pym/_emerge/actions.py |   14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py
index c88ef92..b763e08 100644
--- a/pym/_emerge/actions.py
+++ b/pym/_emerge/actions.py
@@ -29,7 +29,7 @@ from portage import digraph
 from portage import _unicode_decode
 from portage.cache.cache_errors import CacheError
 from portage.const import GLOBAL_CONFIG_PATH, NEWS_LIB_PATH
-from portage.const import _ENABLE_DYN_LINK_MAP
+from portage.const import _ENABLE_DYN_LINK_MAP, _ENABLE_SET_CONFIG
 from portage.dbapi.dep_expand import dep_expand
 from portage.dep import Atom, extended_cp_match
 from portage.exception import InvalidAtom
@@ -1389,11 +1389,13 @@ def action_info(settings, trees, myopts, myfiles):
 		writemsg_stdout("Repositories: %s\n" % \
 			" ".join(repo.name for repo in repos))
 
-	world_set = root_config.sets['selected']
-	sets_line = "Installed sets: "
-	sets_line += ", ".join(s for s in sorted(world_set) if s.startswith(SETPREFIX))
-	sets_line += "\n"
-	writemsg_stdout(sets_line)
+	if _ENABLE_SET_CONFIG:
+		sets_line = "Installed sets: "
+		sets_line += ", ".join(s for s in \
+			sorted(root_config.sets['selected'].getNonAtoms()) \
+			if s.startswith(SETPREFIX))
+		sets_line += "\n"
+		writemsg_stdout(sets_line)
 
 	if "--verbose" in myopts:
 		myvars = list(settings)



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-02-06 13:09 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-02-06 13:09 UTC (permalink / raw
  To: gentoo-commits

commit:     7c231888d1d5ccac470d5f039be57ac0e5934f6c
Author:     Sebastian Luther <SebastianLuther <AT> gmx <DOT> de>
AuthorDate: Fri Jan 28 19:59:50 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Fri Jan 28 21:13:08 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=7c231888

autounmask USE change comment: ensure that the first parent requires the change

Fixes bug 350515.

---
 pym/_emerge/depgraph.py |   45 +++++++++++++++++++++++++++++----------------
 1 files changed, 29 insertions(+), 16 deletions(-)

diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 3444731..7767377 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -2175,11 +2175,14 @@ class depgraph(object):
 
 		return selected_atoms
 
-	def _get_dep_chain(self, pkg, atom=None):
+	def _get_dep_chain(self, pkg, target_atom=None, unsatisfied_dependency=False):
 		"""
 		Returns a list of (atom, node_type) pairs that represent a dep chain.
-		If atom is None, the first package shown is pkg's paretn.
-		If atom is not None the first package shown is pkg.
+		If target_atom is None, the first package shown is pkg's paretn.
+		If target_atom is not None the first package shown is pkg.
+		If unsatisfied_dependency is True, the first parent is select who's
+		dependency is not satisfied by 'pkg'. This is need for USE changes.
+		(Does not support target_atom.)
 		"""
 		traversed_nodes = set()
 		dep_chain = []
@@ -2187,11 +2190,11 @@ class depgraph(object):
 		first = True
 		child = None
 		all_parents = self._dynamic_config._parent_atoms
-		
-		if atom is not None:
+
+		if target_atom is not None:
 			affecting_use = set()
 			for dep_str in "DEPEND", "RDEPEND", "PDEPEND":
-				affecting_use.update(extract_affecting_use(pkg.metadata[dep_str], atom))
+				affecting_use.update(extract_affecting_use(pkg.metadata[dep_str], target_atom))
 			affecting_use.difference_update(pkg.use.mask, node.use.force)
 			pkg_name = pkg.cpv
 			if affecting_use:
@@ -2203,9 +2206,8 @@ class depgraph(object):
 						usedep.append("-"+flag)
 				pkg_name += "[%s]" % ",".join(usedep)
 
-			
 			dep_chain.append(( _unicode_decode(pkg_name),  _unicode_decode(pkg.type_name)))
-	
+
 		while node is not None:
 			traversed_nodes.add(node)
 
@@ -2226,7 +2228,7 @@ class depgraph(object):
 						dep_strings.add(node.metadata["RDEPEND"])
 					if priority.runtime_post:
 						dep_strings.add(node.metadata["PDEPEND"])
-				
+
 				affecting_use = set()
 				for dep_str in dep_strings:
 					affecting_use.update(extract_affecting_use(dep_str, atom))
@@ -2245,7 +2247,6 @@ class depgraph(object):
 							usedep.append("-"+flag)
 					pkg_name += "[%s]" % ",".join(usedep)
 
-				
 				dep_chain.append(( _unicode_decode(pkg_name),  _unicode_decode(node.type_name)))
 
 			if node not in self._dynamic_config.digraph:
@@ -2268,13 +2269,25 @@ class depgraph(object):
 						selected_parent = None
 					break
 				else:
-					selected_parent = parent
-					child = node
+					if unsatisfied_dependency and node is pkg:
+						# Make sure that pkg doesn't satisfy parent's dependency.
+						# This ensures that we select the correct parent for use
+						# flag changes.
+						for ppkg, atom in all_parents[pkg]:
+							if parent is ppkg:
+								atom_set = InternalPackageSet(initial_atoms=(atom,))
+								if not atom_set.findAtomForPackage(pkg):
+									selected_parent = parent
+									child = node
+								break
+					else:
+						selected_parent = parent
+						child = node
 			node = selected_parent
 		return dep_chain
 
-	def _get_dep_chain_as_comment(self, pkg):
-		dep_chain = self._get_dep_chain(pkg)
+	def _get_dep_chain_as_comment(self, pkg, unsatisfied_dependency=False):
+		dep_chain = self._get_dep_chain(pkg, unsatisfied_dependency=unsatisfied_dependency)
 		display_list = []
 		for node, node_type in dep_chain:
 			if node_type == "argument":
@@ -2284,7 +2297,7 @@ class depgraph(object):
 
 		msg = "#" + ", ".join(display_list) + "\n"
 		return msg
-				
+
 
 	def _show_unsatisfied_dep(self, root, atom, myparent=None, arg=None,
 		check_backtrack=False):
@@ -4951,7 +4964,7 @@ class depgraph(object):
 						adjustments.append(flag)
 					else:
 						adjustments.append("-" + flag)
-				use_changes_msg.append(self._get_dep_chain_as_comment(pkg))
+				use_changes_msg.append(self._get_dep_chain_as_comment(pkg, unsatisfied_dependency=True))
 				use_changes_msg.append("=%s %s\n" % (pkg.cpv, " ".join(adjustments)))
 
 		license_msg = []



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-02-06 13:09 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-02-06 13:09 UTC (permalink / raw
  To: gentoo-commits

commit:     44809c14de087f87ee0fa9c5a21ec94e4787c3ce
Author:     Sebastian Luther <SebastianLuther <AT> gmx <DOT> de>
AuthorDate: Fri Jan 28 20:34:31 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Fri Jan 28 21:21:33 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=44809c14

--info: Show installed sets (bug 282250)

---
 pym/_emerge/actions.py |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py
index 33a1f01..c88ef92 100644
--- a/pym/_emerge/actions.py
+++ b/pym/_emerge/actions.py
@@ -1295,9 +1295,13 @@ class _info_pkgs_ver(object):
 		return self.ver + self.repo_suffix + self.provide_suffix
 
 def action_info(settings, trees, myopts, myfiles):
+
+	root_config = trees[settings['ROOT']]['root_config']
+
 	print(getportageversion(settings["PORTDIR"], settings["ROOT"],
 		settings.profile_path, settings["CHOST"],
 		trees[settings["ROOT"]]["vartree"].dbapi))
+
 	header_width = 65
 	header_title = "System Settings"
 	if myfiles:
@@ -1385,6 +1389,12 @@ def action_info(settings, trees, myopts, myfiles):
 		writemsg_stdout("Repositories: %s\n" % \
 			" ".join(repo.name for repo in repos))
 
+	world_set = root_config.sets['selected']
+	sets_line = "Installed sets: "
+	sets_line += ", ".join(s for s in sorted(world_set) if s.startswith(SETPREFIX))
+	sets_line += "\n"
+	writemsg_stdout(sets_line)
+
 	if "--verbose" in myopts:
 		myvars = list(settings)
 	else:
@@ -1408,7 +1418,6 @@ def action_info(settings, trees, myopts, myfiles):
 	use_expand_hidden = set(
 		settings.get('USE_EXPAND_HIDDEN', '').upper().split())
 	alphabetical_use = '--alphabetical' in myopts
-	root_config = trees[settings["ROOT"]]['root_config']
 	unset_vars = []
 	myvars.sort()
 	for x in myvars:



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-02-06 13:09 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-02-06 13:09 UTC (permalink / raw
  To: gentoo-commits

commit:     a3ddca88b876d359ef92d9544999d1bf580061fb
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 29 05:46:02 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Sat Jan 29 05:46:02 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=a3ddca88

depgraph: fix get_dep_chain unicode handling

---
 pym/_emerge/depgraph.py |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 7767377..a927222 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -2178,7 +2178,7 @@ class depgraph(object):
 	def _get_dep_chain(self, pkg, target_atom=None, unsatisfied_dependency=False):
 		"""
 		Returns a list of (atom, node_type) pairs that represent a dep chain.
-		If target_atom is None, the first package shown is pkg's paretn.
+		If target_atom is None, the first package shown is pkg's parent.
 		If target_atom is not None the first package shown is pkg.
 		If unsatisfied_dependency is True, the first parent is select who's
 		dependency is not satisfied by 'pkg'. This is need for USE changes.
@@ -2196,7 +2196,7 @@ class depgraph(object):
 			for dep_str in "DEPEND", "RDEPEND", "PDEPEND":
 				affecting_use.update(extract_affecting_use(pkg.metadata[dep_str], target_atom))
 			affecting_use.difference_update(pkg.use.mask, node.use.force)
-			pkg_name = pkg.cpv
+			pkg_name = _unicode_decode("%s") % (pkg.cpv,)
 			if affecting_use:
 				usedep = []
 				for flag in affecting_use:
@@ -2206,13 +2206,13 @@ class depgraph(object):
 						usedep.append("-"+flag)
 				pkg_name += "[%s]" % ",".join(usedep)
 
-			dep_chain.append(( _unicode_decode(pkg_name),  _unicode_decode(pkg.type_name)))
+			dep_chain.append((pkg_name, pkg.type_name))
 
 		while node is not None:
 			traversed_nodes.add(node)
 
 			if isinstance(node, DependencyArg):
-				dep_chain.append((_unicode_decode(node), "argument"))
+				dep_chain.append((_unicode_decode("%s") % (node,), "argument"))
 
 			elif node is not pkg:
 				for ppkg, patom in all_parents[child]:
@@ -2237,7 +2237,7 @@ class depgraph(object):
 				affecting_use.difference_update(node.use.mask, \
 					node.use.force)
 
-				pkg_name = node.cpv
+				pkg_name = _unicode_decode("%s") % (node.cpv,)
 				if affecting_use:
 					usedep = []
 					for flag in affecting_use:
@@ -2247,7 +2247,7 @@ class depgraph(object):
 							usedep.append("-"+flag)
 					pkg_name += "[%s]" % ",".join(usedep)
 
-				dep_chain.append(( _unicode_decode(pkg_name),  _unicode_decode(node.type_name)))
+				dep_chain.append((pkg_name, node.type_name))
 
 			if node not in self._dynamic_config.digraph:
 				# The parent is not in the graph due to backtracking.
@@ -2265,7 +2265,8 @@ class depgraph(object):
 						selected_parent = parent
 						child = node
 					else:
-						dep_chain.append(( _unicode_decode(parent), "argument"))
+						dep_chain.append(
+							(_unicode_decode("%s") % (parent,), "argument"))
 						selected_parent = None
 					break
 				else:



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-02-06 13:09 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-02-06 13:09 UTC (permalink / raw
  To: gentoo-commits

commit:     45f0931ec8a71f861a72ee78cee1f4fbb2cc7b2f
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 28 22:43:28 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Fri Jan 28 22:43:28 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=45f0931e

action_info: fix noiselevel for repo/set displays

---
 pym/_emerge/actions.py |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py
index b763e08..2c6ce87 100644
--- a/pym/_emerge/actions.py
+++ b/pym/_emerge/actions.py
@@ -1382,12 +1382,12 @@ def action_info(settings, trees, myopts, myfiles):
 
 	repos = portdb.settings.repositories
 	if "--verbose" in myopts:
-		writemsg_stdout("Repositories:\n\n")
+		writemsg_stdout("Repositories:\n\n", noiselevel=-1)
 		for repo in repos:
-			writemsg_stdout(repo.info_string())
+			writemsg_stdout(repo.info_string(), noiselevel=-1)
 	else:
 		writemsg_stdout("Repositories: %s\n" % \
-			" ".join(repo.name for repo in repos))
+			" ".join(repo.name for repo in repos), noiselevel=-1)
 
 	if _ENABLE_SET_CONFIG:
 		sets_line = "Installed sets: "
@@ -1395,7 +1395,7 @@ def action_info(settings, trees, myopts, myfiles):
 			sorted(root_config.sets['selected'].getNonAtoms()) \
 			if s.startswith(SETPREFIX))
 		sets_line += "\n"
-		writemsg_stdout(sets_line)
+		writemsg_stdout(sets_line, noiselevel=-1)
 
 	if "--verbose" in myopts:
 		myvars = list(settings)



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-02-06 13:09 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-02-06 13:09 UTC (permalink / raw
  To: gentoo-commits

commit:     6b7177c92af62ee17200f118dcdcad35e50c7ade
Author:     Brian Dolbec <brian.dolbec <AT> gmail <DOT> com>
AuthorDate: Sat Jan 29 10:11:18 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Sun Jan 30 09:11:58 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=6b7177c9

optimize isHardMasked() a little more

---
 pym/_emerge/Package.py |    7 ++-----
 1 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py
index e7302b3..96c76b9 100644
--- a/pym/_emerge/Package.py
+++ b/pym/_emerge/Package.py
@@ -263,17 +263,14 @@ class Package(Task):
 			pmask = []
 		if pmask:
 			# narrow pmask atoms down to the relevant repo
-			n=[x for x in pmask if x.split('::')[-1] in [self.repo]]
+			n = [x for x in pmask if x.split('::')[-1] in [self.repo]]
 			# hopefully it is down to only 1 mask atom
 			#print "n =", n
 			#count = 0
 			hardmasked = set()
 			for x in n:
 				#expand the atom to matching available ebuilds
-				m = self.root_config.trees['porttree'].dbapi.xmatch("match-all",x)
-				#print "m =", m
-				for n in m:
-					hardmasked.update([n])
+				hardmasked.update(self.root_config.trees['porttree'].dbapi.xmatch("match-all",x))
 				#count += 1
 			#print "for x in n: loop count =", count, hardmasked
 			return self.cpv in hardmasked



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-02-06 13:09 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-02-06 13:09 UTC (permalink / raw
  To: gentoo-commits

commit:     f3d72b4418d19cae39d3c327699d244bbfad6461
Author:     Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Gentoo <DOT> Org>
AuthorDate: Sun Jan 30 13:45:26 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Sun Jan 30 13:45:26 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=f3d72b44

Fix a typo.

---
 pym/_emerge/Package.py |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py
index c501b1a..bf02192 100644
--- a/pym/_emerge/Package.py
+++ b/pym/_emerge/Package.py
@@ -1,4 +1,4 @@
-# Copyright 1999-2010 Gentoo Foundation
+# Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 import sys
@@ -254,7 +254,7 @@ class Package(Task):
 
 	def isHardMasked(self):
 		"""returns a bool if the cpv is in the list of
-		expanded pmaskdict[cp] availble ebuilds"""
+		expanded pmaskdict[cp] available ebuilds"""
 		pmask = self.root_config.settings._getRawMaskAtom(
 			self.cpv, self.metadata)
 		return pmask is not None



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-02-06 13:09 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-02-06 13:09 UTC (permalink / raw
  To: gentoo-commits

commit:     dfcef19feff049004e0a7043fb980ecdc711a930
Author:     Sebastian Luther <SebastianLuther <AT> gmx <DOT> de>
AuthorDate: Mon Jan 31 17:40:08 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Mon Jan 31 21:04:50 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=dfcef19f

Allow relative paths (starting with ./) on the cmd line

bug 352208

---
 pym/_emerge/depgraph.py |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index a927222..4f60a3a 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -1634,6 +1634,13 @@ class depgraph(object):
 				# Queue these up since it's most efficient to handle
 				# multiple files in a single iter_owners() call.
 				lookup_owners.append(x)
+			elif x.startswith("." + os.path.sep):
+				f = os.path.abspath(x)
+				if not f.startswith(myroot):
+					portage.writemsg(("\n\n!!! '%s' (resolved from '%s') does not start with" + \
+						" $ROOT.\n") % (f, x), noiselevel=-1)
+					return 0, []
+				lookup_owners.append(f)
 			else:
 				if x in ("system", "world"):
 					x = SETPREFIX + x



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-02-06 13:09 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-02-06 13:09 UTC (permalink / raw
  To: gentoo-commits

commit:     aa78cc8da18015b7d1e4eec277b5a7f940fe357c
Author:     Sebastian Luther <SebastianLuther <AT> gmx <DOT> de>
AuthorDate: Mon Jan 31 22:35:40 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Mon Jan 31 22:43:06 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=aa78cc8d

Print near matches for cmd line atoms without matching ebuild

---
 pym/_emerge/depgraph.py |   33 +++++++++++++++++++++++++++++++++
 1 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 4f60a3a..39c6395 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -3,6 +3,7 @@
 
 from __future__ import print_function
 
+import difflib
 import gc
 import logging
 import re
@@ -2336,6 +2337,8 @@ class depgraph(object):
 		pkgsettings = self._frozen_config.pkgsettings[root]
 		root_config = self._frozen_config.roots[root]
 		portdb = self._frozen_config.roots[root].trees["porttree"].dbapi
+		vardb = self._frozen_config.roots[root].trees["vartree"].dbapi
+		bindb = self._frozen_config.roots[root].trees["bintree"].dbapi
 		dbs = self._dynamic_config._filtered_trees[root]["dbs"]
 		for db, pkg_type, built, installed, db_keys in dbs:
 			if installed:
@@ -2610,6 +2613,36 @@ class depgraph(object):
 			mask_docs = True
 		else:
 			writemsg_stdout("\nemerge: there are no ebuilds to satisfy "+green(xinfo)+".\n", noiselevel=-1)
+			if isinstance(myparent, AtomArg):
+				cp = myparent.atom.cp
+				cat, pkg = cp.split("/")
+				if cat == "null":
+					cat = None
+
+				all_cp = set()
+				all_cp.update(vardb.cp_all())
+				all_cp.update(portdb.cp_all())
+				if "--usepkg" in self._frozen_config.myopts:
+					all_cp.update(bindb.cp_all())
+
+				if cat:
+					matches = difflib.get_close_matches(cp, all_cp)
+				else:
+					pkg_to_cp = {}
+					for other_cp in all_cp:
+						other_pkg = other_cp.split("/")[1]
+						pkg_to_cp.setdefault(other_pkg, set()).add(other_cp)
+					pkg_matches = difflib.get_close_matches(pkg, pkg_to_cp)
+					matches = []
+					for pkg_match in pkg_matches:
+						matches.extend(pkg_to_cp[pkg_match])
+
+				if len(matches) == 1:
+					writemsg_stdout("emerge: Maybe you meant " + matches[0] + "?\n"
+						, noiselevel=-1)
+				elif len(matches) > 1:
+					writemsg_stdout("emerge: Maybe you meant any of these: " + ", ".join(matches) + "?\n"
+						, noiselevel=-1)
 
 		msg = []
 		if not isinstance(myparent, AtomArg):



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-02-06 13:09 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-02-06 13:09 UTC (permalink / raw
  To: gentoo-commits

commit:     ee02b5b7d747d2b5b5d5339c91dee0cd3f2ee150
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 31 22:10:14 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Mon Jan 31 22:11:05 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=ee02b5b7

EbuildBuild: spawn nofetch for fetchonly

---
 pym/_emerge/EbuildBuild.py |   17 ++++++++++++-----
 1 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/pym/_emerge/EbuildBuild.py b/pym/_emerge/EbuildBuild.py
index 1eab21d..afd6399 100644
--- a/pym/_emerge/EbuildBuild.py
+++ b/pym/_emerge/EbuildBuild.py
@@ -16,6 +16,7 @@ from portage import os
 from portage.output import colorize
 from portage.package.ebuild.digestcheck import digestcheck
 from portage.package.ebuild.doebuild import _check_temp_dir
+from portage.package.ebuild._spawn_nofetch import spawn_nofetch
 
 class EbuildBuild(CompositeTask):
 
@@ -118,6 +119,8 @@ class EbuildBuild(CompositeTask):
 					settings=settings)
 				retval = fetcher.execute()
 				self.returncode = retval
+				self.wait()
+				return
 			else:
 				fetcher = EbuildFetcher(
 					config_pool=self.config_pool,
@@ -127,11 +130,8 @@ class EbuildBuild(CompositeTask):
 					logfile=None,
 					pkg=self.pkg,
 					scheduler=self.scheduler)
-				fetcher.start()
-				self.returncode = fetcher.wait()
-
-			self.wait()
-			return
+				self._start_task(fetcher, self._fetchonly_exit)
+				return
 
 		self._build_dir = EbuildBuildDir(
 			scheduler=self.scheduler, settings=settings)
@@ -150,6 +150,13 @@ class EbuildBuild(CompositeTask):
 			phase='clean', scheduler=self.scheduler, settings=self.settings)
 		self._start_task(pre_clean_phase, self._pre_clean_exit)
 
+	def _fetchonly_exit(self, fetcher):
+		self._final_exit(fetcher)
+		if self.returncode != os.EX_OK:
+			portdb = self.pkg.root_config.trees[self._tree].dbapi
+			spawn_nofetch(portdb, self._ebuild_path, settings=self.settings)
+		self.wait()
+
 	def _pre_clean_exit(self, pre_clean_phase):
 		if self._default_exit(pre_clean_phase) != os.EX_OK:
 			self._unlock_builddir()



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-02-06 13:09 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-02-06 13:09 UTC (permalink / raw
  To: gentoo-commits

commit:     7181cfe1c40071b4c0d8446fcd12d9aecd622a11
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 31 23:44:55 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Mon Jan 31 23:44:55 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=7181cfe1

depgraph: display 'searching for similar names'

It can take few seconds to search, so display a status message.

---
 pym/_emerge/depgraph.py |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 39c6395..64e9b19 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -2619,6 +2619,9 @@ class depgraph(object):
 				if cat == "null":
 					cat = None
 
+				writemsg_stdout("\nemerge: searching for similar names..."
+					, noiselevel=-1)
+
 				all_cp = set()
 				all_cp.update(vardb.cp_all())
 				all_cp.update(portdb.cp_all())
@@ -2638,12 +2641,17 @@ class depgraph(object):
 						matches.extend(pkg_to_cp[pkg_match])
 
 				if len(matches) == 1:
-					writemsg_stdout("emerge: Maybe you meant " + matches[0] + "?\n"
+					writemsg_stdout("\nemerge: Maybe you meant " + matches[0] + "?\n"
 						, noiselevel=-1)
 				elif len(matches) > 1:
-					writemsg_stdout("emerge: Maybe you meant any of these: " + ", ".join(matches) + "?\n"
+					writemsg_stdout(
+						"\nemerge: Maybe you meant any of these: %s?\n" % \
+						(", ".join(matches),), noiselevel=-1)
+				else:
+					# Generally, this would only happen if
+					# all dbapis are empty.
+					writemsg_stdout(" nothing similar found.\n"
 						, noiselevel=-1)
-
 		msg = []
 		if not isinstance(myparent, AtomArg):
 			# It's redundant to show parent for AtomArg since



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-02-06 13:09 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-02-06 13:09 UTC (permalink / raw
  To: gentoo-commits

commit:     23cc6611c8b5303ec2ecf8cb8203e69ddb825551
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Tue Feb  1 04:33:48 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Tue Feb  1 04:33:48 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=23cc6611

EbuildFetcher: use default SIGINT/TERM handlers

This seems to fix bug #353239.

---
 pym/_emerge/EbuildFetcher.py |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/pym/_emerge/EbuildFetcher.py b/pym/_emerge/EbuildFetcher.py
index 59076a8..0ea8dc7 100644
--- a/pym/_emerge/EbuildFetcher.py
+++ b/pym/_emerge/EbuildFetcher.py
@@ -5,6 +5,7 @@ import traceback
 
 from _emerge.SpawnProcess import SpawnProcess
 import copy
+import signal
 import sys
 import portage
 from portage import os
@@ -95,6 +96,11 @@ class EbuildFetcher(SpawnProcess):
 
 		portage.process._setup_pipes(fd_pipes)
 
+		# Use default signal handlers in order to avoid problems
+		# killing subprocesses as reported in bug #353239.
+		signal.signal(signal.SIGINT, signal.SIG_DFL)
+		signal.signal(signal.SIGTERM, signal.SIG_DFL)
+
 		# Force consistent color output, in case we are capturing fetch
 		# output through a normal pipe due to unavailability of ptys.
 		portage.output.havecolor = self._settings.get('NOCOLOR') \



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-02-06 13:10 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-02-06 13:10 UTC (permalink / raw
  To: gentoo-commits

commit:     dd5175a7e851a12f5740c2481c96b32e5db1f4eb
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Wed Feb  2 04:09:50 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Wed Feb  2 04:09:50 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=dd5175a7

Show "missed update" message for REQUIRED_USE.

This will fix bug #353443.

---
 pym/_emerge/depgraph.py |   38 +++++++++++++++++++++++++++++++-------
 1 files changed, 31 insertions(+), 7 deletions(-)

diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 64e9b19..16326ee 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -198,6 +198,9 @@ class _dynamic_depgraph_config(object):
 		self._ignored_deps = []
 		self._highest_pkg_cache = {}
 
+		self._unsat_req_use = {}
+		self._pkg_config_issues = {}
+
 		self._needed_unstable_keywords = backtrack_parameters.needed_unstable_keywords
 		self._needed_license_changes = backtrack_parameters.needed_license_changes
 		self._needed_use_config_changes = backtrack_parameters.needed_use_config_changes
@@ -350,15 +353,12 @@ class depgraph(object):
 
 	def _show_missed_update(self):
 
-		if '--quiet' in self._frozen_config.myopts and \
-			'--debug' not in self._frozen_config.myopts:
-			return
-
 		# In order to minimize noise, show only the highest
 		# missed update from each SLOT.
 		missed_updates = {}
 		for pkg, mask_reasons in \
-			self._dynamic_config._runtime_pkg_mask.items():
+			chain(self._dynamic_config._runtime_pkg_mask.items(),
+			self._dynamic_config._pkg_config_issues.items()):
 			if pkg.installed:
 				# Exclude installed here since we only
 				# want to show available updates.
@@ -382,6 +382,18 @@ class depgraph(object):
 			missed_update_types.setdefault(mask_type,
 				[]).append((pkg, parent_atoms))
 
+		if '--quiet' in self._frozen_config.myopts and \
+			'--debug' not in self._frozen_config.myopts:
+			missed_update_types.pop("slot conflict", None)
+			missed_update_types.pop("missing dependency", None)
+
+		required_use = missed_update_types.pop("required use", None)
+		if required_use is not None:
+			# For display purposes, unsatisfied REQUIRED_USE
+			# can be treated like a missing dependency.
+			missed_update_types.setdefault("missing dependency",
+				[]).extend(required_use)
+
 		self._show_missed_update_slot_conflicts(
 			missed_update_types.get("slot conflict"))
 
@@ -1890,7 +1902,14 @@ class depgraph(object):
 							self._dynamic_config._unsatisfied_deps_for_display.append(
 								((myroot, atom), {"myparent" : arg}))
 							return 0, myfavorites
-						self._dynamic_config._missing_args.append((arg, atom))
+						pkg = self._dynamic_config._unsat_req_use.get((myroot, atom))
+						if pkg is not None:
+							config_issues = \
+								self._dynamic_config._pkg_config_issues.setdefault(pkg, {})
+							parent_atoms = config_issues.setdefault("required use", set())
+							parent_atoms.add((arg, myroot, atom))
+						else:
+							self._dynamic_config._missing_args.append((arg, atom))
 						continue
 					if atom.cp != pkg.cp:
 						# For old-style virtuals, we need to repeat the
@@ -2653,7 +2672,7 @@ class depgraph(object):
 					writemsg_stdout(" nothing similar found.\n"
 						, noiselevel=-1)
 		msg = []
-		if not isinstance(myparent, AtomArg):
+		if not isinstance(myparent, DependencyArg):
 			# It's redundant to show parent for AtomArg since
 			# it's the same as 'xinfo' displayed above.
 			dep_chain = self._get_dep_chain(myparent, atom)
@@ -3031,6 +3050,7 @@ class depgraph(object):
 		# represented by the found_available_arg flag.
 		found_available_arg = False
 		packages_with_invalid_use_config = []
+		pkgs_with_unsat_req_use = []
 		for find_existing_node in True, False:
 			if existing_node:
 				break
@@ -3246,6 +3266,7 @@ class depgraph(object):
 							continue
 						if not required_use_is_sat:
 							packages_with_invalid_use_config.append(pkg)
+							pkgs_with_unsat_req_use.append(pkg)
 							continue
 
 					if pkg.cp == atom_cp:
@@ -3329,6 +3350,9 @@ class depgraph(object):
 					break
 
 		if not matched_packages:
+			if pkgs_with_unsat_req_use:
+				self._dynamic_config._unsat_req_use[(root, atom)] = \
+					pkgs_with_unsat_req_use[0]
 			return None, None
 
 		if "--debug" in self._frozen_config.myopts:



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-02-06 13:10 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-02-06 13:10 UTC (permalink / raw
  To: gentoo-commits

commit:     6709704ffe68937e35d6e945043b5da50b5941c2
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Wed Feb  2 05:33:10 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Wed Feb  2 05:33:10 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=6709704f

_get_dep_chain: allow SetArg for first node

---
 pym/_emerge/depgraph.py |   29 +++++++++++++++--------------
 1 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 16326ee..bcbc41d 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -2202,7 +2202,8 @@ class depgraph(object):
 
 		return selected_atoms
 
-	def _get_dep_chain(self, pkg, target_atom=None, unsatisfied_dependency=False):
+	def _get_dep_chain(self, start_node, target_atom=None,
+		unsatisfied_dependency=False):
 		"""
 		Returns a list of (atom, node_type) pairs that represent a dep chain.
 		If target_atom is None, the first package shown is pkg's parent.
@@ -2213,17 +2214,17 @@ class depgraph(object):
 		"""
 		traversed_nodes = set()
 		dep_chain = []
-		node = pkg
-		first = True
+		node = start_node
 		child = None
 		all_parents = self._dynamic_config._parent_atoms
 
-		if target_atom is not None:
+		if target_atom is not None and isinstance(node, Package):
 			affecting_use = set()
 			for dep_str in "DEPEND", "RDEPEND", "PDEPEND":
-				affecting_use.update(extract_affecting_use(pkg.metadata[dep_str], target_atom))
-			affecting_use.difference_update(pkg.use.mask, node.use.force)
-			pkg_name = _unicode_decode("%s") % (pkg.cpv,)
+				affecting_use.update(extract_affecting_use(
+					node.metadata[dep_str], target_atom))
+			affecting_use.difference_update(node.use.mask, node.use.force)
+			pkg_name = _unicode_decode("%s") % (node.cpv,)
 			if affecting_use:
 				usedep = []
 				for flag in affecting_use:
@@ -2233,7 +2234,7 @@ class depgraph(object):
 						usedep.append("-"+flag)
 				pkg_name += "[%s]" % ",".join(usedep)
 
-			dep_chain.append((pkg_name, pkg.type_name))
+			dep_chain.append((pkg_name, node.type_name))
 
 		while node is not None:
 			traversed_nodes.add(node)
@@ -2241,7 +2242,7 @@ class depgraph(object):
 			if isinstance(node, DependencyArg):
 				dep_chain.append((_unicode_decode("%s") % (node,), "argument"))
 
-			elif node is not pkg:
+			elif node is not start_node:
 				for ppkg, patom in all_parents[child]:
 					if ppkg == node:
 						atom = patom.unevaluated_atom
@@ -2297,14 +2298,14 @@ class depgraph(object):
 						selected_parent = None
 					break
 				else:
-					if unsatisfied_dependency and node is pkg:
+					if unsatisfied_dependency and node is start_node:
 						# Make sure that pkg doesn't satisfy parent's dependency.
 						# This ensures that we select the correct parent for use
 						# flag changes.
-						for ppkg, atom in all_parents[pkg]:
+						for ppkg, atom in all_parents[start_node]:
 							if parent is ppkg:
 								atom_set = InternalPackageSet(initial_atoms=(atom,))
-								if not atom_set.findAtomForPackage(pkg):
+								if not atom_set.findAtomForPackage(start_node):
 									selected_parent = parent
 									child = node
 								break
@@ -2672,11 +2673,11 @@ class depgraph(object):
 					writemsg_stdout(" nothing similar found.\n"
 						, noiselevel=-1)
 		msg = []
-		if not isinstance(myparent, DependencyArg):
+		if not isinstance(myparent, AtomArg):
 			# It's redundant to show parent for AtomArg since
 			# it's the same as 'xinfo' displayed above.
 			dep_chain = self._get_dep_chain(myparent, atom)
-	
+
 			for node, node_type in dep_chain:
 				msg.append('(dependency required by "%s" [%s])' % \
 						(colorize('INFORM', _unicode_decode("%s") % \



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-02-06 13:10 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-02-06 13:10 UTC (permalink / raw
  To: gentoo-commits

commit:     d7d414c96f797d164eb292784c3241d8de7f380a
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Wed Feb  2 22:04:35 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Wed Feb  2 22:04:35 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=d7d414c9

Fix grammar in a comment.

---
 pym/_emerge/depgraph.py |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 3d923ba..45873af 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -826,7 +826,7 @@ class depgraph(object):
 				del e
 
 		# NOTE: REQUIRED_USE checks are delayed until after
-		# package selection, since want to prompt the user
+		# package selection, since we want to prompt the user
 		# for USE adjustment rather than have REQUIRED_USE
 		# affect package selection and || dep choices.
 		if not pkg.built and pkg.metadata["REQUIRED_USE"] and \



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-02-06 13:10 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-02-06 13:10 UTC (permalink / raw
  To: gentoo-commits

commit:     f77800259514da77c9803c85a06c7dbd599e4561
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Wed Feb  2 21:46:47 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Wed Feb  2 21:46:47 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=f7780025

REQUIRED_USE: add blank line after display

---
 pym/_emerge/depgraph.py |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 957f447..3d923ba 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -2629,6 +2629,7 @@ class depgraph(object):
 			writemsg_stdout("    %s\n" % \
 				human_readable_required_use(pkg.metadata["REQUIRED_USE"]),
 				noiselevel=-1)
+			writemsg_stdout("\n", noiselevel=-1)
 
 		elif show_missing_use:
 			writemsg_stdout("\nemerge: there are no ebuilds built with USE flags to satisfy "+green(xinfo)+".\n", noiselevel=-1)



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-02-06 13:10 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-02-06 13:10 UTC (permalink / raw
  To: gentoo-commits

commit:     b59e1c4ee8b6035cc125afae3a16619f9e3199ee
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Thu Feb  3 02:03:05 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Thu Feb  3 02:03:05 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=b59e1c4e

REQUIRED_USE: no autounmask, so skip backtracking

---
 pym/_emerge/depgraph.py |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 2f8037a..05ca187 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -203,6 +203,9 @@ class _dynamic_depgraph_config(object):
 		self._needed_use_config_changes = backtrack_parameters.needed_use_config_changes
 		self._runtime_pkg_mask = backtrack_parameters.runtime_pkg_mask
 		self._need_restart = False
+		# For conditions that always require user intervention, such as
+		# unsatisfied REQUIRED_USE (currently has no autounmask support).
+		self._skip_restart = False
 		self._backtrack_infos = {}
 
 		self._autounmask = depgraph._frozen_config.myopts.get('--autounmask', 'n') == True
@@ -840,6 +843,7 @@ class depgraph(object):
 					atom = Atom("=" + pkg.cpv)
 				self._dynamic_config._unsatisfied_deps_for_display.append(
 					((pkg.root, atom), {"myparent":dep.parent}))
+				self._dynamic_config._skip_restart = True
 				return 0
 
 		if not pkg.onlydeps:
@@ -1885,7 +1889,7 @@ class depgraph(object):
 					if isinstance(arg, PackageArg):
 						if not self._add_pkg(arg.package, dep) or \
 							not self._create_graph():
-							if not self._dynamic_config._need_restart:
+							if not self.need_restart():
 								sys.stderr.write(("\n\n!!! Problem " + \
 									"resolving dependencies for %s\n") % \
 									arg.arg)
@@ -1948,7 +1952,7 @@ class depgraph(object):
 					# so that later dep_check() calls can use it as feedback
 					# for making more consistent atom selections.
 					if not self._add_pkg(pkg, dep):
-						if self._dynamic_config._need_restart:
+						if self.need_restart():
 							pass
 						elif isinstance(arg, SetArg):
 							writemsg(("\n\n!!! Problem resolving " + \
@@ -5473,8 +5477,9 @@ class depgraph(object):
 		"""
 
 	def need_restart(self):
-		return self._dynamic_config._need_restart
-	
+		return self._dynamic_config._need_restart and \
+			not self._dynamic_config._skip_restart
+
 	def success_without_autounmask(self):
 		return self._dynamic_config._success_without_autounmask
 



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-02-06 13:10 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-02-06 13:10 UTC (permalink / raw
  To: gentoo-commits

commit:     ebc2fafe4a7261ba6e97c3f0ec134b7ca542d1d7
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Wed Feb  2 23:51:00 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Wed Feb  2 23:51:00 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=ebc2fafe

REQUIRED_USE: handle unsatisfied like normal dep

---
 pym/_emerge/depgraph.py |   23 ++++++-----------------
 1 files changed, 6 insertions(+), 17 deletions(-)

diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 45873af..2f8037a 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -197,7 +197,6 @@ class _dynamic_depgraph_config(object):
 		self._initially_unsatisfied_deps = []
 		self._ignored_deps = []
 		self._highest_pkg_cache = {}
-		self._pkg_config_issues = {}
 
 		self._needed_unstable_keywords = backtrack_parameters.needed_unstable_keywords
 		self._needed_license_changes = backtrack_parameters.needed_license_changes
@@ -355,8 +354,7 @@ class depgraph(object):
 		# missed update from each SLOT.
 		missed_updates = {}
 		for pkg, mask_reasons in \
-			chain(self._dynamic_config._runtime_pkg_mask.items(),
-			self._dynamic_config._pkg_config_issues.items()):
+			self._dynamic_config._runtime_pkg_mask.items():
 			if pkg.installed:
 				# Exclude installed here since we only
 				# want to show available updates.
@@ -385,13 +383,6 @@ class depgraph(object):
 			missed_update_types.pop("slot conflict", None)
 			missed_update_types.pop("missing dependency", None)
 
-		required_use = missed_update_types.pop("required use", None)
-		if required_use is not None:
-			# For display purposes, unsatisfied REQUIRED_USE
-			# can be treated like a missing dependency.
-			missed_update_types.setdefault("missing dependency",
-				[]).extend(required_use)
-
 		self._show_missed_update_slot_conflicts(
 			missed_update_types.get("slot conflict"))
 
@@ -844,13 +835,11 @@ class depgraph(object):
 						parent, atom = parent_atom
 						self._add_parent_atom(pkg, parent_atom)
 
-				config_issues = \
-					self._dynamic_config._pkg_config_issues.setdefault(pkg, {})
-				parent_atoms = config_issues.setdefault("required use", set())
-				all_parent_atoms = self._dynamic_config._parent_atoms.get(pkg)
-				if all_parent_atoms is not None:
-					for parent, atom in all_parent_atoms:
-						parent_atoms.add((parent, pkg.root, atom))
+				atom = dep.atom
+				if atom is None:
+					atom = Atom("=" + pkg.cpv)
+				self._dynamic_config._unsatisfied_deps_for_display.append(
+					((pkg.root, atom), {"myparent":dep.parent}))
 				return 0
 
 		if not pkg.onlydeps:



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-02-06 13:10 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-02-06 13:10 UTC (permalink / raw
  To: gentoo-commits

commit:     bc41037a5ad34c8812fe1f4ac36a051660a0fca6
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Thu Feb  3 04:18:47 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Thu Feb  3 04:18:47 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=bc41037a

depgraph: skip backtrack for fatal errors

---
 pym/_emerge/depgraph.py |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 920cd21..d0ceb33 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -1598,6 +1598,7 @@ class depgraph(object):
 				if os.path.realpath(x) != \
 					os.path.realpath(self._frozen_config.trees[myroot]["bintree"].getname(mykey)):
 					writemsg(colorize("BAD", "\n*** You need to adjust PKGDIR to emerge this package.\n\n"), noiselevel=-1)
+					self._dynamic_config._skip_restart = True
 					return 0, myfavorites
 
 				pkg = self._pkg(mykey, "binary", root_config,
@@ -1623,6 +1624,7 @@ class depgraph(object):
 					if ebuild_path != os.path.join(os.path.realpath(tree_root),
 						cp, os.path.basename(ebuild_path)):
 						writemsg(colorize("BAD", "\n*** You need to adjust PORTDIR or PORTDIR_OVERLAY to emerge this package.\n\n"), noiselevel=-1)
+						self._dynamic_config._skip_restart = True
 						return 0, myfavorites
 					if mykey not in portdb.xmatch(
 						"match-visible", portage.cpv_getkey(mykey)):
@@ -1643,6 +1645,7 @@ class depgraph(object):
 				if not x.startswith(myroot):
 					portage.writemsg(("\n\n!!! '%s' does not start with" + \
 						" $ROOT.\n") % x, noiselevel=-1)
+					self._dynamic_config._skip_restart = True
 					return 0, []
 				# Queue these up since it's most efficient to handle
 				# multiple files in a single iter_owners() call.
@@ -1652,6 +1655,7 @@ class depgraph(object):
 				if not f.startswith(myroot):
 					portage.writemsg(("\n\n!!! '%s' (resolved from '%s') does not start with" + \
 						" $ROOT.\n") % (f, x), noiselevel=-1)
+					self._dynamic_config._skip_restart = True
 					return 0, []
 				lookup_owners.append(f)
 			else:
@@ -1673,6 +1677,7 @@ class depgraph(object):
 						noiselevel=-1)
 					portage.writemsg("!!! Please check ebuild(5) for full details.\n")
 					portage.writemsg("!!! (Did you specify a version but forget to prefix with '='?)\n")
+					self._dynamic_config._skip_restart = True
 					return (0,[])
 				# Don't expand categories or old-style virtuals here unless
 				# necessary. Expansion of old-style virtuals here causes at
@@ -1730,6 +1735,7 @@ class depgraph(object):
 					writemsg("\n\n", noiselevel=-1)
 					ambiguous_package_name(x, expanded_atoms, root_config,
 						self._frozen_config.spinner, self._frozen_config.myopts)
+					self._dynamic_config._skip_restart = True
 					return False, myfavorites
 				if expanded_atoms:
 					atom = expanded_atoms[0]
@@ -1769,6 +1775,7 @@ class depgraph(object):
 			if not owners:
 				portage.writemsg(("\n\n!!! '%s' is not claimed " + \
 					"by any package.\n") % lookup_owners[0], noiselevel=-1)
+				self._dynamic_config._skip_restart = True
 				return 0, []
 
 			for cpv in owners:
@@ -4074,6 +4081,7 @@ class depgraph(object):
 			raise self._unknown_internal_error()
 
 		if not self._validate_blockers():
+			self._dynamic_config._skip_restart = True
 			raise self._unknown_internal_error()
 
 		if self._dynamic_config._slot_collision_info:
@@ -4656,6 +4664,7 @@ class depgraph(object):
 
 			if not selected_nodes:
 				self._dynamic_config._circular_deps_for_display = mygraph
+				self._dynamic_config._skip_restart = True
 				raise self._unknown_internal_error()
 
 			# At this point, we've succeeded in selecting one or more nodes, so
@@ -4764,6 +4773,7 @@ class depgraph(object):
 			self._dynamic_config._unsatisfied_blockers_for_display = unsolvable_blockers
 			self._dynamic_config._serialized_tasks_cache = retlist[:]
 			self._dynamic_config._scheduler_graph = scheduler_graph
+			self._dynamic_config._skip_restart = True
 			raise self._unknown_internal_error()
 
 		if self._dynamic_config._slot_collision_info and \



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-02-06 13:10 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-02-06 13:10 UTC (permalink / raw
  To: gentoo-commits

commit:     93328d0d02f4f0f6ce3fbaad93e978148a130238
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Thu Feb  3 03:41:10 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Thu Feb  3 03:41:10 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=93328d0d

depgraph: rm obsolete AmbguousPackageName handler

---
 pym/_emerge/depgraph.py |   23 ++---------------------
 1 files changed, 2 insertions(+), 21 deletions(-)

diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 05ca187..920cd21 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -1174,8 +1174,8 @@ class depgraph(object):
 
 		debug = "--debug" in self._frozen_config.myopts
 		strict = mytype != "installed"
-		try:
-			for dep_root, dep_string, dep_priority, ignore_blockers in deps:
+
+		for dep_root, dep_string, dep_priority, ignore_blockers in deps:
 				if not dep_string:
 					continue
 				if debug:
@@ -1229,25 +1229,6 @@ class depgraph(object):
 					allow_unsatisfied, ignore_blockers=ignore_blockers):
 					return 0
 
-		except portage.exception.AmbiguousPackageName as e:
-			pkgs = e.args[0]
-			portage.writemsg("\n\n!!! An atom in the dependencies " + \
-				"is not fully-qualified. Multiple matches:\n\n", noiselevel=-1)
-			for cpv in pkgs:
-				portage.writemsg("    %s\n" % cpv, noiselevel=-1)
-			portage.writemsg("\n", noiselevel=-1)
-			if mytype == "binary":
-				portage.writemsg(
-					"!!! This binary package cannot be installed: '%s'\n" % \
-					mykey, noiselevel=-1)
-			elif mytype == "ebuild":
-				portdb = self._frozen_config.roots[myroot].trees["porttree"].dbapi
-				myebuild, mylocation = portdb.findname2(mykey, myrepo = pkg.repo)
-				portage.writemsg("!!! This ebuild cannot be installed: " + \
-					"'%s'\n" % myebuild, noiselevel=-1)
-			portage.writemsg("!!! Please notify the package maintainer " + \
-				"that atoms must be fully-qualified.\n", noiselevel=-1)
-			return 0
 		self._dynamic_config._traversed_pkg_deps.add(pkg)
 		return 1
 



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-02-06 13:10 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-02-06 13:10 UTC (permalink / raw
  To: gentoo-commits

commit:     2f944dceba509832f3cc070e8c74b8a4e3ba3474
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Thu Feb  3 04:30:37 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Thu Feb  3 04:30:37 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=2f944dce

depgraph: remove obsolete gpg exception handlers

---
 pym/_emerge/depgraph.py |   14 --------------
 1 files changed, 0 insertions(+), 14 deletions(-)

diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index d0ceb33..27a854b 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -1952,20 +1952,6 @@ class depgraph(object):
 								(atom,), noiselevel=-1)
 						return 0, myfavorites
 
-				except portage.exception.MissingSignature as e:
-					portage.writemsg("\n\n!!! A missing gpg signature is preventing portage from calculating the\n")
-					portage.writemsg("!!! required dependencies. This is a security feature enabled by the admin\n")
-					portage.writemsg("!!! to aid in the detection of malicious intent.\n\n")
-					portage.writemsg("!!! THIS IS A POSSIBLE INDICATION OF TAMPERED FILES -- CHECK CAREFULLY.\n")
-					portage.writemsg("!!! Affected file: %s\n" % (e), noiselevel=-1)
-					return 0, myfavorites
-				except portage.exception.InvalidSignature as e:
-					portage.writemsg("\n\n!!! An invalid gpg signature is preventing portage from calculating the\n")
-					portage.writemsg("!!! required dependencies. This is a security feature enabled by the admin\n")
-					portage.writemsg("!!! to aid in the detection of malicious intent.\n\n")
-					portage.writemsg("!!! THIS IS A POSSIBLE INDICATION OF TAMPERED FILES -- CHECK CAREFULLY.\n")
-					portage.writemsg("!!! Affected file: %s\n" % (e), noiselevel=-1)
-					return 0, myfavorites
 				except SystemExit as e:
 					raise # Needed else can't exit
 				except Exception as e:



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-02-06 13:10 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-02-06 13:10 UTC (permalink / raw
  To: gentoo-commits

commit:     f3827387522ab3c9fef1c8d5efb56f2eb3e75731
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Thu Feb  3 07:39:09 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Thu Feb  3 07:39:09 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=f3827387

depgraph: use catsplit where appropriate

---
 pym/_emerge/depgraph.py |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 27a854b..8f04c44 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -2624,7 +2624,7 @@ class depgraph(object):
 			writemsg_stdout("\nemerge: there are no ebuilds to satisfy "+green(xinfo)+".\n", noiselevel=-1)
 			if isinstance(myparent, AtomArg):
 				cp = myparent.atom.cp
-				cat, pkg = cp.split("/")
+				cat, pkg = portage.catsplit(cp)
 				if cat == "null":
 					cat = None
 
@@ -2642,7 +2642,7 @@ class depgraph(object):
 				else:
 					pkg_to_cp = {}
 					for other_cp in all_cp:
-						other_pkg = other_cp.split("/")[1]
+						other_pkg = portage.catsplit(other_cp)[1]
 						pkg_to_cp.setdefault(other_pkg, set()).add(other_cp)
 					pkg_matches = difflib.get_close_matches(pkg, pkg_to_cp)
 					matches = []



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-02-06 13:10 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-02-06 13:10 UTC (permalink / raw
  To: gentoo-commits

commit:     3b4262ff0e1903f1c8dc8a9e3c34bb442deea04b
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Thu Feb  3 08:14:49 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Thu Feb  3 08:14:49 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=3b4262ff

action_uninstall: allow repo with wildcard atom

---
 pym/_emerge/actions.py |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py
index 2c6ce87..278002b 100644
--- a/pym/_emerge/actions.py
+++ b/pym/_emerge/actions.py
@@ -2528,7 +2528,7 @@ def action_uninstall(settings, trees, ldpath_mtimes,
 						atom += "::" + ext_atom.repo
 
 					if vardb.match(atom):
-						valid_atoms.append(Atom(atom))
+						valid_atoms.append(Atom(atom, allow_repo=True))
 
 		else:
 			msg = []



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-02-06 13:10 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-02-06 13:10 UTC (permalink / raw
  To: gentoo-commits

commit:     6503980e0e3bcfce9fbaff85c33d87f616e955a9
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Fri Feb  4 15:41:45 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Fri Feb  4 15:41:45 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=6503980e

depgraph: don't drop deps in _add_dep

This will fix bug #353613. We remove a hunk of code that was meant
to limit recursion, but is obsolete an buggy. The recursion limiting
is now handled by _add_pkg and the _ignored_deps stack.

---
 pym/_emerge/depgraph.py |   29 -----------------------------
 1 files changed, 0 insertions(+), 29 deletions(-)

diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 811eda6..4334a33 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -683,8 +683,6 @@ class depgraph(object):
 			dep_pkg = dep.child
 			existing_node = self._dynamic_config._slot_pkg_map[
 				dep.root].get(dep_pkg.slot_atom)
-			if existing_node is not dep_pkg:
-				existing_node = None 
 
 		if not dep_pkg:
 			if dep.priority.optional:
@@ -731,33 +729,6 @@ class depgraph(object):
 								noiselevel=-1, level=logging.DEBUG)
 
 			return 0
-		# In some cases, dep_check will return deps that shouldn't
-		# be proccessed any further, so they are identified and
-		# discarded here. Try to discard as few as possible since
-		# discarded dependencies reduce the amount of information
-		# available for optimization of merge order.
-		if dep.priority.satisfied and \
-			dep.priority.satisfied.visible and \
-			not dep_pkg.installed and \
-			not (existing_node or recurse):
-			myarg = None
-			if dep.root == self._frozen_config.target_root:
-				try:
-					myarg = next(self._iter_atoms_for_pkg(dep_pkg))
-				except StopIteration:
-					pass
-				except portage.exception.InvalidDependString:
-					if not dep_pkg.installed:
-						# This shouldn't happen since the package
-						# should have been masked.
-						raise
-			if not myarg:
-				# Existing child selection may not be valid unless
-				# it's added to the graph immediately, since "complete"
-				# mode may select a different child later.
-				dep.child = None
-				self._dynamic_config._ignored_deps.append(dep)
-				return 1
 
 		if not self._add_pkg(dep_pkg, dep):
 			return 0



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-02-06 13:10 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-02-06 13:10 UTC (permalink / raw
  To: gentoo-commits

commit:     f90df89f9053bdad96d61935d704f33239f3fed5
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Fri Feb  4 17:41:30 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Fri Feb  4 17:41:30 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=f90df89f

depgraph: make downgrades trigger complete graph

It's common for downgrades to break dependencies, as in bug #353613, so
automatically trigger complete graph mode when a downgrade is found.

---
 pym/_emerge/depgraph.py |   23 +++++++++++++++++++++--
 1 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 4334a33..f131889 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -3456,8 +3456,27 @@ class depgraph(object):
 			return 1
 
 		if "complete" not in self._dynamic_config.myparams:
-			# Skip this to avoid consuming enough time to disturb users.
-			return 1
+			# Automatically enable complete mode if there are any
+			# downgrades, since they often break dependencies
+			# (like in bug #353613).
+			have_downgrade = False
+			for node in self._dynamic_config.digraph:
+				if not isinstance(node, Package) or \
+					node.operation != "merge":
+					continue
+				vardb = self._frozen_config.roots[
+					node.root].trees["vartree"].dbapi
+				inst_pkg = vardb.match_pkgs(node.slot_atom)
+				if inst_pkg and inst_pkg[0] > node:
+					have_downgrade = True
+					break
+
+			if have_downgrade:
+				self._dynamic_config.myparams["complete"] = True
+			else:
+				# Skip complete graph mode, in order to avoid consuming
+				# enough time to disturb users.
+				return 1
 
 		self._load_vdb()
 



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-02-06 13:10 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-02-06 13:10 UTC (permalink / raw
  To: gentoo-commits

commit:     4d6d55b00d1e08453397c37f6b986c60175fd30f
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sat Feb  5 03:20:37 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Sat Feb  5 03:20:37 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=4d6d55b0

get_dep_chain: add "set" node type

---
 pym/_emerge/depgraph.py |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index f131889..6e8ca31 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -2199,7 +2199,11 @@ class depgraph(object):
 			traversed_nodes.add(node)
 
 			if isinstance(node, DependencyArg):
-				dep_chain.append((_unicode_decode("%s") % (node,), "argument"))
+				if self._dynamic_config.digraph.parent_nodes(node):
+					node_type = "set"
+				else:
+					node_type = "argument"
+				dep_chain.append((_unicode_decode("%s") % (node,), node_type))
 
 			elif node is not start_node:
 				for ppkg, patom in all_parents[child]:
@@ -2650,7 +2654,6 @@ class depgraph(object):
 			# It's redundant to show parent for AtomArg since
 			# it's the same as 'xinfo' displayed above.
 			dep_chain = self._get_dep_chain(myparent, atom)
-
 			for node, node_type in dep_chain:
 				msg.append('(dependency required by "%s" [%s])' % \
 						(colorize('INFORM', _unicode_decode("%s") % \



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-02-06 13:10 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-02-06 13:10 UTC (permalink / raw
  To: gentoo-commits

commit:     a7c3400c1c8022b5b1b00e1d5b871bf902b25f48
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sat Feb  5 07:32:54 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Sat Feb  5 07:32:54 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=a7c3400c

backtrack_depgraph: get_best_run for last run

It's essential to feed back autounmask config changes, especially
USE changes, in order to make the last run as successful as possible.
This fixes a regression in the master branch, since commit
2186f87c22e0c4bdb86065855c2034bdbb66fa45.

---
 pym/_emerge/depgraph.py |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 6e8ca31..c4d84ab 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -5771,7 +5771,8 @@ def _backtrack_depgraph(settings, trees, myopts, myparams, myaction, myfiles, sp
 
 		mydepgraph = depgraph(settings, trees, myopts, myparams, spinner,
 			frozen_config=frozen_config,
-			allow_backtracking=False)
+			allow_backtracking=False,
+			backtrack_parameters=backtracker.get_best_run())
 		success, favorites = mydepgraph.select_files(myfiles)
 
 	return (success, mydepgraph, favorites)



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-10-23 11:05 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-10-23 11:05 UTC (permalink / raw
  To: gentoo-commits

commit:     4befce5fc2f0985989b0b393567301827fb9a463
Author:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 23 10:59:30 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Sun Oct 23 10:59:30 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=4befce5f

Add warning for switched overlay

---
 pym/_emerge/actions.py |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py
index d8f9032..e9a0928 100644
--- a/pym/_emerge/actions.py
+++ b/pym/_emerge/actions.py
@@ -3037,6 +3037,10 @@ def display_news_notification(root_config, myopts):
 		return
 
 	permission_msgs = set()
+	print(colorize("WARN", " * IMPORTANT:"), end=' ')
+	print("The overlay location has changed, so please do the following:")
+	print("		layman -d multilib ; layman -a multilib-portage")
+	print("		Afterwards update portage as usual.")
 	for repo in portdb.getRepositories():
 		try:
 			unreadItems = checkUpdatedNewsItems(



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-10-23 11:42 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-10-23 11:42 UTC (permalink / raw
  To: gentoo-commits

commit:     0d7597d0b8634e66851ed8a521109bb8ceb7bb55
Author:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 23 11:41:43 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Sun Oct 23 11:41:43 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=0d7597d0

Revert "Add warning for switched overlay"

This reverts commit 4befce5fc2f0985989b0b393567301827fb9a463.

---
 pym/_emerge/actions.py |    4 ----
 1 files changed, 0 insertions(+), 4 deletions(-)

diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py
index e9a0928..d8f9032 100644
--- a/pym/_emerge/actions.py
+++ b/pym/_emerge/actions.py
@@ -3037,10 +3037,6 @@ def display_news_notification(root_config, myopts):
 		return
 
 	permission_msgs = set()
-	print(colorize("WARN", " * IMPORTANT:"), end=' ')
-	print("The overlay location has changed, so please do the following:")
-	print("		layman -d multilib ; layman -a multilib-portage")
-	print("		Afterwards update portage as usual.")
 	for repo in portdb.getRepositories():
 		try:
 			unreadItems = checkUpdatedNewsItems(



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2011-11-15 20:20 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2011-11-15 20:20 UTC (permalink / raw
  To: gentoo-commits

commit:     eee8b76256c978c486befed81ad35e3f452e64c9
Author:     Nathan Phillip Brink <binki <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 15 19:53:19 2011 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Tue Nov 15 20:20:42 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=eee8b762

Support multilib for non-multilib setups (where MULTILIB_ABIS=).

---
 pym/_emerge/Package.py |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py
index 27af1e6..ee2855d 100644
--- a/pym/_emerge/Package.py
+++ b/pym/_emerge/Package.py
@@ -638,9 +638,8 @@ class _PackageMetadataWrapper(_PackageMetadataWrapperBase):
 		self._pkg.inherited = v
 
 	def _set_iuse(self, k, v):
-		if self._pkg.root_config.settings['MULTILIB_ABIS'].count(' ') != 0:
-			for multilib_abis in self._pkg.root_config.settings.get("MULTILIB_ABIS", '').split(' '):
-				v = v + " multilib_abi_" + multilib_abis
+		for multilib_abis in self._pkg.root_config.settings.get("MULTILIB_ABIS", '').split(' '):
+			v = v + " multilib_abi_" + multilib_abis
 		self._pkg.iuse = self._pkg._iuse(
 			v.split(), self._pkg.root_config.settings._iuse_implicit_match)
 



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2012-02-18 16:14 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2012-02-18 16:14 UTC (permalink / raw
  To: gentoo-commits

commit:     b3b15821591c75268c0d4ade3fdee14795fdb059
Author:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 18 16:14:10 2012 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Sat Feb 18 16:14:10 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=b3b15821

Fix intend, drop dublicated entry

---
 pym/_emerge/EbuildExecuter.py |    4 ----
 1 files changed, 0 insertions(+), 4 deletions(-)

diff --git a/pym/_emerge/EbuildExecuter.py b/pym/_emerge/EbuildExecuter.py
index 6591ee5..eb19c6c 100644
--- a/pym/_emerge/EbuildExecuter.py
+++ b/pym/_emerge/EbuildExecuter.py
@@ -109,10 +109,6 @@ class EbuildExecuter(CompositeTask):
 			# This initializes PORTAGE_LOG_FILE.
 			portage.prepare_build_dirs(pkg.root, settings, cleanup)
 
-		setup_phase = EbuildPhase(background=self.background,
-			phase="setup", scheduler=scheduler,
-			settings=settings)
-
 			setup_phase = EbuildPhase(background=self.background,
 				phase="setup", scheduler=scheduler,
 				settings=settings)



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2012-02-26 16:27 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2012-02-26 16:27 UTC (permalink / raw
  To: gentoo-commits

commit:     f7cdc96239e36ff6012b8e06f5666ed3f675d3eb
Author:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 26 12:54:14 2012 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Sun Feb 26 12:54:14 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=f7cdc962

main.py: Move multilib behind force-multilib FEATURE, extend error message

---
 pym/_emerge/main.py |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py
index 6f2f1d7..a1c44ea 100644
--- a/pym/_emerge/main.py
+++ b/pym/_emerge/main.py
@@ -1653,10 +1653,13 @@ def emerge_main(args=None):
 	adjust_configs(myopts, trees)
 	apply_priorities(settings)
 
-	if settings.get("NO_AUTO_FLAG", "") is "":
-		writemsg_level(bad("!!! Failed to find vars from extra profile") + "\n",level=logging.ERROR, noiselevel=-1)
-		writemsg_level(bad("!!! Please make sure that you did follow the instructions and included the extra profile\n"),level=logging.ERROR, noiselevel=-1)
-		return 1
+	if 'force-multilib' in settings.get("FEATURES", ""):
+		if settings.get("NO_AUTO_FLAG", "") is "":
+			writemsg_level(bad("!!! Failed to find vars from extra profile") + "\n",level=logging.ERROR, noiselevel=-1)
+			writemsg_level(bad("!!! Please make sure that you did follow the instructions and included the extra profile\n"),level=logging.ERROR, noiselevel=-1)
+			writemsg_level(bad("!!! http://git.overlays.gentoo.org/gitweb/?p=proj/multilib-portage.git;a=blob;f=doc/portage-multilib-instructions\n"),level=logging.ERROR, noiselevel=-1)
+			writemsg_level(bad("!!! has some basic instructions for the setup\n"),level=logging.ERROR, noiselevel=-1)
+			return 1
 
 	if myaction == 'version':
 		writemsg_stdout(getportageversion(



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2012-02-26 16:27 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2012-02-26 16:27 UTC (permalink / raw
  To: gentoo-commits

commit:     48f913ef67b49383304e2c17456634d770073c32
Author:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 26 12:55:48 2012 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Sun Feb 26 12:55:48 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=48f913ef

actions.py: Move multilib behind force-multilib FEATURE

---
 pym/_emerge/actions.py |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py
index ac8f7ea..7cb451e 100644
--- a/pym/_emerge/actions.py
+++ b/pym/_emerge/actions.py
@@ -1470,7 +1470,8 @@ def action_info(settings, trees, myopts, myfiles):
 
 	myvars = portage.util.unique_array(myvars)
 	use_expand = settings.get('USE_EXPAND', '').split()
-	use_expand.append("MULTILIB_ABIS")
+	if 'force-multilib' in settings.get("FEATURES", ""):
+		use_expand.append("MULTILIB_ABIS")
 	use_expand.sort()
 	unset_vars = []
 	myvars.sort()



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2012-02-26 16:27 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2012-02-26 16:27 UTC (permalink / raw
  To: gentoo-commits

commit:     5077a3273c1f6224b1e954b1cd0063d97f383c86
Author:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 26 13:02:10 2012 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Sun Feb 26 13:02:10 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=5077a327

Package.py: Move multilib behind force-multilib FEATURE

---
 pym/_emerge/Package.py |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py
index ee2855d..0243c04 100644
--- a/pym/_emerge/Package.py
+++ b/pym/_emerge/Package.py
@@ -638,8 +638,9 @@ class _PackageMetadataWrapper(_PackageMetadataWrapperBase):
 		self._pkg.inherited = v
 
 	def _set_iuse(self, k, v):
-		for multilib_abis in self._pkg.root_config.settings.get("MULTILIB_ABIS", '').split(' '):
-			v = v + " multilib_abi_" + multilib_abis
+		if 'force-multilib' in self._pkg.root_config.settings.get("FEATURES", ''):
+			for multilib_abis in self._pkg.root_config.settings.get("MULTILIB_ABIS", '').split(' '):
+				v = v + " multilib_abi_" + multilib_abis
 		self._pkg.iuse = self._pkg._iuse(
 			v.split(), self._pkg.root_config.settings._iuse_implicit_match)
 



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2012-02-26 16:27 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2012-02-26 16:27 UTC (permalink / raw
  To: gentoo-commits

commit:     7d34d970195bf751c33a0357c6b068ffd5da6d57
Author:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 26 14:14:39 2012 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Sun Feb 26 14:14:39 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=7d34d970

Ebuild_Executer.py: Fix FEATURES check

---
 pym/_emerge/EbuildExecuter.py |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/pym/_emerge/EbuildExecuter.py b/pym/_emerge/EbuildExecuter.py
index 5e3bebb..14ef437 100644
--- a/pym/_emerge/EbuildExecuter.py
+++ b/pym/_emerge/EbuildExecuter.py
@@ -93,7 +93,7 @@ class EbuildExecuter(CompositeTask):
 				phase=phase, scheduler=self.scheduler,
 				settings=self.settings))
 
-		if 'force-multilib' in self.settings:
+		if 'force-multilib' in self.settings["FEATURES"]:
 			self._start_task(ebuild_phases, self._install_exit)
 		else:
 			self._start_task(ebuild_phases, self._default_final_exit)



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2012-02-26 16:27 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2012-02-26 16:27 UTC (permalink / raw
  To: gentoo-commits

commit:     847cb24b3cdd577dc893865c1a91dae640d7b30a
Author:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 26 13:03:14 2012 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Sun Feb 26 13:03:14 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=847cb24b

Ebuild_Executer.py: Move multilib behind force-multilib FEATURE

---
 pym/_emerge/EbuildExecuter.py |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/pym/_emerge/EbuildExecuter.py b/pym/_emerge/EbuildExecuter.py
index eb19c6c..5e3bebb 100644
--- a/pym/_emerge/EbuildExecuter.py
+++ b/pym/_emerge/EbuildExecuter.py
@@ -93,7 +93,10 @@ class EbuildExecuter(CompositeTask):
 				phase=phase, scheduler=self.scheduler,
 				settings=self.settings))
 
-		self._start_task(ebuild_phases, self._install_exit)
+		if 'force-multilib' in self.settings:
+			self._start_task(ebuild_phases, self._install_exit)
+		else:
+			self._start_task(ebuild_phases, self._default_final_exit)
 
 	def _install_exit(self, install_phase):
 



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2012-07-19 21:03 Zac Medico
  0 siblings, 0 replies; 45+ messages in thread
From: Zac Medico @ 2012-07-19 21:03 UTC (permalink / raw
  To: gentoo-commits

commit:     6a1c5d1beba5367cefc9417416b364f520acde63
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 19 21:02:31 2012 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Thu Jul 19 21:02:31 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=6a1c5d1b

actions.py: remove unnecessary use_expand code

This hunk was adding MULTILIB_ABIS to use_expand, but it's actually
the wrong variable. The correct variable is MULTILIB_ABI and it's
already added to USE_EXPAND by the config class.

---
 pym/_emerge/actions.py |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py
index e469f0a..af42828 100644
--- a/pym/_emerge/actions.py
+++ b/pym/_emerge/actions.py
@@ -1504,8 +1504,6 @@ def action_info(settings, trees, myopts, myfiles):
 
 	myvars = portage.util.unique_array(myvars)
 	use_expand = settings.get('USE_EXPAND', '').split()
-	if 'force-multilib' in settings.features:
-		use_expand.append("MULTILIB_ABIS")
 	use_expand.sort()
 	unset_vars = []
 	myvars.sort()



^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2012-09-17 20:15 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2012-09-17 20:15 UTC (permalink / raw
  To: gentoo-commits

commit:     fd72996029dacbcc7e42b6d395a412f070297fd8
Author:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 17 20:15:00 2012 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Mon Sep 17 20:15:00 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=fd729960

Apply patch from zmedico, readds missing code from iuse_implicit changes

---
 pym/_emerge/Package.py |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py
index 957d5d3..c9ca411 100644
--- a/pym/_emerge/Package.py
+++ b/pym/_emerge/Package.py
@@ -69,7 +69,14 @@ class Package(Task):
 			implicit_match = self.root_config.settings._iuse_effective_match
 		else:
 			implicit_match = self.root_config.settings._iuse_implicit_match
-		self.iuse = self._iuse(self.metadata["IUSE"].split(), implicit_match)
+		iuse = self.metadata["IUSE"]
+		if 'force-multilib' in self.root_config.settings.features:
+			if self.built is False:
+				for multilib_abis in self.root_config.settings.get("MULTILIB_ABIS", '').split():
+					iuse += " multilib_abi_" + multilib_abis
+				iuse += " abiwrapper"
+				self.metadata["IUSE"] = iuse
+		self.iuse = self._iuse(iuse.split(), implicit_match)
 
 		if (self.iuse.enabled or self.iuse.disabled) and \
 			not eapi_attrs.iuse_defaults:


^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2012-10-22  9:24 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2012-10-22  9:24 UTC (permalink / raw
  To: gentoo-commits

commit:     db4fd960ae7299820d613c080b38c3ece6ed3a3d
Author:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 22 09:24:23 2012 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Mon Oct 22 09:24:23 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=db4fd960

Finish the merge of alpha141

---
 pym/_emerge/actions.py |   10 +-
 pym/_emerge/main.py    |  418 +-----------------------------------------------
 2 files changed, 11 insertions(+), 417 deletions(-)

diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py
index fec2dfa..af203ac 100644
--- a/pym/_emerge/actions.py
+++ b/pym/_emerge/actions.py
@@ -1,4 +1,4 @@
-# Copyright 1999-2012 Gentoo Foundation
+w# Copyright 1999-2012 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 from __future__ import print_function
@@ -3460,6 +3460,14 @@ def run_action(settings, trees, mtimedb, myaction, myopts, myfiles,
 	adjust_configs(myopts, trees)
 	apply_priorities(settings)
 
+	if 'force-multilib' in settings.features:
+		if settings.get("NO_AUTO_FLAG", "") is "":
+			writemsg_level(bad("!!! Failed to find vars from extra profile") + "\n",level=logging.ERROR, noiselevel=-1)
+			writemsg_level(bad("!!! Please make sure that you did follow the instructions and included the extra profile\n"),level=logging.ERROR, noiselevel=-1)
+			writemsg_level(bad("!!! http://git.overlays.gentoo.org/gitweb/?p=proj/multilib-portage.git;a=blob;f=doc/portage-multilib-instructions\n"),level=logging.ERROR, noiselevel=-1)
+			writemsg_level(bad("!!! has some basic instructions for the setup\n"),level=logging.ERROR, noiselevel=-1)
+			return 1
+
 	if myaction == 'version':
 		writemsg_stdout(getportageversion(
 			settings["PORTDIR"], None,

diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py
index d4fd8b1..be5a5ca 100644
--- a/pym/_emerge/main.py
+++ b/pym/_emerge/main.py
@@ -1017,419 +1017,5 @@ def emerge_main(args=None):
 	tmpcmdline.extend(args)
 	myaction, myopts, myfiles = parse_opts(tmpcmdline)
 
-	# skip global updates prior to sync, since it's called after sync
-	if myaction not in ('help', 'info', 'sync', 'version') and \
-		myopts.get('--package-moves') != 'n' and \
-		_global_updates(trees, mtimedb["updates"], quiet=("--quiet" in myopts)):
-		mtimedb.commit()
-		# Reload the whole config from scratch.
-		settings, trees, mtimedb = load_emerge_config(trees=trees)
-		portdb = trees[settings['EROOT']]['porttree'].dbapi
-
-	xterm_titles = "notitles" not in settings.features
-	if xterm_titles:
-		xtermTitle("emerge")
-
-	if "--digest" in myopts:
-		os.environ["FEATURES"] = os.environ.get("FEATURES","") + " digest"
-		# Reload the whole config from scratch so that the portdbapi internal
-		# config is updated with new FEATURES.
-		settings, trees, mtimedb = load_emerge_config(trees=trees)
-		portdb = trees[settings['EROOT']]['porttree'].dbapi
-
-	# NOTE: adjust_configs() can map options to FEATURES, so any relevant
-	# options adjustments should be made prior to calling adjust_configs().
-	if "--buildpkgonly" in myopts:
-		myopts["--buildpkg"] = True
-
-	adjust_configs(myopts, trees)
-	apply_priorities(settings)
-
-	if 'force-multilib' in settings.features:
-		if settings.get("NO_AUTO_FLAG", "") is "":
-			writemsg_level(bad("!!! Failed to find vars from extra profile") + "\n",level=logging.ERROR, noiselevel=-1)
-			writemsg_level(bad("!!! Please make sure that you did follow the instructions and included the extra profile\n"),level=logging.ERROR, noiselevel=-1)
-			writemsg_level(bad("!!! http://git.overlays.gentoo.org/gitweb/?p=proj/multilib-portage.git;a=blob;f=doc/portage-multilib-instructions\n"),level=logging.ERROR, noiselevel=-1)
-			writemsg_level(bad("!!! has some basic instructions for the setup\n"),level=logging.ERROR, noiselevel=-1)
-			return 1
-
-	if myaction == 'version':
-		writemsg_stdout(getportageversion(
-			settings["PORTDIR"], None,
-			settings.profile_path, settings["CHOST"],
-			trees[settings['EROOT']]['vartree'].dbapi) + '\n', noiselevel=-1)
-		return 0
-	elif myaction == 'help':
-		_emerge.help.help()
-		return 0
-
-	spinner = stdout_spinner()
-	if "candy" in settings.features:
-		spinner.update = spinner.update_scroll
-
-	if "--quiet" not in myopts:
-		portage.deprecated_profile_check(settings=settings)
-		if portage.const._ENABLE_REPO_NAME_WARN:
-			# Bug #248603 - Disable warnings about missing
-			# repo_name entries for stable branch.
-			repo_name_check(trees)
-		repo_name_duplicate_check(trees)
-		config_protect_check(trees)
-	check_procfs()
-
-	if "getbinpkg" in settings.features:
-		myopts["--getbinpkg"] = True
-
-	if "--getbinpkgonly" in myopts:
-		myopts["--getbinpkg"] = True
-
-	if "--getbinpkgonly" in myopts:
-		myopts["--usepkgonly"] = True
-
-	if "--getbinpkg" in myopts:
-		myopts["--usepkg"] = True
-
-	if "--usepkgonly" in myopts:
-		myopts["--usepkg"] = True
-
-	if "--buildpkgonly" in myopts:
-		# --buildpkgonly will not merge anything, so
-		# it cancels all binary package options.
-		for opt in ("--getbinpkg", "--getbinpkgonly",
-			"--usepkg", "--usepkgonly"):
-			myopts.pop(opt, None)
-
-	for mytrees in trees.values():
-		mydb = mytrees["porttree"].dbapi
-		# Freeze the portdbapi for performance (memoize all xmatch results).
-		mydb.freeze()
-
-		if myaction in ('search', None) and \
-			"--usepkg" in myopts:
-			# Populate the bintree with current --getbinpkg setting.
-			# This needs to happen before expand_set_arguments(), in case
-			# any sets use the bintree.
-			mytrees["bintree"].populate(
-				getbinpkgs="--getbinpkg" in myopts)
-
-	del mytrees, mydb
-
-	if "moo" in myfiles:
-		print(COWSAY_MOO % platform.system())
-		msg = ("The above `emerge moo` display is deprecated. "
-			"Please use `emerge --moo` instead.")
-		for line in textwrap.wrap(msg, 50):
-			print(" %s %s" % (colorize("WARN", "*"), line))
-
-	for x in myfiles:
-		ext = os.path.splitext(x)[1]
-		if (ext == ".ebuild" or ext == ".tbz2") and os.path.exists(os.path.abspath(x)):
-			print(colorize("BAD", "\n*** emerging by path is broken and may not always work!!!\n"))
-			break
-
-	root_config = trees[settings['EROOT']]['root_config']
-	if myaction == "moo":
-		print(COWSAY_MOO % platform.system())
-		return os.EX_OK
-	elif myaction == "list-sets":
-		writemsg_stdout("".join("%s\n" % s for s in sorted(root_config.sets)))
-		return os.EX_OK
-	elif myaction == "check-news":
-		news_counts = count_unread_news(
-			root_config.trees["porttree"].dbapi,
-			root_config.trees["vartree"].dbapi)
-		if any(news_counts.values()):
-			display_news_notifications(news_counts)
-		elif "--quiet" not in myopts:
-			print("", colorize("GOOD", "*"), "No news items were found.")
-		return os.EX_OK
-
-	ensure_required_sets(trees)
-
-	# only expand sets for actions taking package arguments
-	oldargs = myfiles[:]
-	if myaction in ("clean", "config", "depclean", "info", "prune", "unmerge", None):
-		myfiles, retval = expand_set_arguments(myfiles, myaction, root_config)
-		if retval != os.EX_OK:
-			return retval
-
-		# Need to handle empty sets specially, otherwise emerge will react 
-		# with the help message for empty argument lists
-		if oldargs and not myfiles:
-			print("emerge: no targets left after set expansion")
-			return 0
-
-	if ("--tree" in myopts) and ("--columns" in myopts):
-		print("emerge: can't specify both of \"--tree\" and \"--columns\".")
-		return 1
-
-	if '--emptytree' in myopts and '--noreplace' in myopts:
-		writemsg_level("emerge: can't specify both of " + \
-			"\"--emptytree\" and \"--noreplace\".\n",
-			level=logging.ERROR, noiselevel=-1)
-		return 1
-
-	if ("--quiet" in myopts):
-		spinner.update = spinner.update_quiet
-		portage.util.noiselimit = -1
-
-	if "--fetch-all-uri" in myopts:
-		myopts["--fetchonly"] = True
-
-	if "--skipfirst" in myopts and "--resume" not in myopts:
-		myopts["--resume"] = True
-
-	# Allow -p to remove --ask
-	if "--pretend" in myopts:
-		myopts.pop("--ask", None)
-
-	# forbid --ask when not in a terminal
-	# note: this breaks `emerge --ask | tee logfile`, but that doesn't work anyway.
-	if ("--ask" in myopts) and (not sys.stdin.isatty()):
-		portage.writemsg("!!! \"--ask\" should only be used in a terminal. Exiting.\n",
-			noiselevel=-1)
-		return 1
-
-	if settings.get("PORTAGE_DEBUG", "") == "1":
-		spinner.update = spinner.update_quiet
-		portage.util.noiselimit = 0
-		if "python-trace" in settings.features:
-			import portage.debug as portage_debug
-			portage_debug.set_trace(True)
-
-	if not ("--quiet" in myopts):
-		if '--nospinner' in myopts or \
-			settings.get('TERM') == 'dumb' or \
-			not sys.stdout.isatty():
-			spinner.update = spinner.update_basic
-
-	if "--debug" in myopts:
-		print("myaction", myaction)
-		print("myopts", myopts)
-
-	if not myaction and not myfiles and "--resume" not in myopts:
-		_emerge.help.help()
-		return 1
-
-	pretend = "--pretend" in myopts
-	fetchonly = "--fetchonly" in myopts or "--fetch-all-uri" in myopts
-	buildpkgonly = "--buildpkgonly" in myopts
-
-	# check if root user is the current user for the actions where emerge needs this
-	if portage.secpass < 2:
-		# We've already allowed "--version" and "--help" above.
-		if "--pretend" not in myopts and myaction not in ("search","info"):
-			need_superuser = myaction in ('clean', 'depclean', 'deselect',
-				'prune', 'unmerge') or not \
-				(fetchonly or \
-				(buildpkgonly and secpass >= 1) or \
-				myaction in ("metadata", "regen", "sync"))
-			if portage.secpass < 1 or \
-				need_superuser:
-				if need_superuser:
-					access_desc = "superuser"
-				else:
-					access_desc = "portage group"
-				# Always show portage_group_warning() when only portage group
-				# access is required but the user is not in the portage group.
-				from portage.data import portage_group_warning
-				if "--ask" in myopts:
-					writemsg_stdout("This action requires %s access...\n" % \
-						(access_desc,), noiselevel=-1)
-					if portage.secpass < 1 and not need_superuser:
-						portage_group_warning()
-					if userquery("Would you like to add --pretend to options?",
-						"--ask-enter-invalid" in myopts) == "No":
-						return 128 + signal.SIGINT
-					myopts["--pretend"] = True
-					del myopts["--ask"]
-				else:
-					sys.stderr.write(("emerge: %s access is required\n") \
-						% access_desc)
-					if portage.secpass < 1 and not need_superuser:
-						portage_group_warning()
-					return 1
-
-	# Disable emergelog for everything except build or unmerge operations.
-	# This helps minimize parallel emerge.log entries that can confuse log
-	# parsers like genlop.
-	disable_emergelog = False
-	for x in ("--pretend", "--fetchonly", "--fetch-all-uri"):
-		if x in myopts:
-			disable_emergelog = True
-			break
-	if disable_emergelog:
-		pass
-	elif myaction in ("search", "info"):
-		disable_emergelog = True
-	elif portage.data.secpass < 1:
-		disable_emergelog = True
-
-	_emerge.emergelog._disable = disable_emergelog
-
-	if not disable_emergelog:
-		if 'EMERGE_LOG_DIR' in settings:
-			try:
-				# At least the parent needs to exist for the lock file.
-				portage.util.ensure_dirs(settings['EMERGE_LOG_DIR'])
-			except portage.exception.PortageException as e:
-				writemsg_level("!!! Error creating directory for " + \
-					"EMERGE_LOG_DIR='%s':\n!!! %s\n" % \
-					(settings['EMERGE_LOG_DIR'], e),
-					noiselevel=-1, level=logging.ERROR)
-				portage.util.ensure_dirs(_emerge.emergelog._emerge_log_dir)
-			else:
-				_emerge.emergelog._emerge_log_dir = settings["EMERGE_LOG_DIR"]
-		else:
-			_emerge.emergelog._emerge_log_dir = os.path.join(os.sep,
-				settings["EPREFIX"].lstrip(os.sep), "var", "log")
-			portage.util.ensure_dirs(_emerge.emergelog._emerge_log_dir)
-
-	if not "--pretend" in myopts:
-		emergelog(xterm_titles, "Started emerge on: "+\
-			_unicode_decode(
-				time.strftime("%b %d, %Y %H:%M:%S", time.localtime()),
-				encoding=_encodings['content'], errors='replace'))
-		myelogstr=""
-		if myopts:
-			opt_list = []
-			for opt, arg in myopts.items():
-				if arg is True:
-					opt_list.append(opt)
-				elif isinstance(arg, list):
-					# arguments like --exclude that use 'append' action
-					for x in arg:
-						opt_list.append("%s=%s" % (opt, x))
-				else:
-					opt_list.append("%s=%s" % (opt, arg))
-			myelogstr=" ".join(opt_list)
-		if myaction:
-			myelogstr += " --" + myaction
-		if myfiles:
-			myelogstr += " " + " ".join(oldargs)
-		emergelog(xterm_titles, " *** emerge " + myelogstr)
-	del oldargs
-
-	def emergeexitsig(signum, frame):
-		signal.signal(signal.SIGINT, signal.SIG_IGN)
-		signal.signal(signal.SIGTERM, signal.SIG_IGN)
-		portage.util.writemsg("\n\nExiting on signal %(signal)s\n" % {"signal":signum})
-		sys.exit(128 + signum)
-	signal.signal(signal.SIGINT, emergeexitsig)
-	signal.signal(signal.SIGTERM, emergeexitsig)
-
-	def emergeexit():
-		"""This gets out final log message in before we quit."""
-		if "--pretend" not in myopts:
-			emergelog(xterm_titles, " *** terminating.")
-		if xterm_titles:
-			xtermTitleReset()
-	portage.atexit_register(emergeexit)
-
-	if myaction in ("config", "metadata", "regen", "sync"):
-		if "--pretend" in myopts:
-			sys.stderr.write(("emerge: The '%s' action does " + \
-				"not support '--pretend'.\n") % myaction)
-			return 1
-
-	if "sync" == myaction:
-		return action_sync(settings, trees, mtimedb, myopts, myaction)
-	elif "metadata" == myaction:
-		action_metadata(settings, portdb, myopts)
-	elif myaction=="regen":
-		validate_ebuild_environment(trees)
-		return action_regen(settings, portdb, myopts.get("--jobs"),
-			myopts.get("--load-average"))
-	# HELP action
-	elif "config"==myaction:
-		validate_ebuild_environment(trees)
-		action_config(settings, trees, myopts, myfiles)
-
-	# SEARCH action
-	elif "search"==myaction:
-		validate_ebuild_environment(trees)
-		action_search(trees[settings['EROOT']]['root_config'],
-			myopts, myfiles, spinner)
-
-	elif myaction in ('clean', 'depclean', 'deselect', 'prune', 'unmerge'):
-		validate_ebuild_environment(trees)
-		rval = action_uninstall(settings, trees, mtimedb["ldpath"],
-			myopts, myaction, myfiles, spinner)
-		if not (myaction == 'deselect' or buildpkgonly or fetchonly or pretend):
-			post_emerge(myaction, myopts, myfiles, settings['EROOT'],
-				trees, mtimedb, rval)
-		return rval
-
-	elif myaction == 'info':
-
-		# Ensure atoms are valid before calling unmerge().
-		vardb = trees[settings['EROOT']]['vartree'].dbapi
-		portdb = trees[settings['EROOT']]['porttree'].dbapi
-		bindb = trees[settings['EROOT']]["bintree"].dbapi
-		valid_atoms = []
-		for x in myfiles:
-			if is_valid_package_atom(x, allow_repo=True):
-				try:
-					#look at the installed files first, if there is no match
-					#look at the ebuilds, since EAPI 4 allows running pkg_info
-					#on non-installed packages
-					valid_atom = dep_expand(x, mydb=vardb, settings=settings)
-					if valid_atom.cp.split("/")[0] == "null":
-						valid_atom = dep_expand(x, mydb=portdb, settings=settings)
-					if valid_atom.cp.split("/")[0] == "null" and "--usepkg" in myopts:
-						valid_atom = dep_expand(x, mydb=bindb, settings=settings)
-					valid_atoms.append(valid_atom)
-				except portage.exception.AmbiguousPackageName as e:
-					msg = "The short ebuild name \"" + x + \
-						"\" is ambiguous.  Please specify " + \
-						"one of the following " + \
-						"fully-qualified ebuild names instead:"
-					for line in textwrap.wrap(msg, 70):
-						writemsg_level("!!! %s\n" % (line,),
-							level=logging.ERROR, noiselevel=-1)
-					for i in e.args[0]:
-						writemsg_level("    %s\n" % colorize("INFORM", i),
-							level=logging.ERROR, noiselevel=-1)
-					writemsg_level("\n", level=logging.ERROR, noiselevel=-1)
-					return 1
-				continue
-			msg = []
-			msg.append("'%s' is not a valid package atom." % (x,))
-			msg.append("Please check ebuild(5) for full details.")
-			writemsg_level("".join("!!! %s\n" % line for line in msg),
-				level=logging.ERROR, noiselevel=-1)
-			return 1
-
-		return action_info(settings, trees, myopts, valid_atoms)
-
-	# "update", "system", or just process files:
-	else:
-		validate_ebuild_environment(trees)
-
-		for x in myfiles:
-			if x.startswith(SETPREFIX) or \
-				is_valid_package_atom(x, allow_repo=True):
-				continue
-			if x[:1] == os.sep:
-				continue
-			try:
-				os.lstat(x)
-				continue
-			except OSError:
-				pass
-			msg = []
-			msg.append("'%s' is not a valid package atom." % (x,))
-			msg.append("Please check ebuild(5) for full details.")
-			writemsg_level("".join("!!! %s\n" % line for line in msg),
-				level=logging.ERROR, noiselevel=-1)
-			return 1
-
-		# GLEP 42 says to display news *after* an emerge --pretend
-		if "--pretend" not in myopts:
-			display_news_notification(root_config, myopts)
-		retval = action_build(settings, trees, mtimedb,
-			myopts, myaction, myfiles, spinner)
-		post_emerge(myaction, myopts, myfiles, settings['EROOT'],
-			trees, mtimedb, retval)
-
-		return retval
+	return run_action(settings, trees, mtimedb, myaction, myopts, myfiles,
+		gc_locals=locals().clear)


^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2012-10-22  9:43 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2012-10-22  9:43 UTC (permalink / raw
  To: gentoo-commits

commit:     c13439f0d8979387d42ebfa6eaff9799f41918c4
Author:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 22 09:43:51 2012 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Mon Oct 22 09:43:51 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=c13439f0

Remove random character

---
 pym/_emerge/actions.py |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py
index af203ac..7a7f60e 100644
--- a/pym/_emerge/actions.py
+++ b/pym/_emerge/actions.py
@@ -1,4 +1,4 @@
-w# Copyright 1999-2012 Gentoo Foundation
+# Copyright 1999-2012 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 from __future__ import print_function


^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2012-11-30 16:49 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2012-11-30 16:49 UTC (permalink / raw
  To: gentoo-commits

commit:     844f073fdd6626082b5138ae6e1d7b9d0634fe18
Author:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 30 16:49:02 2012 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Fri Nov 30 16:49:02 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=844f073f

Removed missed line from merge conflict

---
 pym/_emerge/Package.py |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py
index aac309a..e6fd33d 100644
--- a/pym/_emerge/Package.py
+++ b/pym/_emerge/Package.py
@@ -89,7 +89,6 @@ class Package(Task):
 		usealiases = self.root_config.settings._use_manager.getUseAliases(self)
 		self.iuse = self._iuse(self, iuse.split(), implicit_match,
 			usealiases, self.eapi)
->>>>>>> v2.2.0_alpha143
 
 		if (self.iuse.enabled or self.iuse.disabled) and \
 			not eapi_attrs.iuse_defaults:


^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2012-11-30 16:58 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2012-11-30 16:58 UTC (permalink / raw
  To: gentoo-commits

commit:     e934977a22ae99293d4ec03415ddd28be6fee1c6
Author:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 30 16:58:38 2012 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Fri Nov 30 16:58:38 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=e934977a

USE _metadata instead of metadata

---
 pym/_emerge/Package.py |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py
index e6fd33d..5c9600e 100644
--- a/pym/_emerge/Package.py
+++ b/pym/_emerge/Package.py
@@ -79,13 +79,13 @@ class Package(Task):
 			implicit_match = self.root_config.settings._iuse_effective_match
 		else:
 			implicit_match = self.root_config.settings._iuse_implicit_match
-		iuse = self.metadata["IUSE"]
+		iuse = self._metadata["IUSE"]
 		if 'force-multilib' in self.root_config.settings.features:
 			if self.built is False:
 				for multilib_abis in self.root_config.settings.get("MULTILIB_ABIS", '').split():
 					iuse += " multilib_abi_" + multilib_abis
 				iuse += " abiwrapper"
-				self.metadata["IUSE"] = iuse
+				self._metadata["IUSE"] = iuse
 		usealiases = self.root_config.settings._use_manager.getUseAliases(self)
 		self.iuse = self._iuse(self, iuse.split(), implicit_match,
 			usealiases, self.eapi)


^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2013-08-04 20:23 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2013-08-04 20:23 UTC (permalink / raw
  To: gentoo-commits

commit:     5f1b2875c4d9ceb6e6fad3db65147e7b5acc86a9
Author:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
AuthorDate: Sun Aug  4 20:23:21 2013 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Sun Aug  4 20:23:21 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=5f1b2875

Fix check for overlay content

---
 pym/_emerge/actions.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py
index f3874ec..2e03b86 100644
--- a/pym/_emerge/actions.py
+++ b/pym/_emerge/actions.py
@@ -3620,8 +3620,8 @@ def run_action(emerge_config):
 	adjust_configs(emerge_config.opts, emerge_config.trees)
 	apply_priorities(emerge_config.target_config.settings)
 
-	if 'force-multilib' in settings.features:
-		if settings.get("NO_AUTO_FLAG", "") is "":
+	if 'force-multilib' in emerge_config.target_config.settings.features:
+		if emerge_config.target_config.settings.get("NO_AUTO_FLAG", "") is "":
 			writemsg_level(bad("!!! Failed to find vars from extra profile") + "\n",level=logging.ERROR, noiselevel=-1)
 			writemsg_level(bad("!!! Please make sure that you did follow the instructions and included the extra profile\n"),level=logging.ERROR, noiselevel=-1)
 			writemsg_level(bad("!!! http://git.overlays.gentoo.org/gitweb/?p=proj/multilib-portage.git;a=blob;f=doc/portage-multilib-instructions\n"),level=logging.ERROR, noiselevel=-1)


^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2013-08-04 22:08 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2013-08-04 22:08 UTC (permalink / raw
  To: gentoo-commits

commit:     c7f1ce526769123ea129eb3ec0d5239aa1b5e610
Author:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
AuthorDate: Sun Aug  4 22:07:49 2013 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Sun Aug  4 22:07:49 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=c7f1ce52

Add -multilib string to version output of emerge --info, on request by mgorny, patch by zmedico

---
 pym/_emerge/actions.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py
index 2e03b86..8df1141 100644
--- a/pym/_emerge/actions.py
+++ b/pym/_emerge/actions.py
@@ -3019,7 +3019,7 @@ def getportageversion(portdir, _unused, profile, chost, vardb):
 	unameout=platform.release()+" "+platform.machine()
 
 	return "Portage %s (%s, %s, %s, %s)" % \
-		(portage.VERSION, profilever, gccver, ",".join(libcver), unameout)
+		(portage.VERSION + "-multilib", profilever, gccver, ",".join(libcver), unameout)
 
 def git_sync_timestamps(portdb, portdir):
 	"""


^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
@ 2018-05-23 12:46 Thomas Sachau
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Sachau @ 2018-05-23 12:46 UTC (permalink / raw
  To: gentoo-commits

commit:     370a5832a66713a17ff010f137fda7cfc7a26fe3
Author:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
AuthorDate: Wed May 23 12:46:05 2018 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Wed May 23 12:46:05 2018 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=370a5832

Fix build

 pym/_emerge/Package.py | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py
index 2be526471..e73c9d9d1 100644
--- a/pym/_emerge/Package.py
+++ b/pym/_emerge/Package.py
@@ -95,11 +95,11 @@ class Package(Task):
 
 		implicit_match = db._iuse_implicit_cnstr(self.cpv, self._metadata)
 		if 'force-multilib' in self.root_config.settings.features:
-			if self.built is False:
-				for multilib_abis in self.root_config.settings.get("MULTILIB_ABIS", '').split():
-					iuse += " multilib_abi_" + multilib_abis
-				iuse += " abiwrapper"
-				self._metadata["IUSE"] = iuse
+			iuse = self._metadata["IUSE"]
+			for multilib_abis in self.root_config.settings.get("MULTILIB_ABIS", '').split():
+				iuse += " multilib_abi_" + multilib_abis
+			iuse += " abiwrapper"
+			self._metadata["IUSE"] = iuse
 		usealiases = self.root_config.settings._use_manager.getUseAliases(self)
 		self.iuse = self._iuse(self, self._metadata["IUSE"].split(),
 			implicit_match, usealiases, self.eapi)


^ permalink raw reply related	[flat|nested] 45+ messages in thread

end of thread, other threads:[~2018-05-23 12:46 UTC | newest]

Thread overview: 45+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-06 13:10 [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/ Thomas Sachau
  -- strict thread matches above, loose matches on Subject: below --
2018-05-23 12:46 Thomas Sachau
2013-08-04 22:08 Thomas Sachau
2013-08-04 20:23 Thomas Sachau
2012-11-30 16:58 Thomas Sachau
2012-11-30 16:49 Thomas Sachau
2012-10-22  9:43 Thomas Sachau
2012-10-22  9:24 Thomas Sachau
2012-09-17 20:15 Thomas Sachau
2012-07-19 21:03 Zac Medico
2012-02-26 16:27 Thomas Sachau
2012-02-26 16:27 Thomas Sachau
2012-02-26 16:27 Thomas Sachau
2012-02-26 16:27 Thomas Sachau
2012-02-26 16:27 Thomas Sachau
2012-02-18 16:14 Thomas Sachau
2011-11-15 20:20 Thomas Sachau
2011-10-23 11:42 Thomas Sachau
2011-10-23 11:05 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
2011-02-06 13:09 Thomas Sachau
2011-02-06 13:09 Thomas Sachau
2011-02-06 13:09 Thomas Sachau
2011-02-06 13:09 Thomas Sachau
2011-02-06 13:09 Thomas Sachau
2011-02-06 13:09 Thomas Sachau
2011-02-06 13:09 Thomas Sachau
2011-02-06 13:09 Thomas Sachau
2011-02-06 13:09 Thomas Sachau
2011-02-06 13:09 Thomas Sachau
2011-02-06 13:09 Thomas Sachau
2011-02-06 13:09 Thomas Sachau

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox