commit:     21b4db4b9db1ed79d0f62e9761c29acde490fbc1
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Mon Feb  9 00:44:51 2015 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Mon Feb  9 00:44:51 2015 +0000
URL:        
http://sources.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=21b4db4b

repoman: fix overlay mask logic for bug #539402

In repoman, portdb.xmatch("match-visible", pkg.cp) was used to check the
list of visible ebuilds. However, instead of pkg.cp, when checking an
overlay it needs use an atom which restricts the match to the
appropriate repo. Otherwise, it risks matching ebuilds from the master
repo(s).

X-Gentoo-Bug: 539402
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=539402
Acked-by: Brian Dolbec <dolsen <AT> gentoo.org>

---
 bin/repoman | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/bin/repoman b/bin/repoman
index 5380146..0bf576f 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -2319,7 +2319,8 @@ for x in effective_scanlist:
 
                        if not baddepsyntax:
                                ismasked = not ebuild_archs or \
-                                       pkg.cpv not in 
portdb.xmatch("match-visible", pkg.cp)
+                                       pkg.cpv not in 
portdb.xmatch("match-visible",
+                                       Atom("%s::%s" % (pkg.cp, 
repo_config.name)))
                                if ismasked:
                                        if not have_pmasked:
                                                have_pmasked = 
bool(dep_settings._getMaskAtom(

Reply via email to