From mboxrd@z Thu Jan  1 00:00:00 1970
Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org)
	by finch.gentoo.org with esmtp (Exim 4.60)
	(envelope-from <gentoo-commits+bounces-345098-garchives=archives.gentoo.org@lists.gentoo.org>)
	id 1QLFNA-0001MS-Ma
	for garchives@archives.gentoo.org; Sat, 14 May 2011 13:59:12 +0000
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 71C011C02A;
	Sat, 14 May 2011 13:59:05 +0000 (UTC)
Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183])
	by pigeon.gentoo.org (Postfix) with ESMTP id 29E9A1C02A
	for <gentoo-commits@lists.gentoo.org>; Sat, 14 May 2011 13:59:05 +0000 (UTC)
Received: from pelican.gentoo.org (unknown [66.219.59.40])
	(using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id A2A351B4018
	for <gentoo-commits@lists.gentoo.org>; Sat, 14 May 2011 13:59:04 +0000 (UTC)
Received: from localhost.localdomain (localhost [127.0.0.1])
	by pelican.gentoo.org (Postfix) with ESMTP id 1682080505
	for <gentoo-commits@lists.gentoo.org>; Sat, 14 May 2011 13:59:04 +0000 (UTC)
From: "Fabian Groffen" <grobian@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Fabian Groffen" <grobian@gentoo.org>
Message-ID: <d4af3319a7a1ec617498252f3d345622759df5be.grobian@gentoo>
Subject: [gentoo-commits] proj/portage:prefix commit in: /
X-VCS-Repository: proj/portage
X-VCS-Committer: grobian
X-VCS-Committer-Name: Fabian Groffen
X-VCS-Revision: d4af3319a7a1ec617498252f3d345622759df5be
Date: Sat, 14 May 2011 13:59:04 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: quoted-printable
X-Archives-Salt: 
X-Archives-Hash: 4e64686f9ae418d503d5d0050b87a285

commit:     d4af3319a7a1ec617498252f3d345622759df5be
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sat May 14 13:22:16 2011 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sat May 14 13:22:16 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a=
=3Dcommit;h=3Dd4af3319

Merge remote-tracking branch 'overlays-gentoo-org/master' into prefix

Conflicts:
	pym/portage/util/_dyn_libs/LinkageMapELF.py


 bin/ebuild-helpers/doins                           |    5 +-
 bin/ebuild.sh                                      |   18 +-
 bin/repoman                                        |    1 +
 cnf/make.globals                                   |    2 +-
 man/emerge.1                                       |   29 +-
 man/make.conf.5                                    |   11 +-
 pym/_emerge/EbuildPhase.py                         |   20 +-
 pym/_emerge/FakeVartree.py                         |   17 +-
 pym/_emerge/RootConfig.py                          |   10 +-
 pym/_emerge/Scheduler.py                           |   45 ++-
 pym/_emerge/actions.py                             |   78 +---
 pym/_emerge/create_depgraph_params.py              |    3 +-
 pym/_emerge/depgraph.py                            |  258 +++++----
 pym/_emerge/help.py                                |   45 ++-
 pym/_emerge/main.py                                |   78 +++-
 pym/_emerge/unmerge.py                             |   20 +-
 pym/portage/cache/sqlite.py                        |    7 +-
 pym/portage/cache/volatile.py                      |    3 +-
 pym/portage/const.py                               |    7 +-
 pym/portage/dbapi/_MergeProcess.py                 |   36 ++-
 pym/portage/dbapi/_expand_new_virt.py              |   72 +++
 pym/portage/dbapi/cpv_expand.py                    |   37 +-
 pym/portage/dbapi/porttree.py                      |   38 +-
 pym/portage/dbapi/vartree.py                       |  567 ++++++++++++--=
------
 pym/portage/dep/dep_check.py                       |   15 +-
 pym/portage/manifest.py                            |    4 +-
 pym/portage/package/ebuild/config.py               |    6 +-
 pym/portage/package/ebuild/doebuild.py             |   15 +-
 pym/portage/tests/resolver/test_rebuild.py         |   79 +++-
 pym/portage/util/_dyn_libs/LinkageMapELF.py        |   65 ++-
 .../util/_dyn_libs/PreservedLibsRegistry.py        |   69 ++-
 31 files changed, 1107 insertions(+), 553 deletions(-)

diff --cc pym/_emerge/actions.py
index 1672d47,215203a..80d872d
--- a/pym/_emerge/actions.py
+++ b/pym/_emerge/actions.py
@@@ -28,10 -28,11 +28,11 @@@ from portage import o
  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 GLOBAL_CONFIG_PATH, NEWS_LIB_PATH, EPREFIX
  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, _get_useflag_re
+ from portage.dbapi._expand_new_virt import expand_new_virt
+ from portage.dep import Atom, extended_cp_match
  from portage.exception import InvalidAtom
  from portage.output import blue, bold, colorize, create_color_func, dar=
kgreen, \
  	red, yellow
diff --cc pym/portage/const.py
index 7df2ecb,98f3dac..6057520
--- a/pym/portage/const.py
+++ b/pym/portage/const.py
@@@ -132,13 -88,13 +132,14 @@@ EBUILD_PHASES            =3D ("pretend",=20
  SUPPORTED_FEATURES       =3D frozenset([
                             "assume-digests", "binpkg-logs", "buildpkg",=
 "buildsyspkg", "candy",
                             "ccache", "chflags", "collision-protect", "c=
ompress-build-logs",
-                            "digest", "distcc", "distlocks", "fakeroot",
+                            "digest", "distcc", "distlocks", "ebuild-loc=
ks", "fakeroot",
                             "fail-clean", "fixpackages", "force-mirror",=
 "getbinpkg",
                             "installsources", "keeptemp", "keepwork", "f=
ixlafiles", "lmirror",
 +                            "macossandbox", "macosprefixsandbox", "maco=
susersandbox",
                             "metadata-transfer", "mirror", "multilib-str=
ict", "news",
-                            "noauto", "noclean", "nodoc", "noinfo", "nom=
an", "nostrip",
-                            "notitles", "parallel-fetch", "parse-eapi-eb=
uild-head",
+                            "noauto", "noclean", "nodoc", "noinfo", "nom=
an",
+                            "nostrip", "notitles", "parallel-fetch", "pa=
rallel-install",
+                            "parse-eapi-ebuild-head",
                             "prelink-checksums", "preserve-libs",
                             "protect-owned", "python-trace", "sandbox",
                             "selinux", "sesandbox", "severe", "sfperms",
diff --cc pym/portage/dbapi/vartree.py
index b88fbe5,cdae340..581300f
--- a/pym/portage/dbapi/vartree.py
+++ b/pym/portage/dbapi/vartree.py
@@@ -162,19 -163,11 +167,21 @@@ class vardbapi(dbapi)
 =20
  		self._linkmap =3D None
  		if _ENABLE_DYN_LINK_MAP:
 -			self._linkmap =3D LinkageMap(self)
 +			chost =3D self.settings.get('CHOST')
 +			if not chost:
 +				chost =3D 'lunix?' # this happens when profiles are not available
 +			if chost.find('darwin') >=3D 0:
 +				self._linkmap =3D LinkageMapMachO(self)
 +			elif chost.find('interix') >=3D 0 or chost.find('winnt') >=3D 0:
 +				self._linkmap =3D LinkageMapPeCoff(self)
 +			elif chost.find('aix') >=3D 0:
 +				self._linkmap =3D LinkageMapXCoff(self)
 +			else:
 +				self._linkmap =3D LinkageMap(self)
  		self._owners =3D self._owners_db(self)
 =20
+ 		self._cached_counter =3D None
+=20
  	def getpath(self, mykey, filename=3DNone):
  		# This is an optimized hotspot, so don't use unicode-wrapped
  		# os module and don't use os.path.join().
diff --cc pym/portage/util/_dyn_libs/LinkageMapELF.py
index b9c022f,fe86a7a..73b7752
--- a/pym/portage/util/_dyn_libs/LinkageMapELF.py
+++ b/pym/portage/util/_dyn_libs/LinkageMapELF.py
@@@ -179,12 -199,24 +200,24 @@@ class LinkageMapELF(object)
  		# have to call scanelf for preserved libs here as they aren't=20
  		# registered in NEEDED.ELF.2 files
  		plibs =3D set()
- 		if self._dbapi._plib_registry and self._dbapi._plib_registry.getPrese=
rvedLibs():
- 			args =3D [EPREFIX + "/usr/bin/scanelf", "-qF", "%a;%F;%S;%r;%n"]
- 			for items in self._dbapi._plib_registry.getPreservedLibs().values():
+ 		if preserve_paths is not None:
+ 			plibs.update(preserve_paths)
+ 		if self._dbapi._plib_registry and \
+ 			self._dbapi._plib_registry.hasEntries():
+ 			for cpv, items in \
+ 				self._dbapi._plib_registry.getPreservedLibs().items():
+ 				if exclude_pkgs is not None and cpv in exclude_pkgs:
+ 					# These preserved libs will either be unmerged,
+ 					# rendering them irrelevant, or they will be
+ 					# preserved in the replacement package and are
+ 					# already represented via the preserve_paths
+ 					# parameter.
+ 					continue
  				plibs.update(items)
- 				args.extend(os.path.join(root, x.lstrip("." + os.sep)) \
- 					for x in items)
+ 		if plibs:
 -			args =3D ["/usr/bin/scanelf", "-qF", "%a;%F;%S;%r;%n"]
++			args =3D [EPREFIX + "/usr/bin/scanelf", "-qF", "%a;%F;%S;%r;%n"]
+ 			args.extend(os.path.join(root, x.lstrip("." + os.sep)) \
+ 				for x in plibs)
  			try:
  				proc =3D subprocess.Popen(args, stdout=3Dsubprocess.PIPE)
  			except EnvironmentError as e: