commit: 1537ab55fffda2348753ce26d6d7c11de49d9032
Author: Paul Varner <fuzzyray <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 22 16:09:30 2015 +0000
Commit: Paul Varner <fuzzyray <AT> gentoo <DOT> org>
CommitDate: Thu Oct 22 16:09:30 2015 +0000
URL: https://gitweb.gentoo.org/proj/gentoolkit.git/commit/?id=1537ab55
gentoolkit: Fix to allow package names of all digits. Bug 562952
According to PMS, "A package name may contain any of the characters
[A-Za-z0-9+_-]. It must not begin with a hyphen or a plus sign, and must
not end in a hyphen followed by anything matching the version syntax".
This specification means that a package name can be composed of all
digits.
This fixes cpv.py and query.py to allow package names of all digits.
pym/gentoolkit/cpv.py | 2 +-
pym/gentoolkit/query.py | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/pym/gentoolkit/cpv.py b/pym/gentoolkit/cpv.py
index 473ae60..f1e3241 100644
--- a/pym/gentoolkit/cpv.py
+++ b/pym/gentoolkit/cpv.py
@@ -243,7 +243,7 @@ def isvalid_pkg_name(chunks):
mf = _pkg_re.match
if not all(not s or mf(s) for s in chunks):
return False
- if chunks[-1].isdigit() or not chunks[-1]:
+ if not chunks[-1] or (len(chunks) > 1 and chunks[-1].isdigit()):
# not allowed.
return False
return True
diff --git a/pym/gentoolkit/query.py b/pym/gentoolkit/query.py
index df6e2fd..9d1a313 100644
--- a/pym/gentoolkit/query.py
+++ b/pym/gentoolkit/query.py
@@ -19,7 +19,7 @@ __all__ = (
import fnmatch
import re
from functools import partial
-from string import ascii_letters
+from string import ascii_letters, digits
import portage
@@ -47,7 +47,7 @@ class Query(CPV):
"""
# We need at least one of these chars for a valid query
- needed_chars = ascii_letters + '*'
+ needed_chars = ascii_letters + digits + '*'
if not set(query).intersection(needed_chars):
raise errors.GentoolkitInvalidPackage(query)