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)