Patchwork [RFC] package.bbclass: enable the use of ERROR_QA

login
register
mail settings
Submitter Saul Wold
Date July 2, 2012, 10:27 p.m.
Message ID <1341268076-1331-1-git-send-email-sgw@linux.intel.com>
Download mbox | patch
Permalink /patch/31005/
State New
Headers show

Comments

Saul Wold - July 2, 2012, 10:27 p.m.
This patch allows the use of ERROR_QA to give policy control to distros
for the Installed and not shipped error in packages. installed_vs_shipped
can be set in the distro config file for ERROR_QA.

Signed-off-by: Saul Wold <sgw@linux.intel.com>
---
 meta/classes/package.bbclass |   17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)
Phil Blundell - July 2, 2012, 10:34 p.m.
On Mon, 2012-07-02 at 15:27 -0700, Saul Wold wrote:
> +		if "installed_vs_shipped" in = (d.getVar('INSANE_SKIP_' + pn, True) or "").split()
> +			bb.note("Package %s skipping Packging installed vs shipped QA test" % pn) 
> +			continue

Does that actually compile?  It doesn't look entirely like valid python
to me.

p.
Saul Wold - July 2, 2012, 10:57 p.m.
On 07/02/2012 03:34 PM, Phil Blundell wrote:
> On Mon, 2012-07-02 at 15:27 -0700, Saul Wold wrote:
>> +		if "installed_vs_shipped" in = (d.getVar('INSANE_SKIP_' + pn, True) or "").split()
>> +			bb.note("Package %s skipping Packging installed vs shipped QA test" % pn)
>> +			continue
>
> Does that actually compile?  It doesn't look entirely like valid python
> to me.
>
Apparently not, I am really not sure what I tested this, but I did test 
something that gave me the messages I wanted.  I am going back to my 
code and well, I feel stupid right now.

Sau!

> p.
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
>

Patch

diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 10c2f0a..231b01b 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -988,10 +988,19 @@  python populate_packages () {
 				unshipped.append(path)
 
 	if unshipped != []:
-		bb.warn("For recipe %s, the following files/directories were installed but not shipped in any package:" % pn)
-		for f in unshipped:
-			bb.warn("  " + f)
-
+		msg = pn + ": Files/directories were installed but not shipped" 
+		if "installed_vs_shipped" in = (d.getVar('INSANE_SKIP_' + pn, True) or "").split()
+			bb.note("Package %s skipping Packging installed vs shipped QA test" % pn) 
+			continue
+		if "installed_vs_shipped" in (d.getVar("ERROR_QA", True) or "").split():
+			package_qa_handle_error("installed_vs_shipped", msg, d)
+			for f in unshipped:
+				package_qa_handle_error("installed_vs_shipped", "  " + f, d)
+		else:
+			bb.warn("For recipe %s, the following files/directories were installed but
+			for f in unshipped:
+				bb.warn("  " + f)
+ 
 	bb.build.exec_func("package_name_hook", d)
 
 	for pkg in package_list: