summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-05-01 09:30:36 -0700
committerZac Medico <zmedico@gentoo.org>2011-05-04 12:49:26 -0700
commitc81c78747b986a467fcc24eecb87cd2fef02da2b (patch)
tree17ad1faeab04955ad7889ddd91d8b4868495c0fd
parent0256a96fc5be3f3ed303d2993bd7fd9b75ec8ecf (diff)
downloadportage-c81c78747b986a467fcc24eecb87cd2fef02da2b.tar.gz
portage-c81c78747b986a467fcc24eecb87cd2fef02da2b.tar.bz2
portage-c81c78747b986a467fcc24eecb87cd2fef02da2b.zip
repoman: remove most old-style virtual checks
PROVIDE virtuals have been banned from Gentoo's tree (see bug #365505), so these checks aren't needed anymore. The PROVIDE.syntax check is kept in the Package class since PROVIDE is still supported for backward compatibility, and therefore invalid syntax can still have negative effects. This check can be removed if/when backward compatibilty is completely dropped.
-rwxr-xr-xbin/repoman45
-rw-r--r--man/repoman.19
-rw-r--r--pym/_emerge/Package.py3
3 files changed, 2 insertions, 55 deletions
diff --git a/bin/repoman b/bin/repoman
index 017a27bd2..96cfdcd63 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -367,9 +367,6 @@ qahelp={
"metadata.warning":"Warnings in metadata.xml files",
"portage.internal":"The ebuild uses an internal Portage function",
"virtual.oldstyle":"The ebuild PROVIDEs an old-style virtual (see GLEP 37)",
- "virtual.versioned":"PROVIDE contains virtuals with versions",
- "virtual.exists":"PROVIDE contains existing package names",
- "virtual.unavailable":"PROVIDE contains a virtual which contains no profile default",
"usage.obsolete":"The ebuild makes use of an obsolete construct",
"upstream.workaround":"The ebuild works around an upstream bug, an upstream bug should be filed and tracked in bugs.gentoo.org"
}
@@ -414,9 +411,6 @@ qawarnings = set((
"wxwidgets.eclassnotused",
"metadata.warning",
"portage.internal",
-"virtual.versioned",
-"virtual.exists",
-"virtual.unavailable",
"usage.obsolete",
"upstream.workaround",
"LIVEVCS.stable",
@@ -1522,32 +1516,6 @@ for x in scanlist:
"%s: '%s' found in thirdpartymirrors" % \
(relative_path, mirror))
- try:
- provide = portage.dep.use_reduce(pkg.metadata['PROVIDE'],
- token_class=portage.dep.Atom, matchall=1, flat=True)
- except portage.exception.InvalidDependString:
- stats["PROVIDE.syntax"] = stats["PROVIDE.syntax"] + 1
- fails["PROVIDE.syntax"].append("%s: %s" % \
- (relative_path, pkg.metadata['PROVIDE']))
- provide = []
- provide_cps = []
-
- # The Package class automatically evaluates USE conditionals.
- for myprovide in provide:
- if not isinstance(myprovide, portage.dep.Atom):
- stats["PROVIDE.syntax"] = stats["PROVIDE.syntax"] + 1
- fails["PROVIDE.syntax"].append("%s: %s" % \
- (relative_path, myprovide))
- continue
- prov_cp = myprovide.cp
- provide_cps.append(prov_cp)
- if prov_cp != myprovide:
- stats["virtual.versioned"]+=1
- fails["virtual.versioned"].append(x+"/"+y+".ebuild: "+myprovide)
- if portdb.cp_list(prov_cp):
- stats["virtual.exists"]+=1
- fails["virtual.exists"].append(x+"/"+y+".ebuild: "+prov_cp)
-
if myaux.get("PROVIDE"):
stats["virtual.oldstyle"]+=1
fails["virtual.oldstyle"].append(relative_path)
@@ -1902,19 +1870,6 @@ for x in scanlist:
# just in case, prevent config.reset() from nuking these.
dep_settings.backup_changes("ACCEPT_KEYWORDS")
- if prof.sub_path:
- # old-style virtuals currently aren't
- # resolvable with empty profile, since
- # mappings from 'virtuals' files are
- # unavailable (it would be expensive to
- # search for PROVIDE in all ebuilds)
- for prov_cp in provide_cps:
- if prov_cp not in dep_settings.getvirtuals():
- stats["virtual.unavailable"] += 1
- fails["virtual.unavailable"].append(
- "%s: %s(%s) %s" % (relative_path, keyword,
- prof.sub_path, prov_cp))
-
if not baddepsyntax:
ismasked = not ebuild_archs or \
pkg.cpv not in portdb.xmatch("list-visible", pkg.cp)
diff --git a/man/repoman.1 b/man/repoman.1
index 7c3402448..4bb50337a 100644
--- a/man/repoman.1
+++ b/man/repoman.1
@@ -350,18 +350,9 @@ Assigning a readonly variable
.B variable.usedwithhelpers
Ebuild uses D, ROOT, ED, EROOT or EPREFIX with helpers
.TP
-.B virtual.exists
-PROVIDE contains existing package names
-.TP
.B virtual.oldstyle
The ebuild PROVIDEs an old-style virtual (see GLEP 37)
.TP
-.B virtual.unavailable
-PROVIDE contains a virtual which contains no profile default
-.TP
-.B virtual.versioned
-PROVIDE contains virtuals with versions
-.TP
.B wxwidgets.eclassnotused
Ebuild DEPENDs on x11-libs/wxGTK without inheriting wxwidgets.eclass. Refer to
bug #305469 for more information.
diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py
index 13119d229..1dc86ce48 100644
--- a/pym/_emerge/Package.py
+++ b/pym/_emerge/Package.py
@@ -107,7 +107,8 @@ class Package(Task):
use_reduce(v, eapi=dep_eapi, matchall=True,
is_valid_flag=dep_valid_flag, token_class=Atom)
except InvalidDependString as e:
- self._metadata_exception(k, e)
+ self._invalid_metadata("PROVIDE.syntax",
+ _unicode_decode("%s: %s") % (k, e))
for k in self._use_conditional_misc_keys:
v = self.metadata.get(k)