From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: openembedded-core <openembedded-core@lists.openembedded.org>
Subject: [PATCH] insane: Start to clean up do_configure_qa code
Date: Fri, 15 Jan 2016 12:55:30 +0000 [thread overview]
Message-ID: <1452862530.28375.152.camel@linuxfoundation.org> (raw)
This cleans up the do_configure_qa code so that the exit status from
package_qa_handle_error is handled correctly.
It also converts package_qa_check_license to use our standard QA check
configuration interface through package_qa_handle_error rather than
a mix of return values, bb.fatal and bb.build.FuncFailed.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index 16f5a47..cb65813 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -38,6 +38,7 @@ ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \
perms dep-cmp pkgvarcheck perm-config perm-line perm-link \
split-strip packages-list pkgv-undefined var-undefined \
version-going-backwards expanded-d invalid-chars \
+ license-checksum \
"
FAKEROOT_QA = "host-user-contaminated"
FAKEROOT_QA[doc] = "QA tests which need to run under fakeroot. If any \
@@ -637,6 +638,7 @@ def package_qa_check_symlink_to_sysroot(path, name, d, elf, messages):
if target.startswith(tmpdir):
trimmed = path.replace(os.path.join (d.getVar("PKGDEST", True), name), "")
messages["symlink-to-sysroot"] = "Symlink %s in %s points to TMPDIR" % (trimmed, name)
+
def package_qa_check_license(workdir, d):
"""
Check for changes in the license files
@@ -649,11 +651,11 @@ def package_qa_check_license(workdir, d):
pn = d.getVar('PN', True)
if lic == "CLOSED":
- return True
+ return
if not lic_files:
- bb.error(pn + ": Recipe file does not have license file information (LIC_FILES_CHKSUM)")
- return False
+ package_qa_handle_error("license-checksum", pn + ": Recipe file does not have license file information (LIC_FILES_CHKSUM)", d)
+ return
srcdir = d.getVar('S', True)
@@ -661,10 +663,12 @@ def package_qa_check_license(workdir, d):
try:
(type, host, path, user, pswd, parm) = bb.fetch.decodeurl(url)
except bb.fetch.MalformedUrl:
- raise bb.build.FuncFailed( pn + ": LIC_FILES_CHKSUM contains an invalid URL: " + url)
+ package_qa_handle_error("license-checksum", pn + ": LIC_FILES_CHKSUM contains an invalid URL: " + url, d)
+ continue
srclicfile = os.path.join(srcdir, path)
if not os.path.isfile(srclicfile):
- raise bb.build.FuncFailed( pn + ": LIC_FILES_CHKSUM points to an invalid file: " + srclicfile)
+ package_qa_handle_error("license-checksum", pn + ": LIC_FILES_CHKSUM points to an invalid file: " + srclicfile, d)
+ continue
recipemd5 = parm.get('md5', '')
beginline, endline = 0, 0
@@ -699,8 +703,8 @@ def package_qa_check_license(workdir, d):
bb.note (pn + ": md5 checksum matched for ", url)
else:
if recipemd5:
- bb.error(pn + ": md5 data is not matching for ", url)
- bb.error(pn + ": The new md5 checksum is ", md5chksum)
+ msg = pn + ": The LIC_FILES_CHKSUM does not match for " + url
+ msg = msg + "\n" + pn + ": The new md5 checksum is " + md5chksum
if beginline:
if endline:
srcfiledesc = "%s (lines %d through to %d)" % (srclicfile, beginline, endline)
@@ -710,13 +714,12 @@ def package_qa_check_license(workdir, d):
srcfiledesc = "%s (ending on line %d)" % (srclicfile, endline)
else:
srcfiledesc = srclicfile
- bb.error(pn + ": Check if the license information has changed in %s to verify that the LICENSE value \"%s\" remains valid" % (srcfiledesc, lic))
- else:
- bb.error(pn + ": md5 checksum is not specified for ", url)
- bb.error(pn + ": The md5 checksum is ", md5chksum)
- sane = False
+ msg = msg + "\n" + pn + ": Check if the license information has changed in %s to verify that the LICENSE value \"%s\" remains valid" % (srcfiledesc, lic)
- return sane
+ else:
+ msg = pn + ": LIC_FILES_CHKSUM is not specified for " + url
+ msg = msg + "\n" + pn + ": The md5 checksum is " + md5chksum
+ package_qa_handle_error("license-checksum", msg, d)
def package_qa_check_staged(path,d):
"""
@@ -1166,8 +1169,7 @@ Missing inherit gettext?""" % (gt, config))
# Check license variables
###########################################################################
- if not package_qa_check_license(workdir, d):
- bb.fatal("Licensing Error: LIC_FILES_CHKSUM does not match, please fix")
+ package_qa_check_license(workdir, d)
###########################################################################
# Check unrecognised configure options (with a white list)
@@ -1199,6 +1201,10 @@ Missing inherit gettext?""" % (gt, config))
pn = d.getVar('PN', True)
error_msg = "%s: invalid PACKAGECONFIG: %s" % (pn, pconfig)
package_qa_handle_error("invalid-packageconfig", error_msg, d)
+
+ qa_sane = d.getVar("QA_SANE", True)
+ if not qa_sane:
+ bb.fatal("Fatal QA errors found, failing task.")
}
python do_qa_unpack() {
reply other threads:[~2016-01-15 12:55 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1452862530.28375.152.camel@linuxfoundation.org \
--to=richard.purdie@linuxfoundation.org \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.