All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] selftest/archiver: add tests for recipe type filtering
@ 2017-06-23 14:59 André Draszik
  2017-06-23 14:59 ` [PATCH 2/3] selftest/archiver: only execute deploy_archives task André Draszik
                   ` (8 more replies)
  0 siblings, 9 replies; 18+ messages in thread
From: André Draszik @ 2017-06-23 14:59 UTC (permalink / raw)
  To: openembedded-core

From: André Draszik <adraszik@tycoint.com>

The archiver used to be able to filter based on COPYLEFT_RECIPE_TYPES.

Unfortunately, this got broken with the fix for
  https://bugzilla.yoctoproject.org/show_bug.cgi?id=6929
in commit ae9102bda398 ("copyleft_filter.bbclass: Allow to filter on name")

Add two tests to prevent that from happening again.

Signed-off-by: André Draszik <adraszik@tycoint.com>
---
 meta/lib/oeqa/selftest/cases/archiver.py | 78 ++++++++++++++++++++++++++++++++
 1 file changed, 78 insertions(+)

diff --git a/meta/lib/oeqa/selftest/cases/archiver.py b/meta/lib/oeqa/selftest/cases/archiver.py
index 70c7282f22..9f686debe6 100644
--- a/meta/lib/oeqa/selftest/cases/archiver.py
+++ b/meta/lib/oeqa/selftest/cases/archiver.py
@@ -39,3 +39,81 @@ class Archiver(OESelftestTestCase):
         # Check that exclude_recipe was excluded
         excluded_present = len(glob.glob(src_path + '/%s-*' % exclude_recipe))
         self.assertFalse(excluded_present, 'Recipe %s was not excluded.' % exclude_recipe)
+
+
+    @testcase(2012)
+    def test_archiver_filters_by_type(self):
+        """
+        Summary:     The archiver is documented to filter on the recipe type.
+        Expected:    1. included recipe type (target) should be included
+                     2. other types should be excluded
+        Product:     oe-core
+        Author:      André Draszik <adraszik@tycoint.com>
+        """
+
+        target_recipe = 'initscripts'
+        native_recipe = 'zlib-native'
+
+        features = 'INHERIT += "archiver"\n'
+        features += 'ARCHIVER_MODE[src] = "original"\n'
+        features += 'COPYLEFT_RECIPE_TYPES = "target"\n'
+        self.write_config(features)
+
+        bitbake('-c clean %s %s' % (target_recipe, native_recipe))
+        bitbake("%s -c deploy_archives %s" % (target_recipe, native_recipe))
+
+        bb_vars = get_bb_vars(['DEPLOY_DIR_SRC', 'TARGET_SYS', 'BUILD_SYS'])
+        src_path_target = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['TARGET_SYS'])
+        src_path_native = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['BUILD_SYS'])
+
+        # Check that target_recipe was included
+        included_present = len(glob.glob(src_path_target + '/%s-*' % target_recipe))
+        self.assertTrue(included_present, 'Recipe %s was not included.' % target_recipe)
+
+        # Check that native_recipe was excluded
+        excluded_present = len(glob.glob(src_path_native + '/%s-*' % native_recipe))
+        self.assertFalse(excluded_present, 'Recipe %s was not excluded.' % native_recipe)
+
+    @testcase(2013)
+    def test_archiver_filters_by_type_and_name(self):
+        """
+        Summary:     Test that the archiver archives by recipe type, taking the
+                     recipe name into account.
+        Expected:    1. included recipe type (target) should be included
+                     2. other types should be excluded
+                     3. recipe by name should be included / excluded,
+                        overriding previous decision by type
+        Product:     oe-core
+        Author:      André Draszik <adraszik@tycoint.com>
+        """
+
+        target_recipes = [ 'initscripts', 'zlib' ]
+        native_recipes = [ 'update-rc.d-native', 'zlib-native' ]
+
+        features = 'INHERIT += "archiver"\n'
+        features += 'ARCHIVER_MODE[src] = "original"\n'
+        features += 'COPYLEFT_RECIPE_TYPES = "target"\n'
+        features += 'COPYLEFT_PN_INCLUDE = "%s"\n' % native_recipes[1]
+        features += 'COPYLEFT_PN_EXCLUDE = "%s"\n' % target_recipes[1]
+        self.write_config(features)
+
+        bitbake('-c clean %s %s' % (' '.join(target_recipes), ' '.join(native_recipes)))
+        bitbake('-c deploy_archives %s %s' % (' '.join(target_recipes), ' '.join(native_recipes)))
+
+        bb_vars = get_bb_vars(['DEPLOY_DIR_SRC', 'TARGET_SYS', 'BUILD_SYS'])
+        src_path_target = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['TARGET_SYS'])
+        src_path_native = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['BUILD_SYS'])
+
+        # Check that target_recipe[0] and native_recipes[1] were included
+        included_present = len(glob.glob(src_path_target + '/%s-*' % target_recipes[0]))
+        self.assertTrue(included_present, 'Recipe %s was not included.' % target_recipes[0])
+
+        included_present = len(glob.glob(src_path_native + '/%s-*' % native_recipes[1]))
+        self.assertTrue(included_present, 'Recipe %s was not included.' % native_recipes[1])
+
+        # Check that native_recipes[0] and target_recipes[1] were excluded
+        excluded_present = len(glob.glob(src_path_native + '/%s-*' % native_recipes[0]))
+        self.assertFalse(excluded_present, 'Recipe %s was not excluded.' % native_recipes[0])
+
+        excluded_present = len(glob.glob(src_path_target + '/%s-*' % target_recipes[1]))
+        self.assertFalse(excluded_present, 'Recipe %s was not excluded.' % target_recipes[1])
-- 
2.11.0



^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 2/3] selftest/archiver: only execute deploy_archives task
  2017-06-23 14:59 [PATCH 1/3] selftest/archiver: add tests for recipe type filtering André Draszik
@ 2017-06-23 14:59 ` André Draszik
  2017-06-23 14:59 ` [PATCH 3/3] copyleft_filter.bbclass: restore possiblity to filter on type André Draszik
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 18+ messages in thread
From: André Draszik @ 2017-06-23 14:59 UTC (permalink / raw)
  To: openembedded-core

From: André Draszik <adraszik@tycoint.com>

There should be no reason to execute a full build, as we're
just interested in the deployment of the archives.

The newly added tests already do the same.

Signed-off-by: André Draszik <adraszik@tycoint.com>
---
 meta/lib/oeqa/selftest/cases/archiver.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/lib/oeqa/selftest/cases/archiver.py b/meta/lib/oeqa/selftest/cases/archiver.py
index 9f686debe6..ca9dad0643 100644
--- a/meta/lib/oeqa/selftest/cases/archiver.py
+++ b/meta/lib/oeqa/selftest/cases/archiver.py
@@ -27,7 +27,7 @@ class Archiver(OESelftestTestCase):
         self.write_config(features)
 
         bitbake('-c clean %s %s' % (include_recipe, exclude_recipe))
-        bitbake("%s %s" % (include_recipe, exclude_recipe))
+        bitbake("-c deploy_archives %s %s" % (include_recipe, exclude_recipe))
 
         bb_vars = get_bb_vars(['DEPLOY_DIR_SRC', 'TARGET_SYS'])
         src_path = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['TARGET_SYS'])
-- 
2.11.0



^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 3/3] copyleft_filter.bbclass: restore possiblity to filter on type
  2017-06-23 14:59 [PATCH 1/3] selftest/archiver: add tests for recipe type filtering André Draszik
  2017-06-23 14:59 ` [PATCH 2/3] selftest/archiver: only execute deploy_archives task André Draszik
@ 2017-06-23 14:59 ` André Draszik
  2017-06-23 15:15 ` [PATCH 1/3] selftest/archiver: add tests for recipe type filtering Leonardo Sandoval
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 18+ messages in thread
From: André Draszik @ 2017-06-23 14:59 UTC (permalink / raw)
  To: openembedded-core

From: André Draszik <adraszik@tycoint.com>

Since the changes introduced in ae9102bda398
("copyleft_filter.bbclass: Allow to filter on name"), it is
impossible to filter on the recipe type, all recipes are
treated as though they should be included if the license
matches, irrespective of the COPYLEFT_RECIPE_TYPES
variable.

Fix this.

Signed-off-by: André Draszik <adraszik@tycoint.com>
---
 meta/classes/copyleft_filter.bbclass | 32 ++++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/meta/classes/copyleft_filter.bbclass b/meta/classes/copyleft_filter.bbclass
index 5867bb9f7e..c36bce431a 100644
--- a/meta/classes/copyleft_filter.bbclass
+++ b/meta/classes/copyleft_filter.bbclass
@@ -47,27 +47,27 @@ def copyleft_should_include(d):
     import oe.license
     from fnmatch import fnmatchcase as fnmatch
 
-    included, motive = False, 'recipe did not match anything'
-
     recipe_type = d.getVar('COPYLEFT_RECIPE_TYPE')
     if recipe_type not in oe.data.typed_value('COPYLEFT_RECIPE_TYPES', d):
-        include, motive = False, 'recipe type "%s" is excluded' % recipe_type
+        included, motive = False, 'recipe type "%s" is excluded' % recipe_type
+    else:
+        included, motive = False, 'recipe did not match anything'
 
-    include = oe.data.typed_value('COPYLEFT_LICENSE_INCLUDE', d)
-    exclude = oe.data.typed_value('COPYLEFT_LICENSE_EXCLUDE', d)
+        include = oe.data.typed_value('COPYLEFT_LICENSE_INCLUDE', d)
+        exclude = oe.data.typed_value('COPYLEFT_LICENSE_EXCLUDE', d)
 
-    try:
-        is_included, reason = oe.license.is_included(d.getVar('LICENSE'), include, exclude)
-    except oe.license.LicenseError as exc:
-        bb.fatal('%s: %s' % (d.getVar('PF'), exc))
-    else:
-        if is_included:
-            if reason:
-                included, motive = True, 'recipe has included licenses: %s' % ', '.join(reason)
-            else:
-                included, motive = False, 'recipe does not include a copyleft license'
+        try:
+            is_included, reason = oe.license.is_included(d.getVar('LICENSE'), include, exclude)
+        except oe.license.LicenseError as exc:
+            bb.fatal('%s: %s' % (d.getVar('PF'), exc))
         else:
-            included, motive = False, 'recipe has excluded licenses: %s' % ', '.join(reason)
+            if is_included:
+                if reason:
+                    included, motive = True, 'recipe has included licenses: %s' % ', '.join(reason)
+                else:
+                    included, motive = False, 'recipe does not include a copyleft license'
+            else:
+                included, motive = False, 'recipe has excluded licenses: %s' % ', '.join(reason)
 
     if any(fnmatch(d.getVar('PN'), name) \
             for name in oe.data.typed_value('COPYLEFT_PN_INCLUDE', d)):
-- 
2.11.0



^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: [PATCH 1/3] selftest/archiver: add tests for recipe type filtering
  2017-06-23 15:15 ` [PATCH 1/3] selftest/archiver: add tests for recipe type filtering Leonardo Sandoval
@ 2017-06-23 15:07   ` André Draszik
  2017-06-23 15:43     ` Leonardo Sandoval
  0 siblings, 1 reply; 18+ messages in thread
From: André Draszik @ 2017-06-23 15:07 UTC (permalink / raw)
  To: openembedded-core

On Fri, 2017-06-23 at 10:15 -0500, Leonardo Sandoval wrote:
> On Fri, 2017-06-23 at 15:59 +0100, André Draszik wrote:
> > From: André Draszik <adraszik@tycoint.com>
> > 
> > The archiver used to be able to filter based on COPYLEFT_RECIPE_TYPES.
> > 
> > Unfortunately, this got broken with the fix for
> >   https://bugzilla.yoctoproject.org/show_bug.cgi?id=6929
> > in commit ae9102bda398 ("copyleft_filter.bbclass: Allow to filter on
> > name")
> > 
> > Add two tests to prevent that from happening again.
> > 
> > Signed-off-by: André Draszik <adraszik@tycoint.com>
> > ---
> >  meta/lib/oeqa/selftest/cases/archiver.py | 78
> > ++++++++++++++++++++++++++++++++
> >  1 file changed, 78 insertions(+)
> > 
> > diff --git a/meta/lib/oeqa/selftest/cases/archiver.py
> > b/meta/lib/oeqa/selftest/cases/archiver.py
> > index 70c7282f22..9f686debe6 100644
> > --- a/meta/lib/oeqa/selftest/cases/archiver.py
> > +++ b/meta/lib/oeqa/selftest/cases/archiver.py
> > @@ -39,3 +39,81 @@ class Archiver(OESelftestTestCase):
> >          # Check that exclude_recipe was excluded
> >          excluded_present = len(glob.glob(src_path + '/%s-*' %
> > exclude_recipe))
> >          self.assertFalse(excluded_present, 'Recipe %s was not
> > excluded.' % exclude_recipe)
> > +
> > +
> > +    @testcase(2012)
> 
> I believe the testcase ID is related to testopia, not sure if you
> consider this. Usually, the QA team is the one assigning these numbers.

No, I just picked the next available number :-)

A.



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 1/3] selftest/archiver: add tests for recipe type filtering
  2017-06-23 14:59 [PATCH 1/3] selftest/archiver: add tests for recipe type filtering André Draszik
  2017-06-23 14:59 ` [PATCH 2/3] selftest/archiver: only execute deploy_archives task André Draszik
  2017-06-23 14:59 ` [PATCH 3/3] copyleft_filter.bbclass: restore possiblity to filter on type André Draszik
@ 2017-06-23 15:15 ` Leonardo Sandoval
  2017-06-23 15:07   ` André Draszik
  2017-06-26  8:18 ` [PATCH v2 " André Draszik
                   ` (5 subsequent siblings)
  8 siblings, 1 reply; 18+ messages in thread
From: Leonardo Sandoval @ 2017-06-23 15:15 UTC (permalink / raw)
  To: André Draszik; +Cc: openembedded-core

On Fri, 2017-06-23 at 15:59 +0100, André Draszik wrote:
> From: André Draszik <adraszik@tycoint.com>
> 
> The archiver used to be able to filter based on COPYLEFT_RECIPE_TYPES.
> 
> Unfortunately, this got broken with the fix for
>   https://bugzilla.yoctoproject.org/show_bug.cgi?id=6929
> in commit ae9102bda398 ("copyleft_filter.bbclass: Allow to filter on name")
> 
> Add two tests to prevent that from happening again.
> 
> Signed-off-by: André Draszik <adraszik@tycoint.com>
> ---
>  meta/lib/oeqa/selftest/cases/archiver.py | 78 ++++++++++++++++++++++++++++++++
>  1 file changed, 78 insertions(+)
> 
> diff --git a/meta/lib/oeqa/selftest/cases/archiver.py b/meta/lib/oeqa/selftest/cases/archiver.py
> index 70c7282f22..9f686debe6 100644
> --- a/meta/lib/oeqa/selftest/cases/archiver.py
> +++ b/meta/lib/oeqa/selftest/cases/archiver.py
> @@ -39,3 +39,81 @@ class Archiver(OESelftestTestCase):
>          # Check that exclude_recipe was excluded
>          excluded_present = len(glob.glob(src_path + '/%s-*' % exclude_recipe))
>          self.assertFalse(excluded_present, 'Recipe %s was not excluded.' % exclude_recipe)
> +
> +
> +    @testcase(2012)

I believe the testcase ID is related to testopia, not sure if you
consider this. Usually, the QA team is the one assigning these numbers.




^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 1/3] selftest/archiver: add tests for recipe type filtering
  2017-06-23 15:07   ` André Draszik
@ 2017-06-23 15:43     ` Leonardo Sandoval
  0 siblings, 0 replies; 18+ messages in thread
From: Leonardo Sandoval @ 2017-06-23 15:43 UTC (permalink / raw)
  To: André Draszik; +Cc: openembedded-core

On Fri, 2017-06-23 at 16:07 +0100, André Draszik wrote:
> On Fri, 2017-06-23 at 10:15 -0500, Leonardo Sandoval wrote:
> > On Fri, 2017-06-23 at 15:59 +0100, André Draszik wrote:
> > > From: André Draszik <adraszik@tycoint.com>
> > > 
> > > The archiver used to be able to filter based on COPYLEFT_RECIPE_TYPES.
> > > 
> > > Unfortunately, this got broken with the fix for
> > >   https://bugzilla.yoctoproject.org/show_bug.cgi?id=6929
> > > in commit ae9102bda398 ("copyleft_filter.bbclass: Allow to filter on
> > > name")
> > > 
> > > Add two tests to prevent that from happening again.
> > > 
> > > Signed-off-by: André Draszik <adraszik@tycoint.com>
> > > ---
> > >  meta/lib/oeqa/selftest/cases/archiver.py | 78
> > > ++++++++++++++++++++++++++++++++
> > >  1 file changed, 78 insertions(+)
> > > 
> > > diff --git a/meta/lib/oeqa/selftest/cases/archiver.py
> > > b/meta/lib/oeqa/selftest/cases/archiver.py
> > > index 70c7282f22..9f686debe6 100644
> > > --- a/meta/lib/oeqa/selftest/cases/archiver.py
> > > +++ b/meta/lib/oeqa/selftest/cases/archiver.py
> > > @@ -39,3 +39,81 @@ class Archiver(OESelftestTestCase):
> > >          # Check that exclude_recipe was excluded
> > >          excluded_present = len(glob.glob(src_path + '/%s-*' %
> > > exclude_recipe))
> > >          self.assertFalse(excluded_present, 'Recipe %s was not
> > > excluded.' % exclude_recipe)
> > > +
> > > +
> > > +    @testcase(2012)
> > 
> > I believe the testcase ID is related to testopia, not sure if you
> > consider this. Usually, the QA team is the one assigning these numbers.
> 
> No, I just picked the next available number :-)

so please send a v2 removing these. archive tests are welcome!

> 
> A.
> 




^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH v2 1/3] selftest/archiver: add tests for recipe type filtering
  2017-06-23 14:59 [PATCH 1/3] selftest/archiver: add tests for recipe type filtering André Draszik
                   ` (2 preceding siblings ...)
  2017-06-23 15:15 ` [PATCH 1/3] selftest/archiver: add tests for recipe type filtering Leonardo Sandoval
@ 2017-06-26  8:18 ` André Draszik
  2017-06-26  8:18   ` [PATCH v2 2/3] selftest/archiver: only execute deploy_archives task André Draszik
  2017-06-26  8:18   ` [PATCH v2 3/3] copyleft_filter.bbclass: restore possiblity to filter on type André Draszik
  2017-06-26  8:31 ` ✗ patchtest: failure for "selftest/archiver: add tests f..." and 2 more (rev3) Patchwork
                   ` (4 subsequent siblings)
  8 siblings, 2 replies; 18+ messages in thread
From: André Draszik @ 2017-06-26  8:18 UTC (permalink / raw)
  To: openembedded-core

From: André Draszik <adraszik@tycoint.com>

The archiver used to be able to filter based on COPYLEFT_RECIPE_TYPES.

Unfortunately, this got broken with the fix for
  https://bugzilla.yoctoproject.org/show_bug.cgi?id=6929
in commit ae9102bda398 ("copyleft_filter.bbclass: Allow to filter on name")

Add two tests to prevent that from happening again.

Signed-off-by: André Draszik <adraszik@tycoint.com>
---
 meta/lib/oeqa/selftest/cases/archiver.py | 76 ++++++++++++++++++++++++++++++++
 1 file changed, 76 insertions(+)

diff --git a/meta/lib/oeqa/selftest/cases/archiver.py b/meta/lib/oeqa/selftest/cases/archiver.py
index 70c7282f22..7ef92cddac 100644
--- a/meta/lib/oeqa/selftest/cases/archiver.py
+++ b/meta/lib/oeqa/selftest/cases/archiver.py
@@ -39,3 +39,79 @@ class Archiver(OESelftestTestCase):
         # Check that exclude_recipe was excluded
         excluded_present = len(glob.glob(src_path + '/%s-*' % exclude_recipe))
         self.assertFalse(excluded_present, 'Recipe %s was not excluded.' % exclude_recipe)
+
+
+    def test_archiver_filters_by_type(self):
+        """
+        Summary:     The archiver is documented to filter on the recipe type.
+        Expected:    1. included recipe type (target) should be included
+                     2. other types should be excluded
+        Product:     oe-core
+        Author:      André Draszik <adraszik@tycoint.com>
+        """
+
+        target_recipe = 'initscripts'
+        native_recipe = 'zlib-native'
+
+        features = 'INHERIT += "archiver"\n'
+        features += 'ARCHIVER_MODE[src] = "original"\n'
+        features += 'COPYLEFT_RECIPE_TYPES = "target"\n'
+        self.write_config(features)
+
+        bitbake('-c clean %s %s' % (target_recipe, native_recipe))
+        bitbake("%s -c deploy_archives %s" % (target_recipe, native_recipe))
+
+        bb_vars = get_bb_vars(['DEPLOY_DIR_SRC', 'TARGET_SYS', 'BUILD_SYS'])
+        src_path_target = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['TARGET_SYS'])
+        src_path_native = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['BUILD_SYS'])
+
+        # Check that target_recipe was included
+        included_present = len(glob.glob(src_path_target + '/%s-*' % target_recipe))
+        self.assertTrue(included_present, 'Recipe %s was not included.' % target_recipe)
+
+        # Check that native_recipe was excluded
+        excluded_present = len(glob.glob(src_path_native + '/%s-*' % native_recipe))
+        self.assertFalse(excluded_present, 'Recipe %s was not excluded.' % native_recipe)
+
+    def test_archiver_filters_by_type_and_name(self):
+        """
+        Summary:     Test that the archiver archives by recipe type, taking the
+                     recipe name into account.
+        Expected:    1. included recipe type (target) should be included
+                     2. other types should be excluded
+                     3. recipe by name should be included / excluded,
+                        overriding previous decision by type
+        Product:     oe-core
+        Author:      André Draszik <adraszik@tycoint.com>
+        """
+
+        target_recipes = [ 'initscripts', 'zlib' ]
+        native_recipes = [ 'update-rc.d-native', 'zlib-native' ]
+
+        features = 'INHERIT += "archiver"\n'
+        features += 'ARCHIVER_MODE[src] = "original"\n'
+        features += 'COPYLEFT_RECIPE_TYPES = "target"\n'
+        features += 'COPYLEFT_PN_INCLUDE = "%s"\n' % native_recipes[1]
+        features += 'COPYLEFT_PN_EXCLUDE = "%s"\n' % target_recipes[1]
+        self.write_config(features)
+
+        bitbake('-c clean %s %s' % (' '.join(target_recipes), ' '.join(native_recipes)))
+        bitbake('-c deploy_archives %s %s' % (' '.join(target_recipes), ' '.join(native_recipes)))
+
+        bb_vars = get_bb_vars(['DEPLOY_DIR_SRC', 'TARGET_SYS', 'BUILD_SYS'])
+        src_path_target = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['TARGET_SYS'])
+        src_path_native = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['BUILD_SYS'])
+
+        # Check that target_recipe[0] and native_recipes[1] were included
+        included_present = len(glob.glob(src_path_target + '/%s-*' % target_recipes[0]))
+        self.assertTrue(included_present, 'Recipe %s was not included.' % target_recipes[0])
+
+        included_present = len(glob.glob(src_path_native + '/%s-*' % native_recipes[1]))
+        self.assertTrue(included_present, 'Recipe %s was not included.' % native_recipes[1])
+
+        # Check that native_recipes[0] and target_recipes[1] were excluded
+        excluded_present = len(glob.glob(src_path_native + '/%s-*' % native_recipes[0]))
+        self.assertFalse(excluded_present, 'Recipe %s was not excluded.' % native_recipes[0])
+
+        excluded_present = len(glob.glob(src_path_target + '/%s-*' % target_recipes[1]))
+        self.assertFalse(excluded_present, 'Recipe %s was not excluded.' % target_recipes[1])
-- 
2.11.0



^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v2 2/3] selftest/archiver: only execute deploy_archives task
  2017-06-26  8:18 ` [PATCH v2 " André Draszik
@ 2017-06-26  8:18   ` André Draszik
  2017-06-26  8:18   ` [PATCH v2 3/3] copyleft_filter.bbclass: restore possiblity to filter on type André Draszik
  1 sibling, 0 replies; 18+ messages in thread
From: André Draszik @ 2017-06-26  8:18 UTC (permalink / raw)
  To: openembedded-core

From: André Draszik <adraszik@tycoint.com>

There should be no reason to execute a full build, as we're
just interested in the deployment of the archives.

The newly added tests already do the same.

Signed-off-by: André Draszik <adraszik@tycoint.com>
---
 meta/lib/oeqa/selftest/cases/archiver.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/lib/oeqa/selftest/cases/archiver.py b/meta/lib/oeqa/selftest/cases/archiver.py
index 7ef92cddac..72026d573c 100644
--- a/meta/lib/oeqa/selftest/cases/archiver.py
+++ b/meta/lib/oeqa/selftest/cases/archiver.py
@@ -27,7 +27,7 @@ class Archiver(OESelftestTestCase):
         self.write_config(features)
 
         bitbake('-c clean %s %s' % (include_recipe, exclude_recipe))
-        bitbake("%s %s" % (include_recipe, exclude_recipe))
+        bitbake("-c deploy_archives %s %s" % (include_recipe, exclude_recipe))
 
         bb_vars = get_bb_vars(['DEPLOY_DIR_SRC', 'TARGET_SYS'])
         src_path = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['TARGET_SYS'])
-- 
2.11.0



^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v2 3/3] copyleft_filter.bbclass: restore possiblity to filter on type
  2017-06-26  8:18 ` [PATCH v2 " André Draszik
  2017-06-26  8:18   ` [PATCH v2 2/3] selftest/archiver: only execute deploy_archives task André Draszik
@ 2017-06-26  8:18   ` André Draszik
  1 sibling, 0 replies; 18+ messages in thread
From: André Draszik @ 2017-06-26  8:18 UTC (permalink / raw)
  To: openembedded-core

From: André Draszik <adraszik@tycoint.com>

Since the changes introduced in ae9102bda398
("copyleft_filter.bbclass: Allow to filter on name"), it is
impossible to filter on the recipe type, all recipes are
treated as though they should be included if the license
matches, irrespective of the COPYLEFT_RECIPE_TYPES
variable.

Fix this.

Signed-off-by: André Draszik <adraszik@tycoint.com>
---
 meta/classes/copyleft_filter.bbclass | 32 ++++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/meta/classes/copyleft_filter.bbclass b/meta/classes/copyleft_filter.bbclass
index 5867bb9f7e..c36bce431a 100644
--- a/meta/classes/copyleft_filter.bbclass
+++ b/meta/classes/copyleft_filter.bbclass
@@ -47,27 +47,27 @@ def copyleft_should_include(d):
     import oe.license
     from fnmatch import fnmatchcase as fnmatch
 
-    included, motive = False, 'recipe did not match anything'
-
     recipe_type = d.getVar('COPYLEFT_RECIPE_TYPE')
     if recipe_type not in oe.data.typed_value('COPYLEFT_RECIPE_TYPES', d):
-        include, motive = False, 'recipe type "%s" is excluded' % recipe_type
+        included, motive = False, 'recipe type "%s" is excluded' % recipe_type
+    else:
+        included, motive = False, 'recipe did not match anything'
 
-    include = oe.data.typed_value('COPYLEFT_LICENSE_INCLUDE', d)
-    exclude = oe.data.typed_value('COPYLEFT_LICENSE_EXCLUDE', d)
+        include = oe.data.typed_value('COPYLEFT_LICENSE_INCLUDE', d)
+        exclude = oe.data.typed_value('COPYLEFT_LICENSE_EXCLUDE', d)
 
-    try:
-        is_included, reason = oe.license.is_included(d.getVar('LICENSE'), include, exclude)
-    except oe.license.LicenseError as exc:
-        bb.fatal('%s: %s' % (d.getVar('PF'), exc))
-    else:
-        if is_included:
-            if reason:
-                included, motive = True, 'recipe has included licenses: %s' % ', '.join(reason)
-            else:
-                included, motive = False, 'recipe does not include a copyleft license'
+        try:
+            is_included, reason = oe.license.is_included(d.getVar('LICENSE'), include, exclude)
+        except oe.license.LicenseError as exc:
+            bb.fatal('%s: %s' % (d.getVar('PF'), exc))
         else:
-            included, motive = False, 'recipe has excluded licenses: %s' % ', '.join(reason)
+            if is_included:
+                if reason:
+                    included, motive = True, 'recipe has included licenses: %s' % ', '.join(reason)
+                else:
+                    included, motive = False, 'recipe does not include a copyleft license'
+            else:
+                included, motive = False, 'recipe has excluded licenses: %s' % ', '.join(reason)
 
     if any(fnmatch(d.getVar('PN'), name) \
             for name in oe.data.typed_value('COPYLEFT_PN_INCLUDE', d)):
-- 
2.11.0



^ permalink raw reply related	[flat|nested] 18+ messages in thread

* ✗ patchtest: failure for "selftest/archiver: add tests f..." and 2 more (rev3)
  2017-06-23 14:59 [PATCH 1/3] selftest/archiver: add tests for recipe type filtering André Draszik
                   ` (3 preceding siblings ...)
  2017-06-26  8:18 ` [PATCH v2 " André Draszik
@ 2017-06-26  8:31 ` Patchwork
  2017-06-26  8:31 ` ✗ patchtest: failure for "selftest/archiver: add tests f..." and 2 more (rev4) Patchwork
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2017-06-26  8:31 UTC (permalink / raw)
  To: André Draszik; +Cc: openembedded-core

== Series Details ==

Series: "selftest/archiver: add tests f..." and 2 more (rev3)
Revision: 3
URL   : https://patchwork.openembedded.org/series/7443/
State : failure

== Summary ==


Thank you for submitting this patch series to OpenEmbedded Core. This is
an automated response. Several tests have been executed on the proposed
series by patchtest resulting in the following failures:



* Issue             Series does not apply on top of target branch [test_series_merge_on_head] 
  Suggested fix    Rebase your series on top of targeted branch
  Targeted branch  master (currently at 20b3574749)



If you believe any of these test results are incorrect, please reply to the
mailing list (openembedded-core@lists.openembedded.org) raising your concerns.
Otherwise we would appreciate you correcting the issues and submitting a new
version of the patchset if applicable. Please ensure you add/increment the
version number when sending the new version (i.e. [PATCH] -> [PATCH v2] ->
[PATCH v3] -> ...).

---
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite:     http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe



^ permalink raw reply	[flat|nested] 18+ messages in thread

* ✗ patchtest: failure for "selftest/archiver: add tests f..." and 2 more (rev4)
  2017-06-23 14:59 [PATCH 1/3] selftest/archiver: add tests for recipe type filtering André Draszik
                   ` (4 preceding siblings ...)
  2017-06-26  8:31 ` ✗ patchtest: failure for "selftest/archiver: add tests f..." and 2 more (rev3) Patchwork
@ 2017-06-26  8:31 ` Patchwork
  2017-06-26  8:36 ` [PATCH v3 1/3] selftest/archiver: add tests for recipe type filtering André Draszik
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2017-06-26  8:31 UTC (permalink / raw)
  To: André Draszik; +Cc: openembedded-core

== Series Details ==

Series: "selftest/archiver: add tests f..." and 2 more (rev4)
Revision: 4
URL   : https://patchwork.openembedded.org/series/7443/
State : failure

== Summary ==


Thank you for submitting this patch series to OpenEmbedded Core. This is
an automated response. Several tests have been executed on the proposed
series by patchtest resulting in the following failures:



* Issue             Series does not apply on top of target branch [test_series_merge_on_head] 
  Suggested fix    Rebase your series on top of targeted branch
  Targeted branch  master (currently at 20b3574749)



If you believe any of these test results are incorrect, please reply to the
mailing list (openembedded-core@lists.openembedded.org) raising your concerns.
Otherwise we would appreciate you correcting the issues and submitting a new
version of the patchset if applicable. Please ensure you add/increment the
version number when sending the new version (i.e. [PATCH] -> [PATCH v2] ->
[PATCH v3] -> ...).

---
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite:     http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe



^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH v3 1/3] selftest/archiver: add tests for recipe type filtering
  2017-06-23 14:59 [PATCH 1/3] selftest/archiver: add tests for recipe type filtering André Draszik
                   ` (5 preceding siblings ...)
  2017-06-26  8:31 ` ✗ patchtest: failure for "selftest/archiver: add tests f..." and 2 more (rev4) Patchwork
@ 2017-06-26  8:36 ` André Draszik
  2017-06-26  8:36   ` [PATCH v3 2/3] selftest/archiver: only execute deploy_archives task André Draszik
  2017-06-26  8:36   ` [PATCH v3 3/3] copyleft_filter.bbclass: restore possiblity to filter on type André Draszik
  2017-06-26  9:01 ` ✗ patchtest: failure for "selftest/archiver: add tests f..." and 2 more (rev6) Patchwork
  2017-06-26  9:01 ` ✗ patchtest: failure for "selftest/archiver: add tests f..." and 2 more (rev7) Patchwork
  8 siblings, 2 replies; 18+ messages in thread
From: André Draszik @ 2017-06-26  8:36 UTC (permalink / raw)
  To: openembedded-core

From: André Draszik <adraszik@tycoint.com>

The archiver used to be able to filter based on COPYLEFT_RECIPE_TYPES.

Unfortunately, this got broken with the fix for
  https://bugzilla.yoctoproject.org/show_bug.cgi?id=6929
in commit ae9102bda398 ("copyleft_filter.bbclass: Allow to filter on name")

Add two tests to prevent that from happening again.

Signed-off-by: André Draszik <adraszik@tycoint.com>
---
 meta/lib/oeqa/selftest/cases/archiver.py | 76 ++++++++++++++++++++++++++++++++
 1 file changed, 76 insertions(+)

diff --git a/meta/lib/oeqa/selftest/cases/archiver.py b/meta/lib/oeqa/selftest/cases/archiver.py
index 70c7282f22..7ef92cddac 100644
--- a/meta/lib/oeqa/selftest/cases/archiver.py
+++ b/meta/lib/oeqa/selftest/cases/archiver.py
@@ -39,3 +39,79 @@ class Archiver(OESelftestTestCase):
         # Check that exclude_recipe was excluded
         excluded_present = len(glob.glob(src_path + '/%s-*' % exclude_recipe))
         self.assertFalse(excluded_present, 'Recipe %s was not excluded.' % exclude_recipe)
+
+
+    def test_archiver_filters_by_type(self):
+        """
+        Summary:     The archiver is documented to filter on the recipe type.
+        Expected:    1. included recipe type (target) should be included
+                     2. other types should be excluded
+        Product:     oe-core
+        Author:      André Draszik <adraszik@tycoint.com>
+        """
+
+        target_recipe = 'initscripts'
+        native_recipe = 'zlib-native'
+
+        features = 'INHERIT += "archiver"\n'
+        features += 'ARCHIVER_MODE[src] = "original"\n'
+        features += 'COPYLEFT_RECIPE_TYPES = "target"\n'
+        self.write_config(features)
+
+        bitbake('-c clean %s %s' % (target_recipe, native_recipe))
+        bitbake("%s -c deploy_archives %s" % (target_recipe, native_recipe))
+
+        bb_vars = get_bb_vars(['DEPLOY_DIR_SRC', 'TARGET_SYS', 'BUILD_SYS'])
+        src_path_target = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['TARGET_SYS'])
+        src_path_native = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['BUILD_SYS'])
+
+        # Check that target_recipe was included
+        included_present = len(glob.glob(src_path_target + '/%s-*' % target_recipe))
+        self.assertTrue(included_present, 'Recipe %s was not included.' % target_recipe)
+
+        # Check that native_recipe was excluded
+        excluded_present = len(glob.glob(src_path_native + '/%s-*' % native_recipe))
+        self.assertFalse(excluded_present, 'Recipe %s was not excluded.' % native_recipe)
+
+    def test_archiver_filters_by_type_and_name(self):
+        """
+        Summary:     Test that the archiver archives by recipe type, taking the
+                     recipe name into account.
+        Expected:    1. included recipe type (target) should be included
+                     2. other types should be excluded
+                     3. recipe by name should be included / excluded,
+                        overriding previous decision by type
+        Product:     oe-core
+        Author:      André Draszik <adraszik@tycoint.com>
+        """
+
+        target_recipes = [ 'initscripts', 'zlib' ]
+        native_recipes = [ 'update-rc.d-native', 'zlib-native' ]
+
+        features = 'INHERIT += "archiver"\n'
+        features += 'ARCHIVER_MODE[src] = "original"\n'
+        features += 'COPYLEFT_RECIPE_TYPES = "target"\n'
+        features += 'COPYLEFT_PN_INCLUDE = "%s"\n' % native_recipes[1]
+        features += 'COPYLEFT_PN_EXCLUDE = "%s"\n' % target_recipes[1]
+        self.write_config(features)
+
+        bitbake('-c clean %s %s' % (' '.join(target_recipes), ' '.join(native_recipes)))
+        bitbake('-c deploy_archives %s %s' % (' '.join(target_recipes), ' '.join(native_recipes)))
+
+        bb_vars = get_bb_vars(['DEPLOY_DIR_SRC', 'TARGET_SYS', 'BUILD_SYS'])
+        src_path_target = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['TARGET_SYS'])
+        src_path_native = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['BUILD_SYS'])
+
+        # Check that target_recipe[0] and native_recipes[1] were included
+        included_present = len(glob.glob(src_path_target + '/%s-*' % target_recipes[0]))
+        self.assertTrue(included_present, 'Recipe %s was not included.' % target_recipes[0])
+
+        included_present = len(glob.glob(src_path_native + '/%s-*' % native_recipes[1]))
+        self.assertTrue(included_present, 'Recipe %s was not included.' % native_recipes[1])
+
+        # Check that native_recipes[0] and target_recipes[1] were excluded
+        excluded_present = len(glob.glob(src_path_native + '/%s-*' % native_recipes[0]))
+        self.assertFalse(excluded_present, 'Recipe %s was not excluded.' % native_recipes[0])
+
+        excluded_present = len(glob.glob(src_path_target + '/%s-*' % target_recipes[1]))
+        self.assertFalse(excluded_present, 'Recipe %s was not excluded.' % target_recipes[1])
-- 
2.11.0



^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v3 2/3] selftest/archiver: only execute deploy_archives task
  2017-06-26  8:36 ` [PATCH v3 1/3] selftest/archiver: add tests for recipe type filtering André Draszik
@ 2017-06-26  8:36   ` André Draszik
  2017-06-26  8:36   ` [PATCH v3 3/3] copyleft_filter.bbclass: restore possiblity to filter on type André Draszik
  1 sibling, 0 replies; 18+ messages in thread
From: André Draszik @ 2017-06-26  8:36 UTC (permalink / raw)
  To: openembedded-core

From: André Draszik <adraszik@tycoint.com>

There should be no reason to execute a full build, as we're
just interested in the deployment of the archives.

The newly added tests already do the same.

Signed-off-by: André Draszik <adraszik@tycoint.com>
---
 meta/lib/oeqa/selftest/cases/archiver.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/lib/oeqa/selftest/cases/archiver.py b/meta/lib/oeqa/selftest/cases/archiver.py
index 7ef92cddac..72026d573c 100644
--- a/meta/lib/oeqa/selftest/cases/archiver.py
+++ b/meta/lib/oeqa/selftest/cases/archiver.py
@@ -27,7 +27,7 @@ class Archiver(OESelftestTestCase):
         self.write_config(features)
 
         bitbake('-c clean %s %s' % (include_recipe, exclude_recipe))
-        bitbake("%s %s" % (include_recipe, exclude_recipe))
+        bitbake("-c deploy_archives %s %s" % (include_recipe, exclude_recipe))
 
         bb_vars = get_bb_vars(['DEPLOY_DIR_SRC', 'TARGET_SYS'])
         src_path = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['TARGET_SYS'])
-- 
2.11.0



^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v3 3/3] copyleft_filter.bbclass: restore possiblity to filter on type
  2017-06-26  8:36 ` [PATCH v3 1/3] selftest/archiver: add tests for recipe type filtering André Draszik
  2017-06-26  8:36   ` [PATCH v3 2/3] selftest/archiver: only execute deploy_archives task André Draszik
@ 2017-06-26  8:36   ` André Draszik
  1 sibling, 0 replies; 18+ messages in thread
From: André Draszik @ 2017-06-26  8:36 UTC (permalink / raw)
  To: openembedded-core

From: André Draszik <adraszik@tycoint.com>

Since the changes introduced in ae9102bda398
("copyleft_filter.bbclass: Allow to filter on name"), it is
impossible to filter on the recipe type, all recipes are
treated as though they should be included if the license
matches, irrespective of the COPYLEFT_RECIPE_TYPES
variable.

Fix this.

Signed-off-by: André Draszik <adraszik@tycoint.com>
---
 meta/classes/copyleft_filter.bbclass | 32 ++++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/meta/classes/copyleft_filter.bbclass b/meta/classes/copyleft_filter.bbclass
index 5867bb9f7e..c36bce431a 100644
--- a/meta/classes/copyleft_filter.bbclass
+++ b/meta/classes/copyleft_filter.bbclass
@@ -47,27 +47,27 @@ def copyleft_should_include(d):
     import oe.license
     from fnmatch import fnmatchcase as fnmatch
 
-    included, motive = False, 'recipe did not match anything'
-
     recipe_type = d.getVar('COPYLEFT_RECIPE_TYPE')
     if recipe_type not in oe.data.typed_value('COPYLEFT_RECIPE_TYPES', d):
-        include, motive = False, 'recipe type "%s" is excluded' % recipe_type
+        included, motive = False, 'recipe type "%s" is excluded' % recipe_type
+    else:
+        included, motive = False, 'recipe did not match anything'
 
-    include = oe.data.typed_value('COPYLEFT_LICENSE_INCLUDE', d)
-    exclude = oe.data.typed_value('COPYLEFT_LICENSE_EXCLUDE', d)
+        include = oe.data.typed_value('COPYLEFT_LICENSE_INCLUDE', d)
+        exclude = oe.data.typed_value('COPYLEFT_LICENSE_EXCLUDE', d)
 
-    try:
-        is_included, reason = oe.license.is_included(d.getVar('LICENSE'), include, exclude)
-    except oe.license.LicenseError as exc:
-        bb.fatal('%s: %s' % (d.getVar('PF'), exc))
-    else:
-        if is_included:
-            if reason:
-                included, motive = True, 'recipe has included licenses: %s' % ', '.join(reason)
-            else:
-                included, motive = False, 'recipe does not include a copyleft license'
+        try:
+            is_included, reason = oe.license.is_included(d.getVar('LICENSE'), include, exclude)
+        except oe.license.LicenseError as exc:
+            bb.fatal('%s: %s' % (d.getVar('PF'), exc))
         else:
-            included, motive = False, 'recipe has excluded licenses: %s' % ', '.join(reason)
+            if is_included:
+                if reason:
+                    included, motive = True, 'recipe has included licenses: %s' % ', '.join(reason)
+                else:
+                    included, motive = False, 'recipe does not include a copyleft license'
+            else:
+                included, motive = False, 'recipe has excluded licenses: %s' % ', '.join(reason)
 
     if any(fnmatch(d.getVar('PN'), name) \
             for name in oe.data.typed_value('COPYLEFT_PN_INCLUDE', d)):
-- 
2.11.0



^ permalink raw reply related	[flat|nested] 18+ messages in thread

* ✗ patchtest: failure for "selftest/archiver: add tests f..." and 2 more (rev6)
  2017-06-23 14:59 [PATCH 1/3] selftest/archiver: add tests for recipe type filtering André Draszik
                   ` (6 preceding siblings ...)
  2017-06-26  8:36 ` [PATCH v3 1/3] selftest/archiver: add tests for recipe type filtering André Draszik
@ 2017-06-26  9:01 ` Patchwork
  2017-06-26  9:01 ` ✗ patchtest: failure for "selftest/archiver: add tests f..." and 2 more (rev7) Patchwork
  8 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2017-06-26  9:01 UTC (permalink / raw)
  To: André Draszik; +Cc: openembedded-core

== Series Details ==

Series: "selftest/archiver: add tests f..." and 2 more (rev6)
Revision: 6
URL   : https://patchwork.openembedded.org/series/7443/
State : failure

== Summary ==


Thank you for submitting this patch series to OpenEmbedded Core. This is
an automated response. Several tests have been executed on the proposed
series by patchtest resulting in the following failures:



* Issue             Series does not apply on top of target branch [test_series_merge_on_head] 
  Suggested fix    Rebase your series on top of targeted branch
  Targeted branch  master (currently at 20b3574749)



If you believe any of these test results are incorrect, please reply to the
mailing list (openembedded-core@lists.openembedded.org) raising your concerns.
Otherwise we would appreciate you correcting the issues and submitting a new
version of the patchset if applicable. Please ensure you add/increment the
version number when sending the new version (i.e. [PATCH] -> [PATCH v2] ->
[PATCH v3] -> ...).

---
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite:     http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe



^ permalink raw reply	[flat|nested] 18+ messages in thread

* ✗ patchtest: failure for "selftest/archiver: add tests f..." and 2 more (rev7)
  2017-06-23 14:59 [PATCH 1/3] selftest/archiver: add tests for recipe type filtering André Draszik
                   ` (7 preceding siblings ...)
  2017-06-26  9:01 ` ✗ patchtest: failure for "selftest/archiver: add tests f..." and 2 more (rev6) Patchwork
@ 2017-06-26  9:01 ` Patchwork
  2017-06-26 10:32   ` André Draszik
  8 siblings, 1 reply; 18+ messages in thread
From: Patchwork @ 2017-06-26  9:01 UTC (permalink / raw)
  To: André Draszik; +Cc: openembedded-core

== Series Details ==

Series: "selftest/archiver: add tests f..." and 2 more (rev7)
Revision: 7
URL   : https://patchwork.openembedded.org/series/7443/
State : failure

== Summary ==


Thank you for submitting this patch series to OpenEmbedded Core. This is
an automated response. Several tests have been executed on the proposed
series by patchtest resulting in the following failures:



* Issue             Series does not apply on top of target branch [test_series_merge_on_head] 
  Suggested fix    Rebase your series on top of targeted branch
  Targeted branch  master (currently at 20b3574749)



If you believe any of these test results are incorrect, please reply to the
mailing list (openembedded-core@lists.openembedded.org) raising your concerns.
Otherwise we would appreciate you correcting the issues and submitting a new
version of the patchset if applicable. Please ensure you add/increment the
version number when sending the new version (i.e. [PATCH] -> [PATCH v2] ->
[PATCH v3] -> ...).

---
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite:     http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: ✗ patchtest: failure for "selftest/archiver: add tests f..." and 2 more (rev7)
  2017-06-26  9:01 ` ✗ patchtest: failure for "selftest/archiver: add tests f..." and 2 more (rev7) Patchwork
@ 2017-06-26 10:32   ` André Draszik
  2017-06-26 14:10     ` Leonardo Sandoval
  0 siblings, 1 reply; 18+ messages in thread
From: André Draszik @ 2017-06-26 10:32 UTC (permalink / raw)
  To: openembedded-core

On Mon, 2017-06-26 at 09:01 +0000, Patchwork wrote:
> == Series Details ==
> 
> Series: "selftest/archiver: add tests f..." and 2 more (rev7)
> Revision: 7
> URL   : https://patchwork.openembedded.org/series/7443/
> State : failure
> 
> == Summary ==
> 
> 
> Thank you for submitting this patch series to OpenEmbedded Core. This is
> an automated response. Several tests have been executed on the proposed
> series by patchtest resulting in the following failures:
> 
> 
> 
> * Issue             Series does not apply on top of target branch
> [test_series_merge_on_head] 
>   Suggested fix    Rebase your series on top of targeted branch
>   Targeted branch  master (currently at 20b3574749)

I'm not sure why this is failing, I made sure to rebase onto 20b3574749
before submitting.


Cheers,
Andre'



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: ✗ patchtest: failure for "selftest/archiver: add tests f..." and 2 more (rev7)
  2017-06-26 10:32   ` André Draszik
@ 2017-06-26 14:10     ` Leonardo Sandoval
  0 siblings, 0 replies; 18+ messages in thread
From: Leonardo Sandoval @ 2017-06-26 14:10 UTC (permalink / raw)
  To: André Draszik; +Cc: openembedded-core

On Mon, 2017-06-26 at 11:32 +0100, André Draszik wrote:
> On Mon, 2017-06-26 at 09:01 +0000, Patchwork wrote:
> > == Series Details ==
> > 
> > Series: "selftest/archiver: add tests f..." and 2 more (rev7)
> > Revision: 7
> > URL   : https://patchwork.openembedded.org/series/7443/
> > State : failure
> > 
> > == Summary ==
> > 
> > 
> > Thank you for submitting this patch series to OpenEmbedded Core. This is
> > an automated response. Several tests have been executed on the proposed
> > series by patchtest resulting in the following failures:
> > 
> > 
> > 
> > * Issue             Series does not apply on top of target branch
> > [test_series_merge_on_head] 
> >   Suggested fix    Rebase your series on top of targeted branch
> >   Targeted branch  master (currently at 20b3574749)
> 
> I'm not sure why this is failing, I made sure to rebase onto 20b3574749
> before submitting.
> 

I tried merging it with verbose flags and this is what I get:



 git apply --check 7443.mbox --verbose
Checking patch meta/classes/copyleft_filter.bbclass...
Checking patch meta/lib/oeqa/selftest/cases/archiver.py...
Checking patch meta/classes/copyleft_filter.bbclass...
error: while searching for:
    import oe.license
    from fnmatch import fnmatchcase as fnmatch

    included, motive = False, 'recipe did not match anything'

    recipe_type = d.getVar('COPYLEFT_RECIPE_TYPE')
    if recipe_type not in oe.data.typed_value('COPYLEFT_RECIPE_TYPES',
d):
        include, motive = False, 'recipe type "%s" is excluded' %
recipe_type

    include = oe.data.typed_value('COPYLEFT_LICENSE_INCLUDE', d)
    exclude = oe.data.typed_value('COPYLEFT_LICENSE_EXCLUDE', d)

    try:
        is_included, reason =
oe.license.is_included(d.getVar('LICENSE'), include, exclude)
    except oe.license.LicenseError as exc:
        bb.fatal('%s: %s' % (d.getVar('PF'), exc))
    else:
        if is_included:
            if reason:
                included, motive = True, 'recipe has included licenses:
%s' % ', '.join(reason)
            else:
                included, motive = False, 'recipe does not include a
copyleft license'
        else:
            included, motive = False, 'recipe has excluded licenses: %s'
% ', '.join(reason)

    if any(fnmatch(d.getVar('PN'), name) \
            for name in oe.data.typed_value('COPYLEFT_PN_INCLUDE', d)):

error: patch failed: meta/classes/copyleft_filter.bbclass:47
error: meta/classes/copyleft_filter.bbclass: patch does not apply


so there is something that git does not like on the bbclass.

Leo



> 
> Cheers,
> Andre'
> 




^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2017-06-26 14:00 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-23 14:59 [PATCH 1/3] selftest/archiver: add tests for recipe type filtering André Draszik
2017-06-23 14:59 ` [PATCH 2/3] selftest/archiver: only execute deploy_archives task André Draszik
2017-06-23 14:59 ` [PATCH 3/3] copyleft_filter.bbclass: restore possiblity to filter on type André Draszik
2017-06-23 15:15 ` [PATCH 1/3] selftest/archiver: add tests for recipe type filtering Leonardo Sandoval
2017-06-23 15:07   ` André Draszik
2017-06-23 15:43     ` Leonardo Sandoval
2017-06-26  8:18 ` [PATCH v2 " André Draszik
2017-06-26  8:18   ` [PATCH v2 2/3] selftest/archiver: only execute deploy_archives task André Draszik
2017-06-26  8:18   ` [PATCH v2 3/3] copyleft_filter.bbclass: restore possiblity to filter on type André Draszik
2017-06-26  8:31 ` ✗ patchtest: failure for "selftest/archiver: add tests f..." and 2 more (rev3) Patchwork
2017-06-26  8:31 ` ✗ patchtest: failure for "selftest/archiver: add tests f..." and 2 more (rev4) Patchwork
2017-06-26  8:36 ` [PATCH v3 1/3] selftest/archiver: add tests for recipe type filtering André Draszik
2017-06-26  8:36   ` [PATCH v3 2/3] selftest/archiver: only execute deploy_archives task André Draszik
2017-06-26  8:36   ` [PATCH v3 3/3] copyleft_filter.bbclass: restore possiblity to filter on type André Draszik
2017-06-26  9:01 ` ✗ patchtest: failure for "selftest/archiver: add tests f..." and 2 more (rev6) Patchwork
2017-06-26  9:01 ` ✗ patchtest: failure for "selftest/archiver: add tests f..." and 2 more (rev7) Patchwork
2017-06-26 10:32   ` André Draszik
2017-06-26 14:10     ` Leonardo Sandoval

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.