summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-09-19 03:28:20 +0000
committerZac Medico <zmedico@gentoo.org>2008-09-19 03:28:20 +0000
commit7d2ca5743f0bb550e198d3a097937e2e4c3f4883 (patch)
tree54c0e25167335d585533d7d68005ef7ddb73f557 /bin
parent1a2e26ac7cfeccca2c26e9d1dd1ee32f94c3021c (diff)
downloadportage-7d2ca5743f0bb550e198d3a097937e2e4c3f4883.tar.gz
portage-7d2ca5743f0bb550e198d3a097937e2e4c3f4883.tar.bz2
portage-7d2ca5743f0bb550e198d3a097937e2e4c3f4883.zip
Implement the new EAPI 2 blocker behavior, including !!atom sytax which
forbids temporary simultaneous installation of conflicting packages. svn path=/main/trunk/; revision=11517
Diffstat (limited to 'bin')
-rwxr-xr-xbin/repoman9
1 files changed, 7 insertions, 2 deletions
diff --git a/bin/repoman b/bin/repoman
index 932cf4c99..7e997d3d1 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -1256,8 +1256,6 @@ for x in scanlist:
badsyntax.append("'%s' not a valid atom" % token)
else:
is_blocker = atom.blocker
- if atom.blocker:
- atom = portage.dep.Atom(atom[1:])
if mytype == "DEPEND" and \
not is_blocker and \
@@ -1284,6 +1282,13 @@ for x in scanlist:
(relative_path + ": %s use dependency" + \
" not supported with EAPI='%s':" + \
" '%s'") % (mytype, eapi, atom))
+ if atom.blocker and atom.blocker.overlap.forbid \
+ and eapi in ("0", "1"):
+ stats['EAPI.incompatible'] += 1
+ fails['EAPI.incompatible'].append(
+ (relative_path + ": %s new blocker syntax" + \
+ " not supported with EAPI='%s':" + \
+ " '%s'") % (mytype, eapi, atom))
type_list.extend([mytype] * (len(badsyntax) - len(type_list)))