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: