<div dir="ltr">Can we add an option to skip this with INSANE_SKIP?<div><br></div><div>It looks like QARECIPETEST doesn't use INSANE_SKIP or I don't see how.</div><div><br></div><div>Removing src-uri-bad from ERROR_QA/WARN_QA for some recipes works as well, is it worth adding INSANE_SKIP for consistency with other checks or not?</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, May 18, 2019 at 1:37 AM Ross Burton <<a href="mailto:ross.burton@intel.com" target="_blank">ross.burton@intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">The SRC_URI almost definitely shouldn't be using ${PN}, and GitHub */archive/*<br>
tarballs are dynamically generated so the checksums will change over time.<br>
<br>
Detect both of these, and emit a QA warning if found.<br>
<br>
Signed-off-by: Ross Burton <<a href="mailto:ross.burton@intel.com" target="_blank">ross.burton@intel.com</a>><br>
---<br>
meta/classes/insane.bbclass | 13 ++++++++++++-<br>
1 file changed, 12 insertions(+), 1 deletion(-)<br>
<br>
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass<br>
index 9ca5aefe544..59bb8be5470 100644<br>
--- a/meta/classes/insane.bbclass<br>
+++ b/meta/classes/insane.bbclass<br>
@@ -25,7 +25,7 @@ QA_SANE = "True"<br>
WARN_QA ?= "ldflags useless-rpaths rpaths staticdev libdir xorg-driver-abi \<br>
textrel already-stripped incompatible-license files-invalid \<br>
installed-vs-shipped compile-host-path install-host-path \<br>
- pn-overrides infodir build-deps \<br>
+ pn-overrides infodir build-deps src-uri-bad \<br>
unknown-configure-option symlink-to-sysroot multilib \<br>
invalid-packageconfig host-user-contaminated uppercase-pn patch-fuzz \<br>
"<br>
@@ -898,6 +898,17 @@ def package_qa_check_host_user(path, name, d, elf, messages):<br>
return False<br>
return True<br>
<br>
+QARECIPETEST[src-uri-bad] = "package_qa_check_src_uri"<br>
+def package_qa_check_src_uri(pn, d, messages):<br>
+ import re<br>
+<br>
+ if "${PN}" in d.getVar("SRC_URI", False):<br>
+ package_qa_handle_error("src-uri-bad", "%s: SRC_URI uses PN not BPN" % pn, d)<br>
+<br>
+ pn = d.getVar("SRC_URI")<br>
+ if re.search(r"github\.com/.+/.+/archive/.+", pn):<br>
+ package_qa_handle_error("src-uri-bad", "%s: SRC_URI uses unstable GitHub archives" % pn, d)<br>
+<br>
<br>
# The PACKAGE FUNC to scan each package<br>
python do_package_qa () {<br>
-- <br>
2.20.1 (Apple Git-117)<br>
<br>
-- <br>
_______________________________________________<br>
Openembedded-core mailing list<br>
<a href="mailto:Openembedded-core@lists.openembedded.org" target="_blank">Openembedded-core@lists.openembedded.org</a><br>
<a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" rel="noreferrer" target="_blank">http://lists.openembedded.org/mailman/listinfo/openembedded-core</a><br>
</blockquote></div>