diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-09-19 03:28:20 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-09-19 03:28:20 +0000 |
commit | 7d2ca5743f0bb550e198d3a097937e2e4c3f4883 (patch) | |
tree | 54c0e25167335d585533d7d68005ef7ddb73f557 /bin | |
parent | 1a2e26ac7cfeccca2c26e9d1dd1ee32f94c3021c (diff) | |
download | portage-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-x | bin/repoman | 9 |
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))) |