From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7172560304523444224 X-Received: by 2002:a05:6830:2b2b:b0:66c:52d6:50c8 with SMTP id l43-20020a0568302b2b00b0066c52d650c8mr36782449otv.200.1669991855026; Fri, 02 Dec 2022 06:37:35 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6808:54f:b0:35a:f69:4b04 with SMTP id i15-20020a056808054f00b0035a0f694b04ls1635771oig.6.-pod-prod-gmail; Fri, 02 Dec 2022 06:37:34 -0800 (PST) X-Google-Smtp-Source: AA0mqf799opcz2GyLzBSs5pNWy2IElDCYql3mCAeulRiVxKklyWdhA2Tc9yVudcXZb4DPhjmSiWO X-Received: by 2002:a05:6808:8c9:b0:351:1a63:a74c with SMTP id k9-20020a05680808c900b003511a63a74cmr25499410oij.288.1669991854558; Fri, 02 Dec 2022 06:37:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669991854; cv=none; d=google.com; s=arc-20160816; b=sj5H5UKWoYOkNH2K55dn7WXWs0+zXkuRM4mSWPOfdi6M86URmZQUk7T24qVTj+mL8Z XeOor61JpHGIhvtlGPBhSYMMn/12JkhFQ9rDcIOJt/E0LvamXKBRHtc3fNsYDgHZNs44 zvWGHeG2MeOhjv89t4knYyl4mVRjrQZRH32fZEhN5L6M8f/DC9+LQHGbxrwDzawV5HGg P+6KbrTUGbLPKpoETAn8JSRCG60QziXJJnlUZl+lFjSI8xOgVQFz1D/oK5QmTxzbgW8y ESt3GeE5/8d33ZfY2lQSAw+3aG9Kh73Q1wf7Fg6Be7iA+xoPMNs/PNJ8RNUKNx2c6e8V 278w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from; bh=plydLOYNi4BJ9B+zKiUfw6vylzeeqy4jLcvJJoZwl5c=; b=uwY47i7/DYxiNizVlxJaeOh6zj6Z43K1G5rTeSlhDYEmJ4YiJnnPSHnvfCMDlzpaty lGPGgqqogF95cAbWCX7EORxCDp2DmlIoUaDNSM8Tj5ot6r2uMG5f1iUjSZd3LjTlXGYV njugf+rtGKKNU35aWKhj6XgKugzHQsbfubAubI5C7qy+U3uQeV/Q/OrhFyAr2PXrowty Zzwq/b2I+vSmb0XeJ49Nf74Lrd2YDIb0odZImIwui2S6BfDzRY36DOPVgfe6Mu8SpC3g x0svKORLY/u1w10lItSK/FvRN0quXKA9cZs8N/gZUGl+FDKEdNR5pLkQKQh9dsC43boW aU/g== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de Return-Path: Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id x31-20020a056870a79f00b0013674fbe780si617932oao.4.2022.12.02.06.37.34 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 02 Dec 2022 06:37:34 -0800 (PST) Received-SPF: pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de Received: from alena-nb.promwad.com (mm-69-83-214-37.mgts.dynamic.pppoe.byfly.by [37.214.83.69] (may be forged)) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPSA id 2B2Eb8Ef015256 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 2 Dec 2022 15:37:32 +0100 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Anton Mikanovich , Adriaan Schmidt Subject: [PATCH v5 18/21] isar-sstate: adopt sstate maintenance script Date: Fri, 2 Dec 2022 17:36:58 +0300 Message-Id: <20221202143701.6665-19-amikan@ilbers.de> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20221202143701.6665-1-amikan@ilbers.de> References: <20221202143701.6665-1-amikan@ilbers.de> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-TUID: Aa6ZaTU2Ao1J Fix sstate maintenance helper script to work with updated Bitbake siginfo data format. Signed-off-by: Anton Mikanovich Signed-off-by: Adriaan Schmidt --- scripts/isar-sstate | 70 ++++++++++++++++++++++----------------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/scripts/isar-sstate b/scripts/isar-sstate index 8908b09f..53d0541f 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 @@ -819,41 +819,41 @@ def sstate_lint(target, verbose, sources_dir, build_dir, exit_code, pedantic, ** continue 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 + 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['basewhitelist'] and name in sigdata['basewhitelist'] or \ - sigdata['taskwhitelist'] and name in sigdata['taskwhitelist'] or \ - name in ADDITIONAL_IGNORED_VARNAMES: - continue - if not val: - continue - # remove leading whitespaces possibly added by appending - val = val.lstrip() - if not val[0] == '/': - continue - 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)) + 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: + continue + # remove leading whitespaces possibly added by appending + val = val.lstrip() + if not val[0] == '/': + continue + 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)) target.release(sig_file) sum_hits = hits_srcdir + hits_builddir -- 2.17.1