From c148971d437fb5a5fc62aaa82138d70e5c78e366 Mon Sep 17 00:00:00 2001 From: Fabian Groffen Date: Fri, 12 Oct 2007 09:32:39 +0000 Subject: [PATCH] With the help of zmedico Prefix binary support should be working fully optimal and correct now svn path=/main/branches/prefix/; revision=8079 --- pym/emerge/__init__.py | 7 ++++++- pym/portage/dbapi/bintree.py | 6 +++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/pym/emerge/__init__.py b/pym/emerge/__init__.py index afcce9d35..50cfaaec5 100644 --- a/pym/emerge/__init__.py +++ b/pym/emerge/__init__.py @@ -901,6 +901,11 @@ def visible(pkgsettings, cpv, metadata, built=False, installed=False): if built and not installed and \ metadata["CHOST"] != pkgsettings["CHOST"]: return False + if built: + if not metadata["EPREFIX"]: + return False + if len(metadata["EPREFIX"].strip()) < len(pkgsettings["EPREFIX"]): + return False if not portage.eapi_is_supported(metadata["EAPI"]): return False if pkgsettings.getMissingKeywords(cpv, metadata): @@ -5649,7 +5654,7 @@ def action_info(settings, trees, myopts, myfiles): if mypkgs: # Get our global settings (we only print stuff if it varies from # the current config) - mydesiredvars = [ 'CHOST', 'CFLAGS', 'CXXFLAGS' ] + mydesiredvars = [ 'CHOST', 'CFLAGS', 'CXXFLAGS', 'EPREFIX' ] auxkeys = mydesiredvars + [ "USE", "IUSE"] global_vals = {} pkgsettings = portage.config(clone=settings) diff --git a/pym/portage/dbapi/bintree.py b/pym/portage/dbapi/bintree.py index e29beeb26..23b0832ac 100644 --- a/pym/portage/dbapi/bintree.py +++ b/pym/portage/dbapi/bintree.py @@ -147,11 +147,11 @@ class binarytree(object): self._pkgindex_aux_keys = \ ["CHOST", "DEPEND", "DESCRIPTION", "EAPI", "IUSE", "KEYWORDS", "LICENSE", "PDEPEND", - "PROVIDE", "RDEPEND", "SLOT", "USE"] + "PROVIDE", "RDEPEND", "SLOT", "USE", "EPREFIX"] self._pkgindex_aux_keys = list(self._pkgindex_aux_keys) self._pkgindex_header_keys = set(["ACCEPT_KEYWORDS", "CBUILD", "CHOST", "CONFIG_PROTECT", "CONFIG_PROTECT_MASK", "FEATURES", - "GENTOO_MIRRORS", "INSTALL_MASK", "SYNC", "USE"]) + "GENTOO_MIRRORS", "INSTALL_MASK", "SYNC", "USE", "EPREFIX"]) self._pkgindex_default_pkg_data = { "EAPI" : "0", "IUSE" : "", @@ -159,7 +159,7 @@ class binarytree(object): "SLOT" : "0", "USE" : "" } - self._pkgindex_inherited_keys = ["CHOST"] + self._pkgindex_inherited_keys = ["CHOST", "EPREFIX"] def move_ent(self, mylist): if not self.populated: -- 2.26.2