All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] linux: indicate proper CPE prefix
@ 2021-01-07 21:13 Thomas Petazzoni
  2021-01-07 21:13 ` [Buildroot] [PATCH] support/scripts/pkg-stats: properly handle host packages with -c option Thomas Petazzoni
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2021-01-07 21:13 UTC (permalink / raw)
  To: buildroot

The CPE type of the Linux kernel is special, it should be "o", unlike
all other packages that use "a". We therefore need to override
<pkg>_CPE_ID_PREFIX, so that the CPE ID of the linux package matches
with the CPE dictionary.

Reported-by: Matt Weber <matthew.weber@rockwellcollins.com>
Cc: Matt Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
 linux/linux.mk | 1 +
 1 file changed, 1 insertion(+)

diff --git a/linux/linux.mk b/linux/linux.mk
index 648f6ea2a5..50d2ae3ff8 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -14,6 +14,7 @@ LINUX_LICENSE_FILES = \
 endif
 LINUX_CPE_ID_VENDOR = $(LINUX_NAME)
 LINUX_CPE_ID_NAME = $(LINUX_NAME)_kernel
+LINUX_CPE_ID_PREFIX = cpe:2.3:o
 
 define LINUX_HELP_CMDS
 	@echo '  linux-menuconfig       - Run Linux kernel menuconfig'
-- 
2.29.2

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

* [Buildroot] [PATCH] support/scripts/pkg-stats: properly handle host packages with -c option
  2021-01-07 21:13 [Buildroot] [PATCH] linux: indicate proper CPE prefix Thomas Petazzoni
@ 2021-01-07 21:13 ` Thomas Petazzoni
  2021-01-07 21:27   ` Matthew Weber
  2021-01-07 21:32   ` Yann E. MORIN
  2021-01-07 21:26 ` [Buildroot] [PATCH] linux: indicate proper CPE prefix Matthew Weber
  2021-01-09 16:06 ` Yann E. MORIN
  2 siblings, 2 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2021-01-07 21:13 UTC (permalink / raw)
  To: buildroot

In commit 7a607dab336e7f78ab069cff1b503d0688950583
("support/scripts/pkg-stats: support generating stats based on
configured packages"), we added a -c option to pkg-stats to generate a
report based on the list of packages enabled in the configuration,
rather than for all packages.

This is done based on the list of packages returned in JSON format by
"make show-info". However, this JSON output contains really the actual
name of packages, including their host- prefix for host packages. Due
to this, none of the host packages were matching and therefore
reported in the pkg-stats -c output.

This commit fixes that by stripping the host- prefix for host
packages.

Reported-by: Matt Weber <matthew.weber@rockwellcollins.com>
Cc: Matt Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
 support/scripts/pkg-stats | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/support/scripts/pkg-stats b/support/scripts/pkg-stats
index 4a9ff1ffa0..eabbcc72b6 100755
--- a/support/scripts/pkg-stats
+++ b/support/scripts/pkg-stats
@@ -353,7 +353,13 @@ def get_pkglist(npackages, package_list):
 def get_config_packages():
     cmd = ["make", "--no-print-directory", "show-info"]
     js = json.loads(subprocess.check_output(cmd))
-    return js.keys()
+    pkgs = list()
+    for k, v in js.items():
+        if v["type"] == "host":
+            pkgs.append(k[5:])
+        else:
+            pkgs.append(k)
+    return pkgs
 
 
 def package_init_make_info():
-- 
2.29.2

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

* [Buildroot] [PATCH] linux: indicate proper CPE prefix
  2021-01-07 21:13 [Buildroot] [PATCH] linux: indicate proper CPE prefix Thomas Petazzoni
  2021-01-07 21:13 ` [Buildroot] [PATCH] support/scripts/pkg-stats: properly handle host packages with -c option Thomas Petazzoni
@ 2021-01-07 21:26 ` Matthew Weber
  2021-01-09 16:06 ` Yann E. MORIN
  2 siblings, 0 replies; 9+ messages in thread
From: Matthew Weber @ 2021-01-07 21:26 UTC (permalink / raw)
  To: buildroot

Thomas,


On Thu, Jan 7, 2021 at 3:14 PM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> The CPE type of the Linux kernel is special, it should be "o", unlike
> all other packages that use "a". We therefore need to override
> <pkg>_CPE_ID_PREFIX, so that the CPE ID of the linux package matches
> with the CPE dictionary.
>
> Reported-by: Matt Weber <matthew.weber@rockwellcollins.com>
> Cc: Matt Weber <matthew.weber@rockwellcollins.com>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> ---
>  linux/linux.mk | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/linux/linux.mk b/linux/linux.mk
> index 648f6ea2a5..50d2ae3ff8 100644
> --- a/linux/linux.mk
> +++ b/linux/linux.mk
> @@ -14,6 +14,7 @@ LINUX_LICENSE_FILES = \
>  endif
>  LINUX_CPE_ID_VENDOR = $(LINUX_NAME)
>  LINUX_CPE_ID_NAME = $(LINUX_NAME)_kernel
> +LINUX_CPE_ID_PREFIX = cpe:2.3:o
>

Tested-by: Matt Weber <matthew.weber@rockwellcollins.com>

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

* [Buildroot] [PATCH] support/scripts/pkg-stats: properly handle host packages with -c option
  2021-01-07 21:13 ` [Buildroot] [PATCH] support/scripts/pkg-stats: properly handle host packages with -c option Thomas Petazzoni
@ 2021-01-07 21:27   ` Matthew Weber
  2021-01-07 21:32   ` Yann E. MORIN
  1 sibling, 0 replies; 9+ messages in thread
From: Matthew Weber @ 2021-01-07 21:27 UTC (permalink / raw)
  To: buildroot

Thomas,

On Thu, Jan 7, 2021 at 3:14 PM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> In commit 7a607dab336e7f78ab069cff1b503d0688950583
> ("support/scripts/pkg-stats: support generating stats based on
> configured packages"), we added a -c option to pkg-stats to generate a
> report based on the list of packages enabled in the configuration,
> rather than for all packages.
>
> This is done based on the list of packages returned in JSON format by
> "make show-info". However, this JSON output contains really the actual
> name of packages, including their host- prefix for host packages. Due
> to this, none of the host packages were matching and therefore
> reported in the pkg-stats -c output.
>
> This commit fixes that by stripping the host- prefix for host
> packages.
>
> Reported-by: Matt Weber <matthew.weber@rockwellcollins.com>
> Cc: Matt Weber <matthew.weber@rockwellcollins.com>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> ---
>  support/scripts/pkg-stats | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/support/scripts/pkg-stats b/support/scripts/pkg-stats
> index 4a9ff1ffa0..eabbcc72b6 100755
> --- a/support/scripts/pkg-stats
> +++ b/support/scripts/pkg-stats
> @@ -353,7 +353,13 @@ def get_pkglist(npackages, package_list):
>  def get_config_packages():
>      cmd = ["make", "--no-print-directory", "show-info"]
>      js = json.loads(subprocess.check_output(cmd))
> -    return js.keys()
> +    pkgs = list()
> +    for k, v in js.items():
> +        if v["type"] == "host":
> +            pkgs.append(k[5:])
> +        else:
> +            pkgs.append(k)
> +    return pkgs
>

Tested-by: Matt Weber <matthew.weber@rockwellcollins.com>

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

* [Buildroot] [PATCH] support/scripts/pkg-stats: properly handle host packages with -c option
  2021-01-07 21:13 ` [Buildroot] [PATCH] support/scripts/pkg-stats: properly handle host packages with -c option Thomas Petazzoni
  2021-01-07 21:27   ` Matthew Weber
@ 2021-01-07 21:32   ` Yann E. MORIN
  2021-01-07 21:34     ` Thomas Petazzoni
  1 sibling, 1 reply; 9+ messages in thread
From: Yann E. MORIN @ 2021-01-07 21:32 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2021-01-07 22:13 +0100, Thomas Petazzoni spake thusly:
> In commit 7a607dab336e7f78ab069cff1b503d0688950583
> ("support/scripts/pkg-stats: support generating stats based on
> configured packages"), we added a -c option to pkg-stats to generate a
> report based on the list of packages enabled in the configuration,
> rather than for all packages.
> 
> This is done based on the list of packages returned in JSON format by
> "make show-info". However, this JSON output contains really the actual
> name of packages, including their host- prefix for host packages. Due
> to this, none of the host packages were matching and therefore
> reported in the pkg-stats -c output.
> 
> This commit fixes that by stripping the host- prefix for host
> packages.

I think the correct fix would be for the json output to already contain
the base name of the package, and the script to use that field, rather
than the key, as a package name. That way, the behaviour would be the
same for both target and host packages.

Something like:

    diff --git a/package/pkg-utils.mk b/package/pkg-utils.mk
    index a2cc160d0b..0f9d612f12 100644
    --- a/package/pkg-utils.mk
    +++ b/package/pkg-utils.mk
    @@ -91,6 +91,7 @@ endef
     # $(1): upper-case package or filesystem name
     define json-info
     	"$($(1)_NAME)": {
    +		"name": "$($(1)_RAWNAME)",
     		"type": "$($(1)_TYPE)",
     		$(if $(filter rootfs,$($(1)_TYPE)), \
     			$(call _json-info-fs,$(1)), \

Regards,
Yann E. MORIN.

> Reported-by: Matt Weber <matthew.weber@rockwellcollins.com>
> Cc: Matt Weber <matthew.weber@rockwellcollins.com>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> ---
>  support/scripts/pkg-stats | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/support/scripts/pkg-stats b/support/scripts/pkg-stats
> index 4a9ff1ffa0..eabbcc72b6 100755
> --- a/support/scripts/pkg-stats
> +++ b/support/scripts/pkg-stats
> @@ -353,7 +353,13 @@ def get_pkglist(npackages, package_list):
>  def get_config_packages():
>      cmd = ["make", "--no-print-directory", "show-info"]
>      js = json.loads(subprocess.check_output(cmd))
> -    return js.keys()
> +    pkgs = list()
> +    for k, v in js.items():
> +        if v["type"] == "host":
> +            pkgs.append(k[5:])
> +        else:
> +            pkgs.append(k)
> +    return pkgs
>  
>  
>  def package_init_make_info():
> -- 
> 2.29.2
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH] support/scripts/pkg-stats: properly handle host packages with -c option
  2021-01-07 21:32   ` Yann E. MORIN
@ 2021-01-07 21:34     ` Thomas Petazzoni
  2021-01-08 21:37       ` Yann E. MORIN
  0 siblings, 1 reply; 9+ messages in thread
From: Thomas Petazzoni @ 2021-01-07 21:34 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu, 7 Jan 2021 22:32:07 +0100
"Yann E. MORIN" <yann.morin.1998@free.fr> wrote:

> I think the correct fix would be for the json output to already contain
> the base name of the package, and the script to use that field, rather
> than the key, as a package name. That way, the behaviour would be the
> same for both target and host packages.

Right, that could certainly work as well.

> 
> Something like:
> 
>     diff --git a/package/pkg-utils.mk b/package/pkg-utils.mk
>     index a2cc160d0b..0f9d612f12 100644
>     --- a/package/pkg-utils.mk
>     +++ b/package/pkg-utils.mk
>     @@ -91,6 +91,7 @@ endef
>      # $(1): upper-case package or filesystem name
>      define json-info
>      	"$($(1)_NAME)": {
>     +		"name": "$($(1)_RAWNAME)",

"name" or "rawname" ?

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

* [Buildroot] [PATCH] support/scripts/pkg-stats: properly handle host packages with -c option
  2021-01-07 21:34     ` Thomas Petazzoni
@ 2021-01-08 21:37       ` Yann E. MORIN
  2021-01-11 21:25         ` Arnout Vandecappelle
  0 siblings, 1 reply; 9+ messages in thread
From: Yann E. MORIN @ 2021-01-08 21:37 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2021-01-07 22:34 +0100, Thomas Petazzoni spake thusly:
> On Thu, 7 Jan 2021 22:32:07 +0100
> "Yann E. MORIN" <yann.morin.1998@free.fr> wrote:
> 
> > I think the correct fix would be for the json output to already contain
> > the base name of the package, and the script to use that field, rather
> > than the key, as a package name. That way, the behaviour would be the
> > same for both target and host packages.
> 
> Right, that could certainly work as well.
> 
> > 
> > Something like:
> > 
> >     diff --git a/package/pkg-utils.mk b/package/pkg-utils.mk
> >     index a2cc160d0b..0f9d612f12 100644
> >     --- a/package/pkg-utils.mk
> >     +++ b/package/pkg-utils.mk
> >     @@ -91,6 +91,7 @@ endef
> >      # $(1): upper-case package or filesystem name
> >      define json-info
> >      	"$($(1)_NAME)": {
> >     +		"name": "$($(1)_RAWNAME)",
> 
> "name" or "rawname" ?

"rawname" is a detail of the naming of our internal variables. WE do not
want to propagate that to the outside world.

"name" is really that: the name of the package, by which people know it
and talk about.

Regards,
Yann E. MORIN.

> Thomas
> -- 
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH] linux: indicate proper CPE prefix
  2021-01-07 21:13 [Buildroot] [PATCH] linux: indicate proper CPE prefix Thomas Petazzoni
  2021-01-07 21:13 ` [Buildroot] [PATCH] support/scripts/pkg-stats: properly handle host packages with -c option Thomas Petazzoni
  2021-01-07 21:26 ` [Buildroot] [PATCH] linux: indicate proper CPE prefix Matthew Weber
@ 2021-01-09 16:06 ` Yann E. MORIN
  2 siblings, 0 replies; 9+ messages in thread
From: Yann E. MORIN @ 2021-01-09 16:06 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2021-01-07 22:13 +0100, Thomas Petazzoni spake thusly:
> The CPE type of the Linux kernel is special, it should be "o", unlike
> all other packages that use "a". We therefore need to override
> <pkg>_CPE_ID_PREFIX, so that the CPE ID of the linux package matches
> with the CPE dictionary.
> 
> Reported-by: Matt Weber <matthew.weber@rockwellcollins.com>
> Cc: Matt Weber <matthew.weber@rockwellcollins.com>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

Applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
>  linux/linux.mk | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/linux/linux.mk b/linux/linux.mk
> index 648f6ea2a5..50d2ae3ff8 100644
> --- a/linux/linux.mk
> +++ b/linux/linux.mk
> @@ -14,6 +14,7 @@ LINUX_LICENSE_FILES = \
>  endif
>  LINUX_CPE_ID_VENDOR = $(LINUX_NAME)
>  LINUX_CPE_ID_NAME = $(LINUX_NAME)_kernel
> +LINUX_CPE_ID_PREFIX = cpe:2.3:o
>  
>  define LINUX_HELP_CMDS
>  	@echo '  linux-menuconfig       - Run Linux kernel menuconfig'
> -- 
> 2.29.2
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH] support/scripts/pkg-stats: properly handle host packages with -c option
  2021-01-08 21:37       ` Yann E. MORIN
@ 2021-01-11 21:25         ` Arnout Vandecappelle
  0 siblings, 0 replies; 9+ messages in thread
From: Arnout Vandecappelle @ 2021-01-11 21:25 UTC (permalink / raw)
  To: buildroot



On 08/01/2021 22:37, Yann E. MORIN wrote:
> Thomas, All,
> 
> On 2021-01-07 22:34 +0100, Thomas Petazzoni spake thusly:
>> On Thu, 7 Jan 2021 22:32:07 +0100
>> "Yann E. MORIN" <yann.morin.1998@free.fr> wrote:
>>
>>> I think the correct fix would be for the json output to already contain
>>> the base name of the package, and the script to use that field, rather
>>> than the key, as a package name. That way, the behaviour would be the
>>> same for both target and host packages.
>>
>> Right, that could certainly work as well.
>>
>>>
>>> Something like:
>>>
>>>     diff --git a/package/pkg-utils.mk b/package/pkg-utils.mk
>>>     index a2cc160d0b..0f9d612f12 100644
>>>     --- a/package/pkg-utils.mk
>>>     +++ b/package/pkg-utils.mk
>>>     @@ -91,6 +91,7 @@ endef
>>>      # $(1): upper-case package or filesystem name
>>>      define json-info
>>>      	"$($(1)_NAME)": {
>>>     +		"name": "$($(1)_RAWNAME)",
>>
>> "name" or "rawname" ?
> 
> "rawname" is a detail of the naming of our internal variables. WE do not
> want to propagate that to the outside world.
> 
> "name" is really that: the name of the package, by which people know it
> and talk about. 

 +1

 Regards,
 Arnout

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

end of thread, other threads:[~2021-01-11 21:25 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-07 21:13 [Buildroot] [PATCH] linux: indicate proper CPE prefix Thomas Petazzoni
2021-01-07 21:13 ` [Buildroot] [PATCH] support/scripts/pkg-stats: properly handle host packages with -c option Thomas Petazzoni
2021-01-07 21:27   ` Matthew Weber
2021-01-07 21:32   ` Yann E. MORIN
2021-01-07 21:34     ` Thomas Petazzoni
2021-01-08 21:37       ` Yann E. MORIN
2021-01-11 21:25         ` Arnout Vandecappelle
2021-01-07 21:26 ` [Buildroot] [PATCH] linux: indicate proper CPE prefix Matthew Weber
2021-01-09 16:06 ` Yann E. MORIN

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.