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 ) id 1Rchyj-0008W4-E6 for garchives@archives.gentoo.org; Mon, 19 Dec 2011 18:30:25 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id F2C4421C0DE; Mon, 19 Dec 2011 18:30:17 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id AE3E921C0DE for ; Mon, 19 Dec 2011 18:30:17 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 220FD1B400A for ; Mon, 19 Dec 2011 18:30:17 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id 858E580042 for ; Mon, 19 Dec 2011 18:30:16 +0000 (UTC) From: "Fabian Groffen" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Fabian Groffen" Message-ID: <45f8d30649d45064e1d7c67eb4b567f5ac690a2f.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: 45f8d30649d45064e1d7c67eb4b567f5ac690a2f Date: Mon, 19 Dec 2011 18:30:16 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: 1c29782e-09c8-4c85-b0dd-b46078abadf1 X-Archives-Hash: c18c11ad304be355f6ce847f1300338e commit: 45f8d30649d45064e1d7c67eb4b567f5ac690a2f Author: Fabian Groffen gentoo org> AuthorDate: Mon Dec 19 18:29:38 2011 +0000 Commit: Fabian Groffen gentoo org> CommitDate: Mon Dec 19 18:29:38 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a= =3Dcommit;h=3D45f8d306 Merge remote-tracking branch 'overlays-gentoo-org/master' into prefix Conflicts: pym/portage/data.py RELEASE-NOTES | 5 - bin/ebuild.sh | 18 ++++- bin/isolated-functions.sh | 6 +- bin/phase-functions.sh | 2 +- man/emerge.1 | 16 ++-- man/make.conf.5 | 2 +- pym/_emerge/AbstractPollTask.py | 65 ++++++++++++++= +- pym/_emerge/AsynchronousLock.py | 4 +- pym/_emerge/BinpkgExtractorAsync.py | 3 +- pym/_emerge/BlockerCache.py | 2 +- pym/_emerge/EbuildExecuter.py | 2 - pym/_emerge/FakeVartree.py | 2 - pym/_emerge/PipeReader.py | 60 +++++++++----- pym/_emerge/Scheduler.py | 14 ++++ pym/_emerge/SpawnProcess.py | 50 ++++++------ pym/_emerge/actions.py | 19 ++--- pym/_emerge/depgraph.py | 59 +++++--------- pym/_emerge/main.py | 7 +-- pym/_emerge/resolver/backtracking.py | 2 +- pym/portage/__init__.py | 3 +- pym/portage/data.py | 11 ++- pym/portage/locks.py | 2 +- .../package/ebuild/_config/special_env_vars.py | 2 +- pym/portage/repository/config.py | 82 ++++++++++----= ------ pym/portage/tests/ebuild/test_pty_eof.py | 23 +----- pym/portage/tests/emerge/test_simple.py | 4 +- pym/portage/tests/process/test_poll.py | 58 ++++++++++++-- pym/portage/util/_pty.py | 70 +++++++++-----= --- 28 files changed, 346 insertions(+), 247 deletions(-) diff --cc pym/_emerge/depgraph.py index 12b8439,93819c6..2e3ca4b --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@@ -7186,14 -7169,8 +7169,14 @@@ def _get_masking_status(pkg, pkgsetting mreasons.append(_MaskReason("CHOST", "CHOST: %s" % \ pkg.metadata["CHOST"])) =20 + if pkg.built and not pkg.installed: + if not "EPREFIX" in pkg.metadata: + mreasons.append(_MaskReason("EPREFIX", "missing EPREFIX")) + elif len(pkg.metadata["EPREFIX"].strip()) < len(pkgsettings["EPREFIX"= ]): + mreasons.append(_MaskReason("EPREFIX", "EPREFIX: '%s' too small" % p= kg.metadata["EPREFIX"])) + if pkg.invalid: - for msg_type, msgs in pkg.invalid.items(): + for msgs in pkg.invalid.values(): for msg in msgs: mreasons.append( _MaskReason("invalid", "invalid: %s" % (msg,))) diff --cc pym/portage/data.py index b2aac06,ec750a6..1351c7f --- a/pym/portage/data.py +++ b/pym/portage/data.py @@@ -90,16 -86,13 +90,21 @@@ def _get_global(k) secpass =3D 2 #Discover the uid and gid of the portage user/group try: - portage_gid =3D grp.getgrnam(_get_global('_portage_grpname')).gr_gid - portage_uid =3D pwd.getpwnam(_get_global('_portage_username')).pw_ui= d + _portage_grpname =3D _get_global('_portage_grpname') + if platform.python_implementation() =3D=3D 'PyPy': + # Somehow this prevents "TypeError: expected string" errors + # from grp.getgrnam() with PyPy 1.7 + _portage_grpname =3D str(_portage_grpname) + portage_gid =3D grp.getgrnam(_portage_grpname).gr_gid + except KeyError: + # PREFIX LOCAL: some sysadmins are insane, bug #344307 - if _get_global('_portage_grpname').isdigit(): - portage_gid =3D int(_get_global('_portage_grpname')) ++ if _portage_grpname.isdigit(): ++ portage_gid =3D int(_portage_grpname) + else: + portage_gid =3D None + # END PREFIX LOCAL + try: + portage_uid =3D pwd.getpwnam(_get_global('_portage_username')).pw_ui= d if secpass < 1 and portage_gid in os.getgroups(): secpass =3D 1 except KeyError: