From: "Schmidt, Adriaan" <adriaan.schmidt@siemens.com>
To: Anton Mikanovich <amikan@ilbers.de>,
"isar-users@googlegroups.com" <isar-users@googlegroups.com>
Subject: RE: [PATCH v4 18/21] isar-sstate: adopt sstate maintenance script
Date: Mon, 8 Aug 2022 06:56:58 +0000 [thread overview]
Message-ID: <AS4PR10MB5318FD7D1907F1B0459D06F5ED639@AS4PR10MB5318.EURPRD10.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <20220805131035.22844-19-amikan@ilbers.de>
Anton Mikanovich, Freitag, 5. August 2022 15:11:
> Fix sstate maintenance helper script to work with updated Bitbake
> siginfo data format.
>
> Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
> ---
> scripts/isar-sstate | 17 +++++++----------
> 1 file changed, 7 insertions(+), 10 deletions(-)
>
> diff --git a/scripts/isar-sstate b/scripts/isar-sstate
> index 3a1945e..2b0addf 100755
> --- a/scripts/isar-sstate
> +++ b/scripts/isar-sstate
> @@ -126,7 +126,7 @@ import shutil
> import sys
> from tempfile import NamedTemporaryFile
> import time
> -import pickle
> +import json
>
> sys.path.insert(0, os.path.join(os.path.dirname(os.path.realpath(__file__)),
> '..', 'bitbake', 'lib'))
> from bb.siggen import compare_sigfiles
> @@ -808,20 +808,17 @@ def sstate_lint(target, verbose, sources_dir,
> build_dir, exit_code, **kwargs):
> hits_other = 0
> for sig in cache_sigs.values():
> sig_file = target.download(sig.path)
> - with open(sig_file, 'rb') as f:
> - try:
> - sigdata_raw = pickle.Unpickler(f)
> - sigdata = sigdata_raw.load()
> - except:
> - # invalid file or format... never mind
> - continue
> + with bb.compress.zstd.open(sig_file, "rt", encoding="utf-8",
> num_threads=1) as f:
> + sigdata = json.load(f, object_hook=bb.siggen.SetDecoder)
> +
> + bb.siggen.handle_renames(sigdata)
The try/catch introduced in a4df1824 was lost during rebase.
The following patch (on top of yours) brings it back.
diff --git a/scripts/isar-sstate b/scripts/isar-sstate
index 2b0addf1..b6b5a1c2 100755
--- a/scripts/isar-sstate
+++ b/scripts/isar-sstate
@@ -808,32 +808,35 @@ def sstate_lint(target, verbose, sources_dir, build_dir, exit_code, **kwargs):
hits_other = 0
for sig in cache_sigs.values():
sig_file = target.download(sig.path)
- with bb.compress.zstd.open(sig_file, "rt", encoding="utf-8", num_threads=1) as f:
- sigdata = json.load(f, object_hook=bb.siggen.SetDecoder)
-
+ try:
+ with bb.compress.zstd.open(sig_file, "rt", encoding="utf-8", num_threads=1) as f:
+ sigdata = json.load(f, object_hook=bb.siggen.SetDecoder)
bb.siggen.handle_renames(sigdata)
+ except:
+ # invalid file or format... never mind
+ continue
- pn_issues = []
- for name, val in sigdata['varvals'].items():
- if not name[0].isupper():
- continue
- if sigdata['basehash_ignore_vars'] and name in sigdata['basehash_ignore_vars'] or \
- sigdata['taskhash_ignore_tasks'] and name in sigdata['taskhash_ignore_tasks'] or \
- name in ADDITIONAL_IGNORED_VARNAMES:
- continue
- if not val or not val[0] == '/':
- continue
- task = sigdata['task']
- if val.startswith(build_dir):
- pn_issues.append(f'\033[0;31m-> path in build-dir: {name} = "{val}"\033[0m')
- hits_builddir += 1
- elif val.startswith(sources_dir):
- pn_issues.append(f'\033[0;31m-> path in sources-dir: {name} = "{val}"\033[0m')
- hits_srcdir += 1
- else:
- hits_other += 1
- if verbose:
- pn_issues.append(f'\033[0;34m-> other absolute path: {name} = "{val}"\033[0m')
+ pn_issues = []
+ for name, val in sigdata['varvals'].items():
+ if not name[0].isupper():
+ continue
+ if sigdata['basehash_ignore_vars'] and name in sigdata['basehash_ignore_vars'] or \
+ sigdata['taskhash_ignore_tasks'] and name in sigdata['taskhash_ignore_tasks'] or \
+ name in ADDITIONAL_IGNORED_VARNAMES:
+ continue
+ if not val or not val[0] == '/':
+ continue
+ task = sigdata['task']
+ if val.startswith(build_dir):
+ pn_issues.append(f'\033[0;31m-> path in build-dir: {name} = "{val}"\033[0m')
+ hits_builddir += 1
+ elif val.startswith(sources_dir):
+ pn_issues.append(f'\033[0;31m-> path in sources-dir: {name} = "{val}"\033[0m')
+ hits_srcdir += 1
+ else:
+ hits_other += 1
+ if verbose:
+ pn_issues.append(f'\033[0;34m-> other absolute path: {name} = "{val}"\033[0m')
if len(pn_issues) > 0:
print(f"\033[1;33m==== issues found in {sig.arch}:{sig.pn}:{sig.task} ({sig.hash[:8]}) ====\033[0m")
print('\n'.join(pn_issues))
Adriaan
>
> pn_issues = []
> for name, val in sigdata['varvals'].items():
> if not name[0].isupper():
> continue
> - if sigdata['basewhitelist'] and name in
> sigdata['basewhitelist'] or \
> - sigdata['taskwhitelist'] and name in
> sigdata['taskwhitelist'] or \
> + if sigdata['basehash_ignore_vars'] and name in
> sigdata['basehash_ignore_vars'] or \
> + sigdata['taskhash_ignore_tasks'] and name in
> sigdata['taskhash_ignore_tasks'] or \
> name in ADDITIONAL_IGNORED_VARNAMES:
> continue
> if not val or not val[0] == '/':
> --
> 2.17.1
>
> --
> You received this message because you are subscribed to the Google Groups
> "isar-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to isar-users+unsubscribe@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/isar-users/20220805131035.22844-19-
> amikan%40ilbers.de.
next prev parent reply other threads:[~2022-08-08 6:57 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-05 13:10 [PATCH v4 00/21] Migrate to Bitbake 2.0 Anton Mikanovich
2022-08-05 13:10 ` [PATCH v4 01/21] meta: change deprecated parse calls Anton Mikanovich
2022-08-05 13:10 ` [PATCH v4 02/21] scripts/contrib: Add override conversion script Anton Mikanovich
2022-08-05 13:10 ` [PATCH v4 03/21] scripts/contrib: configure " Anton Mikanovich
2022-08-05 13:10 ` [PATCH v4 04/21] meta-isar: set default branch names Anton Mikanovich
2022-08-05 13:10 ` [PATCH v4 05/21] meta: remove non recommended syntax Anton Mikanovich
2022-08-05 13:10 ` [PATCH v4 06/21] bitbake: Update to Bitbake 2.0.1 Anton Mikanovich
2022-08-05 13:10 ` [PATCH v4 07/21] doc: require zstd tool Anton Mikanovich
2022-08-05 13:10 ` [PATCH v4 08/21] meta: update bitbake variables Anton Mikanovich
2022-08-05 13:10 ` [PATCH v4 09/21] bitbake.conf: align hash vars with openembedded Anton Mikanovich
2022-08-05 13:21 ` Anton Mikanovich
2022-08-08 6:40 ` Schmidt, Adriaan
2022-08-05 13:10 ` [PATCH v4 10/21] meta: mark network and sudo tasks Anton Mikanovich
2022-08-05 13:29 ` Anton Mikanovich
2022-08-05 13:10 ` [PATCH v4 11/21] meta: update overrides syntax Anton Mikanovich
2022-08-05 13:10 ` [PATCH v4 12/21] sstate: update bbclass Anton Mikanovich
2022-08-05 13:10 ` [PATCH v4 13/21] bitbake.conf: declare default XZ and ZSTD options Anton Mikanovich
2022-08-05 13:10 ` [PATCH v4 14/21] Revert "devshell: Use different termination test to avoid warnings" Anton Mikanovich
2022-08-05 13:10 ` [PATCH v4 15/21] meta: align with OE-core libraries update Anton Mikanovich
2022-08-05 13:10 ` [PATCH v4 16/21] Revert "Revert "devshell: Use different termination test to avoid warnings"" Anton Mikanovich
2022-08-05 13:10 ` [PATCH v4 17/21] CI: Adopt tests to syntax change Anton Mikanovich
2022-08-05 13:10 ` [PATCH v4 18/21] isar-sstate: adopt sstate maintenance script Anton Mikanovich
2022-08-08 6:56 ` Schmidt, Adriaan [this message]
2022-08-05 13:10 ` [PATCH v4 19/21] Revert "bitbake: Make 3.6.0 the minimum python version" Anton Mikanovich
2022-08-05 13:10 ` [PATCH v4 20/21] Revert "utils/ply: Change md5 usages to work on FIPS enabled hosts" Anton Mikanovich
2022-08-05 13:10 ` [PATCH v4 21/21] RECIPE-API-CHANGELOG: Add tips after bitbake version update Anton Mikanovich
2022-08-10 8:01 ` [PATCH v4 00/21] Migrate to Bitbake 2.0 Henning Schild
2022-08-10 8:42 ` Anton Mikanovich
2022-08-10 15:54 ` Henning Schild
2022-08-10 16:20 ` Henning Schild
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=AS4PR10MB5318FD7D1907F1B0459D06F5ED639@AS4PR10MB5318.EURPRD10.PROD.OUTLOOK.COM \
--to=adriaan.schmidt@siemens.com \
--cc=amikan@ilbers.de \
--cc=isar-users@googlegroups.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox