All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 08/11] support/scripts/pkg-stats: add generic package status field
Date: Fri, 3 Jan 2020 16:34:09 +0100	[thread overview]
Message-ID: <20200103163409.141a5e8a@windsurf> (raw)
In-Reply-To: <20200103151849.10956-9-heiko.thiery@gmail.com>

Hello,

On Fri,  3 Jan 2020 16:18:45 +0100
Heiko Thiery <heiko.thiery@gmail.com> wrote:

> diff --git a/support/scripts/pkg-stats b/support/scripts/pkg-stats
> index 324700adbf..b0c2db2b93 100755
> --- a/support/scripts/pkg-stats
> +++ b/support/scripts/pkg-stats
> @@ -112,6 +112,7 @@ class Package:
>          self.url_status = None
>          self.url_worker = None
>          self.rm_version = {'status': RM_API_STATUS_ERROR, 'version': None, 'id': None}
> +        self.status = {}
>  
>      def pkgvar(self):
>          return self.name.upper().replace("-", "_")
> @@ -121,6 +122,7 @@ class Package:
>          Fills in the .url field
>          """
>          self.url_status = "No Config.in"
> +        self.status['url'] = ("error", "no Config.in")

Here it is duplicating the url_status field, I believe we want to avoid
that.

>          for filename in os.listdir(self.pkg_path):
>              if fnmatch.fnmatch(filename, 'Config.*'):
>                  fp = open(os.path.join(self.pkg_path, filename), "r")
> @@ -128,9 +130,11 @@ class Package:
>                      if URL_RE.match(config_line):
>                          self.url = config_line.strip()
>                          self.url_status = "Found"
> +                        self.status['url'] = ("ok", "found")

Ditto.

>                          fp.close()
>                          return
>                  self.url_status = "Missing"
> +                self.status['url'] = ("error", "missing")

Ditto.

>                  fp.close()
>  
>      def set_infra(self):
> @@ -155,11 +159,16 @@ class Package:
>          Fills in the .has_license and .has_license_files fields
>          """
>          var = self.pkgvar()
> +        self.status['license'] = ("error", "missing")
> +        self.status['license-files'] = ("error", "missing")
>          if var in self.all_licenses:
>              self.has_license = True
>              self.license = self.all_licenses[var]
> +            self.status['license'] = ("ok", "found")
> +
>          if var in self.all_license_files:
>              self.has_license_files = True
> +            self.status['license-files'] = ("ok", "found")

Here it's duplicating self.has_license and self.has_license_files
basically.

>      def set_hash_info(self):
>          """
> @@ -167,6 +176,10 @@ class Package:
>          """
>          hashpath = os.path.join(self.pkg_path, self.name + '.hash')
>          self.has_hash = os.path.exists(hashpath)
> +        if self.has_hash:
> +            self.status['hash'] = ("ok", "found")
> +        else:
> +            self.status['hash'] = ("error", "missing")

Same for self.has_hash.

Can we do better ? Maybe the issues is that pkg-stats does both
extracting the data to a JSON format *and* presenting it as HTML. Maybe
it should be separated into two tools:

 - One doing the data extraction and generation of JSON

 - One using the JSON to produce the HTML page, which would be replaced
   by your new site

I'm not sure exactly how to go, but I'm not a big fan of this patch
that duplicates information that already exists (and which doesn't
explain why).

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

  reply	other threads:[~2020-01-03 15:34 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-03 15:18 [Buildroot] [PATCH 00/11] pkg-stats json output improvements Heiko Thiery
2020-01-03 15:18 ` [Buildroot] [PATCH 01/11] support/scripts/pkg-stats: store latest version in a hash Heiko Thiery
2020-01-03 15:18 ` [Buildroot] [PATCH 02/11] support/scripts/pkg-stats: store pkg dir path Heiko Thiery
2020-01-03 15:21   ` Thomas Petazzoni
2020-01-03 18:40   ` Avraham Shukron
2020-01-03 15:18 ` [Buildroot] [PATCH 03/11] support/scripts/pkg-stats: store patch info in a hash Heiko Thiery
2020-01-03 15:23   ` Thomas Petazzoni
2020-01-03 16:23     ` Heiko Thiery
2020-01-03 16:26       ` Thomas Petazzoni
2020-01-03 16:31         ` Heiko Thiery
2020-01-03 15:18 ` [Buildroot] [PATCH 04/11] support/scripts/pkg-stats: do not exclued pkg name in json output Heiko Thiery
2020-01-03 15:24   ` Thomas Petazzoni
2020-01-03 16:29     ` Heiko Thiery
2020-01-03 15:18 ` [Buildroot] [PATCH 05/11] support/scripts/pkg-stats: parse and set developers info Heiko Thiery
2020-01-03 15:26   ` Thomas Petazzoni
2020-01-03 16:32     ` Heiko Thiery
2020-01-03 16:39       ` Thomas Petazzoni
2020-01-05 19:18         ` Arnout Vandecappelle
2020-01-05 21:49           ` Heiko Thiery
2020-01-03 15:18 ` [Buildroot] [PATCH 06/11] support/scripts/pkg-stats: store licences of package Heiko Thiery
2020-01-03 15:28   ` Thomas Petazzoni
2020-01-03 16:36     ` Heiko Thiery
2020-01-03 15:18 ` [Buildroot] [PATCH 07/11] support/scripts/pkg-stats: store dependencies " Heiko Thiery
2020-01-03 15:29   ` Thomas Petazzoni
2020-01-03 16:39     ` Heiko Thiery
2020-01-04  9:39       ` Thomas Petazzoni
2020-01-04 12:28         ` Heiko Thiery
2020-01-03 15:18 ` [Buildroot] [PATCH 08/11] support/scripts/pkg-stats: add generic package status field Heiko Thiery
2020-01-03 15:34   ` Thomas Petazzoni [this message]
2020-01-03 16:52     ` Heiko Thiery
2020-01-03 15:18 ` [Buildroot] [PATCH 09/11] support/scripts/pkg-stats; use url status from dict for check Heiko Thiery
2020-01-03 15:18 ` [Buildroot] [PATCH 10/11] support/scripts/pkg-stats: add package count to stats Heiko Thiery
2020-01-03 15:35   ` Thomas Petazzoni
2020-01-03 16:43     ` Heiko Thiery
2020-01-03 15:18 ` [Buildroot] [PATCH 11/11] support/scripts/pkg-stats: create and store defconfig information Heiko Thiery
2020-01-03 15:38   ` Thomas Petazzoni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200103163409.141a5e8a@windsurf \
    --to=thomas.petazzoni@bootlin.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.