From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 16 Jan 2026 17:15:47 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f62.google.com (mail-wm1-f62.google.com [209.85.128.62]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 60GGFk1d011728 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 16 Jan 2026 17:15:46 +0100 Received: by mail-wm1-f62.google.com with SMTP id 5b1f17b1804b1-47ee3dd7fc8sf18852805e9.3 for ; Fri, 16 Jan 2026 08:15:46 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1768580141; cv=pass; d=google.com; s=arc-20240605; b=g8x+KtdH677ssOBOoQhMyoZuTGTKQeXIkd1aGU8fJ5n9YH1gylEvH0iTCszAVdBUFU ceU5G5PlyrulMNHc0CCFtW2kn35JDG7J9w5x+qrq3JLkCFO+3IDnZuSan+dLS3l4edH/ 8UhX6AJ85GqPEmb9v4ZGm/Rv0rN9cI7oie8T63GNSNgeaMbIfxL7d+8I90A8/yBhYt7U CLRmChurcZD25uRh5RuGlAtpGfnBUIpaVzoYb47bYXa59genCe7Fk53GK9jsjXjrkRru 377OeJtvCqH0LTi3n/XqXgvnvnAM3wavE3EX3hjituJ6ol+a4Md3Z04gH7L6ia1aQ8hG HYAQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :sender:dkim-signature; bh=23aaBaI3vboNLqQf5gATz4Ho3RpCiG0VDaDbP1yzPnI=; fh=tA5mTzWtzse/HfT8wmgpEhdzuZHkCI4+NApu8yQ8HsQ=; b=Y5lSwpKfRQoavx8XreqkVo19FEe+ZfyqXaqtnLQKpMiob56c51N/qN3Ltla44uiNGs wMIkxPmfPE0OEaU08qKjbnM+X/PDVw/a6Z/hp9S2x8QCZvTu2O1vgP+/3BJNr3pY9r7f 05pyduKi+SIMNFyeGnJ1bOmsHi7TYNIKpFLqevHKC/az2TrVhz4YmJ3JFYqZ3GADLFXw 1elJG/rJzOYw1iI4MS+NrbdI02wNSkHi+SBa7qObzdQmrnvg7x48J8eOqfSr4EkAby3X APserKyZWHZgSkwgdhuwX1yTmTAEkS5CsDKBo9IOFb2h5GKZsKt2mmxILZPCOMR5XNl0 1z6A==; darn=ilbers.de ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=wzh@ilbers.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1768580141; x=1769184941; darn=ilbers.de; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:in-reply-to:from:content-language:references:cc :to:subject:user-agent:mime-version:date:message-id:sender:from:to :cc:subject:date:message-id:reply-to; bh=23aaBaI3vboNLqQf5gATz4Ho3RpCiG0VDaDbP1yzPnI=; b=FCDRxDKYkhEa0xbtsaELM1R+9fBEOAnKXa84zOQRyV4W1WRXxHsLT3IuegiTVzfMtx z3FZsFA99Npbe+PKIQfuiWU++AKEulcJ3L4C5ZhijdzUgcBXFS6TjNZ5QzllP9Qlz2Fx EdSX4Gv39oq2aW+6HGME5ytiINjBuVFzuD37F9QnXdIIUI9vv8BU+1Me0ghw1tyU+MdW x+ZcdR9jblOU4Cxfc+lBNTMJPmmgnVncsZznl3pVflEurZnSNANbltb0cL+sH8btXgFW 0ed7uS8JZJ5ueOoNnxYa0fANOgcq0k0b46G2QkgGKvscGWJpE1obfQrdSyTnxCWgpwTq CAQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768580141; x=1769184941; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:in-reply-to :from:content-language:references:cc:to:subject:user-agent :mime-version:date:message-id:x-beenthere:x-gm-message-state:sender :from:to:cc:subject:date:message-id:reply-to; bh=23aaBaI3vboNLqQf5gATz4Ho3RpCiG0VDaDbP1yzPnI=; b=EKZTBTLOVGn1zzE/GTgHOZ9PZEDEusCHBOx576QsttrxVRwu3X6Y+u2r7zY/AjRCWX qgTWHBH6JnrF9EvrKR7dahPvyFwdULxgpA8ES2G7tZEt0BAt4o5JDiSNa8NFHDd2FQj1 phzetV8IdE6AaCTIJgsCO4Hww78HJRiF9ZRn3ylHrevjp+4aQTWPyw+nol4em+sCf1rj ZFIOPwTxDxDqG0plleZvVoWv1z39nDib+283yQurs3XMsJ5UcCiig6e/9JEOjqJnaIjJ eTurtEc3nz5qbp0wnfvZHaayZs4sUC04aoipTyQ/yzFTaIc0SZadcXXtI/BYhI0wea5U UpPw== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AJvYcCWk5P/xZg/5YItKAsERG8XANGdRp8OFodSRf/C8+jQEPmbgKM0J58tiOiCBYwwBoUtnU5PP@ilbers.de X-Gm-Message-State: AOJu0Yzltwy6ar+6Gx4JDBd2asZEZrw3r3dIBvT9/nlOLwT+v6RB1K/g GTzbTm/XCUG4VQzme9LO0sRY95ChBFxMw/W7hohv4L57y120tULZVXZF X-Received: by 2002:a05:600c:1986:b0:475:dcbb:7903 with SMTP id 5b1f17b1804b1-4801eac2e37mr35838035e9.9.1768580141185; Fri, 16 Jan 2026 08:15:41 -0800 (PST) X-BeenThere: isar-users@googlegroups.com; h="AV1CL+GjxkUTeg63RADZxh3L7TIx6fz2RaGKLgsa0T6fCkV45Q==" Received: by 2002:a05:600c:35ce:b0:477:a293:e143 with SMTP id 5b1f17b1804b1-4801d787170ls8201635e9.1.-pod-prod-06-eu; Fri, 16 Jan 2026 08:15:39 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWQavUtT/DGrzmahn1J/IqVhFbzTMQdT0BHPiV0BStdWE/S3FwO6BmYRbKMk/DRduF14tdec4hIxfU0@googlegroups.com X-Received: by 2002:a05:600c:1c1c:b0:47a:814c:ee95 with SMTP id 5b1f17b1804b1-4802319ad40mr28529345e9.12.1768580138929; Fri, 16 Jan 2026 08:15:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1768580138; cv=none; d=google.com; s=arc-20240605; b=Z1m43DwrIwBa3UEj5r+5MkpFfAoTvT87nb/vAP1Mwy6skIgitKnpAFcrIPq/Ad2N7U u4IuZiHvEq0JwO3WDYQqbnNA6cK46Jz1t4H8ffUUB86MN8DTYCh0f56QsMUlomPw9TeN JGL91GMQr8SnXoU1e78rIc6rQ3Pqc+1eHDagczbZ+BZfsn+dBEAK3YigUL49IbgO2Ci8 nT7Zb7BdeLrWWOM+79+wcsQhH2ygl2/S8WzQb8X+VxoECrdPwTVlw1ruMVq2nhxTH9YJ V1vp7HSYXvJJqGscSeCXuOVuYZJWV0LZA9BZdwkq5eFogLu7HqZrANNs43rA94cIlHOS 4cvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id; bh=AY2OK09/Acso+CnmaFtgVcYer1qBLl5FMoxBD4z78AI=; fh=HD803p4E8R8/2Y9pYyjrcn3/uh22XxNoPXVcrMoaJJA=; b=cIQBf88J7WOgFMM6NvmqxPtn3gUC7adVwKYgYKhLJjRPzeUm3ED4Dto1bN2OrbhMXR 6fejBmSco3HJtuU240AOw1IEs5hdzp2FAAby6aXBULSFZvpOG6TqtUueo4KubcBH/Pp6 L/U8xuGYzfgdB6W2c9yTA24Iagn9me+XmBM4012DP5oNOMhHWsDg2DjNPPq0rTz1ovsQ hRLllWEbYbYkqWOCP6B9Z0nVpcyWtPdflIezAnrzGFkSK14dIF0f8ciS6Bkx5bBh2qMk 3nZGJa69M+XSg1GOXLfLurjZ+loN4+H2D0soqouAwCIAcfuHOY11JXysG8jRd5/aB/hR CAJg==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=wzh@ilbers.de Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id 5b1f17b1804b1-47f3b7a705bsi116615e9.0.2026.01.16.08.15.38 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 16 Jan 2026 08:15:38 -0800 (PST) Received-SPF: pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Received: from [192.168.178.117] ([88.130.203.42]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPSA id 60GGFc0a011716 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 16 Jan 2026 17:15:38 +0100 Message-ID: <902eb40a-2092-49fc-ad4e-94faa47ab877@ilbers.de> Date: Fri, 16 Jan 2026 17:15:37 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] isar-sstate: add architecture filtering support To: Tobias Schaffner , isar-users@googlegroups.com Cc: felix.moessbauer@siemens.com References: <20260113133231.1446432-1-tobias.schaffner@siemens.com> Content-Language: en-US From: Zhihang Wei In-Reply-To: <20260113133231.1446432-1-tobias.schaffner@siemens.com> Content-Type: text/plain; charset="UTF-8"; format=flowed X-Spam-Status: No, score=-4.6 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2, RCVD_IN_RP_CERTIFIED,RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS 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-Original-Sender: wzh@ilbers.de X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=wzh@ilbers.de Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-TUID: P8U24dt9zb8Q Applied to next, thanks. Zhihang On 1/13/26 14:32, 'Tobias Schaffner' via isar-users wrote: > Introduce --arch option to filter sstate cache entries of a > specific architecture. > > This can be combined with the existing --filter option to get > entries of a specific architecture matching the filter pattern. > > Signed-off-by: Tobias Schaffner > --- > scripts/isar-sstate | 51 ++++++++++++++++++++++++++------------------- > 1 file changed, 29 insertions(+), 22 deletions(-) > > diff --git a/scripts/isar-sstate b/scripts/isar-sstate > index adf5dc78..ada154e2 100755 > --- a/scripts/isar-sstate > +++ b/scripts/isar-sstate > @@ -583,6 +583,15 @@ class SstateS3Target(SstateTargetBase): > self.tmpfiles = [f for f in self.tmpfiles if not f == download_path] > > > +def apply_filters(items, pn_filter=None, arch=None): > + if pn_filter: > + reg_exp = re.compile(pn_filter) > + items = [x for x in items if reg_exp.match(x.pn)] > + if arch: > + items = [x for x in items if x.arch == arch] > + return items > + > + > def arguments(): > parser = argparse.ArgumentParser() > parser.add_argument( > @@ -606,6 +615,9 @@ def arguments(): > parser.add_argument( > '--filter', type=str, default=None, > help="filter tasks by PN (regex)") > + parser.add_argument( > + '--arch', type=str, default=None, > + help="filter tasks by architecture") > parser.add_argument( > '--sources-dir', type=str, default='/work/', > help="lint: absolute path to sources folder (e.g. layerbase)") > @@ -636,7 +648,7 @@ def arguments(): > return args > > > -def sstate_upload(source, target, verbose, filter, **kwargs): > +def sstate_upload(source, target, verbose, filter, arch, **kwargs): > if not os.path.isdir(source): > print(f"WARNING: source {source} does not exist. Not uploading.") > return 0 > @@ -652,10 +664,11 @@ def sstate_upload(source, target, verbose, filter, **kwargs): > for subdir, dirs, files in os.walk('.'): > target_dirs = subdir.split('/')[1:] > for f in files: > - if filter: > - parts = f.split(':') > - if len(parts) > 1 and not reg_exp.match(parts[1]): > - continue > + parts = f.split(':') > + if filter and len(parts) > 1 and not reg_exp.match(parts[1]): > + continue > + if arch and len(parts) > 5 and parts[5] != arch: > + continue > file_path = (('/'.join(target_dirs) + '/') if len(target_dirs) > 0 else '') + f > if target.exists(file_path): > if verbose: > @@ -674,7 +687,7 @@ def sstate_upload(source, target, verbose, filter, **kwargs): > return 0 > > > -def sstate_clean(target, max_age, max_sig_age, verbose, filter, **kwargs): > +def sstate_clean(target, max_age, max_sig_age, verbose, filter, arch, **kwargs): > def convert_to_seconds(x): > seconds_per_unit = {'s': 1, 'm': 60, 'h': 3600, 'd': 86400, 'w': 604800} > m = re.match(r'^(\d+)(w|d|h|m|s)?', x) > @@ -705,10 +718,9 @@ def sstate_clean(target, max_age, max_sig_age, verbose, filter, **kwargs): > print(f"NOTE: we have links: {links}") > archive_files = [f for f in all_files if f.suffix in ['tgz', 'tar.zst']] > siginfo_files = [f for f in all_files if f.suffix in ['tgz.siginfo', 'tar.zst.siginfo']] > - if filter: > - reg_exp = re.compile(filter) > - archive_files = [f for f in archive_files if reg_exp.match(f.pn)] > - siginfo_files = [f for f in all_files if reg_exp.match(f.pn)] > + archive_files = apply_filters(archive_files, filter, arch) > + siginfo_files = apply_filters(all_files, filter, arch) > + > del_archive_files = [f for f in archive_files if f.age >= max_age_seconds] > del_archive_hashes = [f.hash for f in del_archive_files] > del_siginfo_files = [f for f in siginfo_files if > @@ -726,16 +738,15 @@ def sstate_clean(target, max_age, max_sig_age, verbose, filter, **kwargs): > return 0 > > > -def sstate_info(target, verbose, filter, **kwargs): > +def sstate_info(target, verbose, filter, arch, **kwargs): > if not target.exists(): > print(f"WARNING: cannot access target {target}. No info to show.") > return 0 > > print(f"INFO: scanning {target}") > all_files = target.list_all() > - if filter: > - reg_exp = re.compile(filter) > - all_files = [f for f in all_files if reg_exp.match(f.pn)] > + all_files = apply_filters(all_files, filter, arch) > + > size_gb = sum([x.size for x in all_files]) / 1024.0 / 1024.0 / 1024.0 > print(f"INFO: found {len(all_files)} files ({size_gb:0.2f} GB)") > > @@ -770,7 +781,7 @@ def sstate_info(target, verbose, filter, **kwargs): > return 0 > > > -def sstate_analyze(source, target, filter, **kwargs): > +def sstate_analyze(source, target, filter, arch, **kwargs): > if not os.path.isdir(source): > print(f"WARNING: source {source} does not exist. Nothing to analyze.") > return 0 > @@ -785,9 +796,7 @@ def sstate_analyze(source, target, filter, **kwargs): > > key_tasks = 'dpkg_build rootfs_install bootstrap'.split() > > - if filter: > - reg_exp = re.compile(filter) > - local_sigs = {k: v for k, v in local_sigs.items() if reg_exp.match(v.pn)} > + local_sigs = {k: v for k, v in local_sigs.items() if v in apply_filters([v], filter, arch)} > > check = [k for k, v in local_sigs.items() if v.task in key_tasks] > for local_hash in check: > @@ -849,7 +858,7 @@ def sstate_analyze(source, target, filter, **kwargs): > > > def sstate_lint(target, verbose, sources_dir, build_dir, exit_code, pedantic, lint_stamps, > - excluded_tasks, filter, **kwargs): > + excluded_tasks, filter, arch, **kwargs): > ADDITIONAL_IGNORED_VARNAMES = 'PP'.split() > # only list non-cacheable tasks here > # note that these still can break caching of other tasks that depend on these. > @@ -865,9 +874,7 @@ def sstate_lint(target, verbose, sources_dir, build_dir, exit_code, pedantic, li > else: > cache_sigs = {s.hash: s for s in target.list_all() if s.suffix.endswith('.siginfo')} > > - if filter: > - reg_exp = re.compile(filter) > - cache_sigs = {k: v for k, v in cache_sigs.items() if reg_exp.match(v.pn)} > + cache_sigs = {k: v for k, v in cache_sigs.items() if v in apply_filters([v], filter, arch)} > > hits_srcdir = 0 > hits_builddir = 0 -- 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 visit https://groups.google.com/d/msgid/isar-users/902eb40a-2092-49fc-ad4e-94faa47ab877%40ilbers.de.