From patchwork Tue Nov 13 14:08:49 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: insane.bbclass: add qa_package_check_name Date: Tue, 13 Nov 2012 14:08:49 -0000 From: Constantin Musca X-Patchwork-Id: 38929 Message-Id: <1352815729-7409-1-git-send-email-constantinx.musca@intel.com> To: openembedded-core@lists.openembedded.org Cc: Constantin Musca Check if package names match the [a-z0-9.+-]+ regular expression [YOCTO #3139] Signed-off-by: Constantin Musca --- meta/classes/insane.bbclass | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index d51d1a1..f22e620 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -235,6 +235,15 @@ def package_qa_check_staticdev(path, name, d, elf, messages): messages.append("non -staticdev package contains static .a library: %s path '%s'" % \ (name, package_qa_clean_path(path,d))) +def package_qa_check_name(name, d): + """ + Check if the package name matches the [a-z0-9.+-]+ regular expression + """ + import re + pattern = re.compile("^[a-z0-9.+-]+$") + if not pattern.match(name): + package_qa_handle_error("pkgname", "%s doesn't match the [a-z0-9.+-]+ regex\n" % name, d) + def package_qa_check_libdir(d): """ Check for wrong library installation paths. For instance, catch @@ -780,6 +789,9 @@ python do_package_qa () { errorchecks.append(g[testmatrix[e]]) bb.note("Checking Package: %s" % package) + # Check package name + package_qa_check_name(package, d) + path = "%s/%s" % (pkgdest, package) if not package_qa_walk(path, warnchecks, errorchecks, skip, package, d): walk_sane = False