All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] bitbake-layers show-recipes minor enhancement
@ 2019-09-13  3:58 Yeoh Ee Peng
  2019-09-13  3:58 ` [PATCH 1/3] bitbake: bitbake-layers: show-recipes: Show unique packagenames Yeoh Ee Peng
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Yeoh Ee Peng @ 2019-09-13  3:58 UTC (permalink / raw)
  To: bitbake-devel

Minor enhancement to facilitate user to
 - view unique packagenames
 - view recipe or packagenames from user provided layer
 - view recipe or packagenames that removed the "(skipped)" tag

Yeoh Ee Peng (3):
  bitbake: bitbake-layers: show-recipes: Show unique packagenames
  bitbake: bitbake-layers: show-recipes: Select recipes from provided
    layer
  bitbake: bitbake-layers: show-recipes: Enable remove the (skipped) tag

 lib/bblayers/query.py | 39 ++++++++++++++++++++++++---------------
 1 file changed, 24 insertions(+), 15 deletions(-)

-- 
2.7.4



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

* [PATCH 1/3] bitbake: bitbake-layers: show-recipes: Show unique packagenames
  2019-09-13  3:58 [PATCH 0/3] bitbake-layers show-recipes minor enhancement Yeoh Ee Peng
@ 2019-09-13  3:58 ` Yeoh Ee Peng
  2019-09-17 22:25   ` Paul Eggleton
  2019-09-13  3:58 ` [PATCH 2/3] bitbake: bitbake-layers: show-recipes: Select recipes from provided layer Yeoh Ee Peng
  2019-09-13  3:58 ` [PATCH 3/3] bitbake: bitbake-layers: show-recipes: Enable remove the (skipped) tag Yeoh Ee Peng
  2 siblings, 1 reply; 7+ messages in thread
From: Yeoh Ee Peng @ 2019-09-13  3:58 UTC (permalink / raw)
  To: bitbake-devel

Currently, show-recipes will show all recipes available (both
recipes with different version and recipes provided by more
than one layer).

Example of default $ bitbake-layers show-recipes:
core-image-rt:
  meta-intel           unknown (skipped)
  meta                 unknown (skipped)

yajl:
  meta-oe              2.1.0
  meta-oe              1.0.12

Add -p argument to enable showing unique packagenames. This
provide a focus view on unique recipes available.

Example of $ bitbake-layers show-recipes -p:
core-image-rt (skipped)
yajl

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
---
 lib/bblayers/query.py | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/lib/bblayers/query.py b/lib/bblayers/query.py
index 993589d..e13c00e 100644
--- a/lib/bblayers/query.py
+++ b/lib/bblayers/query.py
@@ -46,7 +46,7 @@ layer, with the preferred version first. Note that skipped recipes that
 are overlayed will also be listed, with a " (skipped)" suffix.
 """
 
-        items_listed = self.list_recipes('Overlayed recipes', None, True, args.same_version, args.filenames, True, None)
+        items_listed = self.list_recipes('Overlayed recipes', None, True, args.same_version, args.filenames, False, True, None)
 
         # Check for overlayed .bbclass files
         classes = collections.defaultdict(list)
@@ -112,9 +112,9 @@ skipped recipes will also be listed, with a " (skipped)" suffix.
             title = 'Matching recipes:'
         else:
             title = 'Available recipes:'
-        self.list_recipes(title, args.pnspec, False, False, args.filenames, args.multiple, inheritlist)
+        self.list_recipes(title, args.pnspec, False, False, args.filenames, args.packagenames, args.multiple, inheritlist)
 
-    def list_recipes(self, title, pnspec, show_overlayed_only, show_same_ver_only, show_filenames, show_multi_provider_only, inherits):
+    def list_recipes(self, title, pnspec, show_overlayed_only, show_same_ver_only, show_filenames, show_packagenames, show_multi_provider_only, inherits):
         if inherits:
             bbpath = str(self.tinfoil.config_data.getVar('BBPATH'))
             for classname in inherits:
@@ -153,6 +153,10 @@ skipped recipes will also be listed, with a " (skipped)" suffix.
                     logger.plain("%s%s", f, skipped)
                 else:
                     logger.plain("  %s%s", f, skipped)
+            elif show_packagenames:
+                if pn not in show_unique_pn:
+                    show_unique_pn.append(pn)
+                    logger.plain("%s%s", pn, skipped)
             else:
                 if ispref:
                     logger.plain("%s:", pn)
@@ -162,6 +166,7 @@ skipped recipes will also be listed, with a " (skipped)" suffix.
         cls_re = re.compile('classes/')
 
         preffiles = []
+        show_unique_pn = []
         items_listed = False
         for p in sorted(pkg_pn):
             if pnspec:
@@ -493,6 +498,7 @@ NOTE: .bbappend files can impact the dependencies.
 
         parser_show_recipes = self.add_command(sp, 'show-recipes', self.do_show_recipes)
         parser_show_recipes.add_argument('-f', '--filenames', help='instead of the default formatting, list filenames of higher priority recipes with the ones they overlay indented underneath', action='store_true')
+        parser_show_recipes.add_argument('-p', '--packagenames', help='instead of the default formatting, list packagenames of higher priority recipes only', action='store_true')
         parser_show_recipes.add_argument('-m', '--multiple', help='only list where multiple recipes (in the same layer or different layers) exist for the same recipe name', action='store_true')
         parser_show_recipes.add_argument('-i', '--inherits', help='only list recipes that inherit the named class(es) - separate multiple classes using , (without spaces)', metavar='CLASS', default='')
         parser_show_recipes.add_argument('pnspec', nargs='*', help='optional recipe name specification (wildcards allowed, enclose in quotes to avoid shell expansion)')
-- 
2.7.4



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

* [PATCH 2/3] bitbake: bitbake-layers: show-recipes: Select recipes from provided layer
  2019-09-13  3:58 [PATCH 0/3] bitbake-layers show-recipes minor enhancement Yeoh Ee Peng
  2019-09-13  3:58 ` [PATCH 1/3] bitbake: bitbake-layers: show-recipes: Show unique packagenames Yeoh Ee Peng
@ 2019-09-13  3:58 ` Yeoh Ee Peng
  2019-09-13  3:58 ` [PATCH 3/3] bitbake: bitbake-layers: show-recipes: Enable remove the (skipped) tag Yeoh Ee Peng
  2 siblings, 0 replies; 7+ messages in thread
From: Yeoh Ee Peng @ 2019-09-13  3:58 UTC (permalink / raw)
  To: bitbake-devel

Currently, show-recipes will show recipes from all configured layers.

Example of default $ bitbake-layers show-recipes:
core-image-rt:
  meta-intel           unknown (skipped)
  meta                 unknown (skipped)

Add -l argument to enable showing recipes from user provided layer.

Example: $ bitbake-layers show-recipes -l meta-intel
core-image-rt:
  meta-intel           unknown (skipped)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
---
 lib/bblayers/query.py | 40 +++++++++++++++++++++-------------------
 1 file changed, 21 insertions(+), 19 deletions(-)

diff --git a/lib/bblayers/query.py b/lib/bblayers/query.py
index e13c00e..8ba94ac 100644
--- a/lib/bblayers/query.py
+++ b/lib/bblayers/query.py
@@ -46,7 +46,7 @@ layer, with the preferred version first. Note that skipped recipes that
 are overlayed will also be listed, with a " (skipped)" suffix.
 """
 
-        items_listed = self.list_recipes('Overlayed recipes', None, True, args.same_version, args.filenames, False, True, None)
+        items_listed = self.list_recipes('Overlayed recipes', None, True, args.same_version, args.filenames, False, True, None, None)
 
         # Check for overlayed .bbclass files
         classes = collections.defaultdict(list)
@@ -112,9 +112,9 @@ skipped recipes will also be listed, with a " (skipped)" suffix.
             title = 'Matching recipes:'
         else:
             title = 'Available recipes:'
-        self.list_recipes(title, args.pnspec, False, False, args.filenames, args.packagenames, args.multiple, inheritlist)
+        self.list_recipes(title, args.pnspec, False, False, args.filenames, args.packagenames, args.multiple, args.layer, inheritlist)
 
-    def list_recipes(self, title, pnspec, show_overlayed_only, show_same_ver_only, show_filenames, show_packagenames, show_multi_provider_only, inherits):
+    def list_recipes(self, title, pnspec, show_overlayed_only, show_same_ver_only, show_filenames, show_packagenames, show_multi_provider_only, show_provided_layer_only, inherits):
         if inherits:
             bbpath = str(self.tinfoil.config_data.getVar('BBPATH'))
             for classname in inherits:
@@ -144,23 +144,24 @@ skipped recipes will also be listed, with a " (skipped)" suffix.
                 preferred_versions[p] = (ver, fn)
 
         def print_item(f, pn, ver, layer, ispref):
-            if f in skiplist:
-                skipped = ' (skipped)'
-            else:
-                skipped = ''
-            if show_filenames:
-                if ispref:
-                    logger.plain("%s%s", f, skipped)
+            if not show_provided_layer_only or layer == show_provided_layer_only:
+                if f in skiplist:
+                    skipped = ' (skipped)'
                 else:
-                    logger.plain("  %s%s", f, skipped)
-            elif show_packagenames:
-                if pn not in show_unique_pn:
-                    show_unique_pn.append(pn)
-                    logger.plain("%s%s", pn, skipped)
-            else:
-                if ispref:
-                    logger.plain("%s:", pn)
-                logger.plain("  %s %s%s", layer.ljust(20), ver, skipped)
+                    skipped = ''
+                if show_filenames:
+                    if ispref:
+                        logger.plain("%s%s", f, skipped)
+                    else:
+                        logger.plain("  %s%s", f, skipped)
+                elif show_packagenames:
+                    if pn not in show_unique_pn:
+                        show_unique_pn.append(pn)
+                        logger.plain("%s%s", pn, skipped)
+                else:
+                    if ispref:
+                        logger.plain("%s:", pn)
+                    logger.plain("  %s %s%s", layer.ljust(20), ver, skipped)
 
         global_inherit = (self.tinfoil.config_data.getVar('INHERIT') or "").split()
         cls_re = re.compile('classes/')
@@ -501,6 +502,7 @@ NOTE: .bbappend files can impact the dependencies.
         parser_show_recipes.add_argument('-p', '--packagenames', help='instead of the default formatting, list packagenames of higher priority recipes only', action='store_true')
         parser_show_recipes.add_argument('-m', '--multiple', help='only list where multiple recipes (in the same layer or different layers) exist for the same recipe name', action='store_true')
         parser_show_recipes.add_argument('-i', '--inherits', help='only list recipes that inherit the named class(es) - separate multiple classes using , (without spaces)', metavar='CLASS', default='')
+        parser_show_recipes.add_argument('-l', '--layer', help='only list recipes from the provided layer', default='')
         parser_show_recipes.add_argument('pnspec', nargs='*', help='optional recipe name specification (wildcards allowed, enclose in quotes to avoid shell expansion)')
 
         parser_show_appends = self.add_command(sp, 'show-appends', self.do_show_appends)
-- 
2.7.4



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

* [PATCH 3/3] bitbake: bitbake-layers: show-recipes: Enable remove the (skipped) tag
  2019-09-13  3:58 [PATCH 0/3] bitbake-layers show-recipes minor enhancement Yeoh Ee Peng
  2019-09-13  3:58 ` [PATCH 1/3] bitbake: bitbake-layers: show-recipes: Show unique packagenames Yeoh Ee Peng
  2019-09-13  3:58 ` [PATCH 2/3] bitbake: bitbake-layers: show-recipes: Select recipes from provided layer Yeoh Ee Peng
@ 2019-09-13  3:58 ` Yeoh Ee Peng
  2019-09-17 22:29   ` Paul Eggleton
  2 siblings, 1 reply; 7+ messages in thread
From: Yeoh Ee Peng @ 2019-09-13  3:58 UTC (permalink / raw)
  To: bitbake-devel

Currently, show-recipes will append "(skipped)" to recipes which
were skipped due these recipes does not satisfied the configurations.

Example: $ bitbake-layers show-recipes -p
ace
backport-iwlwifi
core-image-rt (skipped)
core-image-rt-sdk (skipped)
core-image-tiny

Enable removal of the "(skipped)" tag appended to recipe using -r.

Example: $ bitbake-layers show-recipes -p -r
ace
backport-iwlwifi
core-image-rt
core-image-rt-sdk
core-image-tiny

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
---
 lib/bblayers/query.py | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/lib/bblayers/query.py b/lib/bblayers/query.py
index 8ba94ac..44ab907 100644
--- a/lib/bblayers/query.py
+++ b/lib/bblayers/query.py
@@ -46,7 +46,7 @@ layer, with the preferred version first. Note that skipped recipes that
 are overlayed will also be listed, with a " (skipped)" suffix.
 """
 
-        items_listed = self.list_recipes('Overlayed recipes', None, True, args.same_version, args.filenames, False, True, None, None)
+        items_listed = self.list_recipes('Overlayed recipes', None, True, args.same_version, args.filenames, False, True, None, False, None)
 
         # Check for overlayed .bbclass files
         classes = collections.defaultdict(list)
@@ -112,9 +112,9 @@ skipped recipes will also be listed, with a " (skipped)" suffix.
             title = 'Matching recipes:'
         else:
             title = 'Available recipes:'
-        self.list_recipes(title, args.pnspec, False, False, args.filenames, args.packagenames, args.multiple, args.layer, inheritlist)
+        self.list_recipes(title, args.pnspec, False, False, args.filenames, args.packagenames, args.multiple, args.layer, args.remove_skip_tag, inheritlist)
 
-    def list_recipes(self, title, pnspec, show_overlayed_only, show_same_ver_only, show_filenames, show_packagenames, show_multi_provider_only, show_provided_layer_only, inherits):
+    def list_recipes(self, title, pnspec, show_overlayed_only, show_same_ver_only, show_filenames, show_packagenames, show_multi_provider_only, show_provided_layer_only, remove_skip_tag, inherits):
         if inherits:
             bbpath = str(self.tinfoil.config_data.getVar('BBPATH'))
             for classname in inherits:
@@ -145,7 +145,7 @@ skipped recipes will also be listed, with a " (skipped)" suffix.
 
         def print_item(f, pn, ver, layer, ispref):
             if not show_provided_layer_only or layer == show_provided_layer_only:
-                if f in skiplist:
+                if not remove_skip_tag and f in skiplist:
                     skipped = ' (skipped)'
                 else:
                     skipped = ''
@@ -503,6 +503,7 @@ NOTE: .bbappend files can impact the dependencies.
         parser_show_recipes.add_argument('-m', '--multiple', help='only list where multiple recipes (in the same layer or different layers) exist for the same recipe name', action='store_true')
         parser_show_recipes.add_argument('-i', '--inherits', help='only list recipes that inherit the named class(es) - separate multiple classes using , (without spaces)', metavar='CLASS', default='')
         parser_show_recipes.add_argument('-l', '--layer', help='only list recipes from the provided layer', default='')
+        parser_show_recipes.add_argument('-r', '--remove-skip-tag', help='remove the "(skipped)" tag from recipes', action='store_true')
         parser_show_recipes.add_argument('pnspec', nargs='*', help='optional recipe name specification (wildcards allowed, enclose in quotes to avoid shell expansion)')
 
         parser_show_appends = self.add_command(sp, 'show-appends', self.do_show_appends)
-- 
2.7.4



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

* Re: [PATCH 1/3] bitbake: bitbake-layers: show-recipes: Show unique packagenames
  2019-09-13  3:58 ` [PATCH 1/3] bitbake: bitbake-layers: show-recipes: Show unique packagenames Yeoh Ee Peng
@ 2019-09-17 22:25   ` Paul Eggleton
  0 siblings, 0 replies; 7+ messages in thread
From: Paul Eggleton @ 2019-09-17 22:25 UTC (permalink / raw)
  To: Yeoh Ee Peng; +Cc: bitbake-devel

On Friday, 13 September 2019 3:58:39 PM NZST Yeoh Ee Peng wrote:
> Currently, show-recipes will show all recipes available (both
> recipes with different version and recipes provided by more
> than one layer).
> 
> Example of default $ bitbake-layers show-recipes:
> core-image-rt:
>   meta-intel           unknown (skipped)
>   meta                 unknown (skipped)
> 
> yajl:
>   meta-oe              2.1.0
>   meta-oe              1.0.12
> 
> Add -p argument to enable showing unique packagenames. This
> provide a focus view on unique recipes available.

In this context, these aren't package names, they are recipe names - so we need to be using that naming. Accordingly I would recommend -r/--recipe-only as the option name.
 
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre




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

* Re: [PATCH 3/3] bitbake: bitbake-layers: show-recipes: Enable remove the (skipped) tag
  2019-09-13  3:58 ` [PATCH 3/3] bitbake: bitbake-layers: show-recipes: Enable remove the (skipped) tag Yeoh Ee Peng
@ 2019-09-17 22:29   ` Paul Eggleton
  0 siblings, 0 replies; 7+ messages in thread
From: Paul Eggleton @ 2019-09-17 22:29 UTC (permalink / raw)
  To: Yeoh Ee Peng; +Cc: bitbake-devel

On Friday, 13 September 2019 3:58:41 PM NZST Yeoh Ee Peng wrote:
> Currently, show-recipes will append "(skipped)" to recipes which
> were skipped due these recipes does not satisfied the configurations.
> 
> Example: $ bitbake-layers show-recipes -p
> ace
> backport-iwlwifi
> core-image-rt (skipped)
> core-image-rt-sdk (skipped)
> core-image-tiny
> 
> Enable removal of the "(skipped)" tag appended to recipe using -r.
> 
> Example: $ bitbake-layers show-recipes -p -r
> ace
> backport-iwlwifi
> core-image-rt
> core-image-rt-sdk
> core-image-tiny
> 
> Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
> ---
>  lib/bblayers/query.py | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/lib/bblayers/query.py b/lib/bblayers/query.py
> index 8ba94ac..44ab907 100644
> --- a/lib/bblayers/query.py
> +++ b/lib/bblayers/query.py
> @@ -46,7 +46,7 @@ layer, with the preferred version first. Note that skipped recipes that
>  are overlayed will also be listed, with a " (skipped)" suffix.
>  """
>  
> -        items_listed = self.list_recipes('Overlayed recipes', None, True, args.same_version, args.filenames, False, True, None, None)
> +        items_listed = self.list_recipes('Overlayed recipes', None, True, args.same_version, args.filenames, False, True, None, False, None)
>  
>          # Check for overlayed .bbclass files
>          classes = collections.defaultdict(list)
> @@ -112,9 +112,9 @@ skipped recipes will also be listed, with a " (skipped)" suffix.
>              title = 'Matching recipes:'
>          else:
>              title = 'Available recipes:'
> -        self.list_recipes(title, args.pnspec, False, False, args.filenames, args.packagenames, args.multiple, args.layer, inheritlist)
> +        self.list_recipes(title, args.pnspec, False, False, args.filenames, args.packagenames, args.multiple, args.layer, args.remove_skip_tag, inheritlist)
>  
> -    def list_recipes(self, title, pnspec, show_overlayed_only, show_same_ver_only, show_filenames, show_packagenames, show_multi_provider_only, show_provided_layer_only, inherits):
> +    def list_recipes(self, title, pnspec, show_overlayed_only, show_same_ver_only, show_filenames, show_packagenames, show_multi_provider_only, show_provided_layer_only, remove_skip_tag, inherits):
>          if inherits:
>              bbpath = str(self.tinfoil.config_data.getVar('BBPATH'))
>              for classname in inherits:
> @@ -145,7 +145,7 @@ skipped recipes will also be listed, with a " (skipped)" suffix.
>  
>          def print_item(f, pn, ver, layer, ispref):
>              if not show_provided_layer_only or layer == show_provided_layer_only:
> -                if f in skiplist:
> +                if not remove_skip_tag and f in skiplist:
>                      skipped = ' (skipped)'
>                  else:
>                      skipped = ''
> @@ -503,6 +503,7 @@ NOTE: .bbappend files can impact the dependencies.
>          parser_show_recipes.add_argument('-m', '--multiple', help='only list where multiple recipes (in the same layer or different layers) exist for the same recipe name', action='store_true')
>          parser_show_recipes.add_argument('-i', '--inherits', help='only list recipes that inherit the named class(es) - separate multiple classes using , (without spaces)', metavar='CLASS', default='')
>          parser_show_recipes.add_argument('-l', '--layer', help='only list recipes from the provided layer', default='')
> +        parser_show_recipes.add_argument('-r', '--remove-skip-tag', help='remove the "(skipped)" tag from recipes', action='store_true')

Rather than describing it in this way could we call this -b/--bare i.e. output just names without any additional markers e.g. "(skipped)"? This would allow us to have this disable any other such extraneous output in future.

Cheers
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre




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

* [PATCH 0/3] bitbake-layers show-recipes minor enhancement
@ 2019-09-13  3:58 Yeoh Ee Peng
  0 siblings, 0 replies; 7+ messages in thread
From: Yeoh Ee Peng @ 2019-09-13  3:58 UTC (permalink / raw)
  To: bitbake-devel

Minor enhancement to facilitate user to
 - view unique packagenames
 - view recipe or packagenames from user provided layer
 - view recipe or packagenames that removed the "(skipped)" tag

Yeoh Ee Peng (3):
  bitbake: bitbake-layers: show-recipes: Show unique packagenames
  bitbake: bitbake-layers: show-recipes: Select recipes from provided
    layer
  bitbake: bitbake-layers: show-recipes: Enable remove the (skipped) tag

 lib/bblayers/query.py | 39 ++++++++++++++++++++++++---------------
 1 file changed, 24 insertions(+), 15 deletions(-)

-- 
2.7.4



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

end of thread, other threads:[~2019-09-17 22:29 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-13  3:58 [PATCH 0/3] bitbake-layers show-recipes minor enhancement Yeoh Ee Peng
2019-09-13  3:58 ` [PATCH 1/3] bitbake: bitbake-layers: show-recipes: Show unique packagenames Yeoh Ee Peng
2019-09-17 22:25   ` Paul Eggleton
2019-09-13  3:58 ` [PATCH 2/3] bitbake: bitbake-layers: show-recipes: Select recipes from provided layer Yeoh Ee Peng
2019-09-13  3:58 ` [PATCH 3/3] bitbake: bitbake-layers: show-recipes: Enable remove the (skipped) tag Yeoh Ee Peng
2019-09-17 22:29   ` Paul Eggleton
  -- strict thread matches above, loose matches on Subject: below --
2019-09-13  3:58 [PATCH 0/3] bitbake-layers show-recipes minor enhancement Yeoh Ee Peng

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.