From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7138032419241721856 X-Received: by 2002:a05:6402:f0a:b0:449:6181:e1b3 with SMTP id i10-20020a0564020f0a00b004496181e1b3mr484268eda.241.1661952684191; Wed, 31 Aug 2022 06:31:24 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:906:a409:b0:73d:11ed:5035 with SMTP id l9-20020a170906a40900b0073d11ed5035ls2698655ejz.0.-pod-prod-gmail; Wed, 31 Aug 2022 06:31:22 -0700 (PDT) X-Google-Smtp-Source: AA6agR5UOL4ILMRSA++zHNjj0/de4VnY3Q+Imu/2t3xlW7mlv6y2UxHVrqgKhYJv7M4mv8YE1Sjf X-Received: by 2002:a17:907:782:b0:740:7120:c6e7 with SMTP id xd2-20020a170907078200b007407120c6e7mr16097927ejb.313.1661952682765; Wed, 31 Aug 2022 06:31:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1661952682; cv=none; d=google.com; s=arc-20160816; b=hpWQqB41KtWKgCs8o4wH3tlwpVFnwYnnLUUPVMzxKMve2E83PJs5zKoZyIYOqfAuLb cWDxeZqb+WQz8dHS474/JHkkdzTAR8iRYa6Z3htGBJCVS5NBpSSTWM0Kl8EwS+aY6j3I lu+UZu/TAMXKpD7hqBw/1XNDXgUi75nsN1tlmIAnTTX7kPvYZnsTf5Njq1xY0Cmu3AnC eOwhshyF/caLNzGO2MdkmCGoU3zwetuz2KOIvIY+hGHwYrm9YmXoEHfEnb0Z6pSUy/6P VvuWFUHaFCP9lHWvYFMYBMTuzOj0rOPlmpADvZpKMNIPSXmtwhCtR/Y6la7JOjZSpV+b gKfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=p9f0jcZcfIVnYcQO+ttTudYD9Du5Ls0CgChgx5VnPQQ=; b=tP+kAQ4W2dlLqfxWSxmWtr7RhWoP+nq9B5GSsNET8DgoefPwufcJ97dEmmFHVqwRIh swhad50y3qi0GwJeX+ZUuL69MEBA8lKAAm+gpxyvh+tnqIVidMYn+uWkWNCnBr2Ud796 73Mq+RCHL4jdf5wJkCWNN7QLME+ZY6g8rRYK9pAtvXwslvhJ+Kh0UuPEzxO3Gx973RsQ mEmPtj1zhToQih+KrU6bucGVFrM28y+3aVWdlSZbmb8g4lBE6Iz/30LZz2LgzmHpKcFR 6ItKd4SRcqtam8OaCg4bBK+tm2dl/eOevgAROc2n/CuWJDX2uXFAWP6Dg3Bj8Lieja+I OKXA== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b="arSny/UP"; spf=pass (google.com: domain of fm-72506-202208311331227bd93a44c51a3250de-pykc5l@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-72506-202208311331227bd93a44c51a3250de-PYKc5l@rts-flowmailer.siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from mta-65-225.siemens.flowmailer.net (mta-65-225.siemens.flowmailer.net. [185.136.65.225]) by gmr-mx.google.com with ESMTPS id g13-20020aa7c84d000000b0044609bb9ed0si605383edt.1.2022.08.31.06.31.22 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 31 Aug 2022 06:31:22 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-72506-202208311331227bd93a44c51a3250de-pykc5l@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) client-ip=185.136.65.225; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b="arSny/UP"; spf=pass (google.com: domain of fm-72506-202208311331227bd93a44c51a3250de-pykc5l@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-72506-202208311331227bd93a44c51a3250de-PYKc5l@rts-flowmailer.siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: by mta-65-225.siemens.flowmailer.net with ESMTPSA id 202208311331227bd93a44c51a3250de for ; Wed, 31 Aug 2022 15:31:22 +0200 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=felix.moessbauer@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=p9f0jcZcfIVnYcQO+ttTudYD9Du5Ls0CgChgx5VnPQQ=; b=arSny/UP6ECQcJOtptY6jIGeR9G70zvOIAGCtbCUbDvG/kJevIpfMyAU5G1Y0rxK9EB//t Fo1PGTLaUfj50tOPIISqcOSoGIUWhIm99LrlcCeByaZtL4WCZ0/sCXkanmBhOu+uXRiMc0uR viwKGEDiT5+kTgD39mz24lHx+C6dA=; From: Felix Moessbauer To: isar-users@googlegroups.com Cc: Felix Moessbauer Subject: [PATCH 2/2] ignore wic tasks in isar-sstate lint Date: Wed, 31 Aug 2022 15:30:57 +0200 Message-Id: <20220831133057.216312-2-felix.moessbauer@siemens.com> In-Reply-To: <20220831133057.216312-1-felix.moessbauer@siemens.com> References: <20220831133057.216312-1-felix.moessbauer@siemens.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-72506:519-21489:flowmailer X-TUID: MxQuvgBUrqOx This patch improves the isar-sstate linter. It adds support to ignore well-known tasks that are not cacheable anyway (e.g. rootfs_wicenv and image_wic). This sensible default can be overwritten by using --pedantic to also check for cachability issues in these tasks. This helps to spot transitive caching issues happening when performing image-in-image builds, but requires special preparation of the calling environment (mainly no absolute paths in BBLAYERS). Signed-off-by: Felix Moessbauer --- scripts/isar-sstate | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/scripts/isar-sstate b/scripts/isar-sstate index 5972144d..c7672656 100755 --- a/scripts/isar-sstate +++ b/scripts/isar-sstate @@ -586,6 +586,9 @@ def arguments(): parser.add_argument( '--build-dir', type=str, default='/build/tmp/', help="lint: absolute path to build folder") + parser.add_argument( + '--pedantic', default=False, action='store_true', + help="lint: also check non-cacheable tasks") parser.add_argument( '--exit-code', type=int, default=None, help="lint: return this instead of number of found issues") @@ -795,8 +798,13 @@ def sstate_analyze(source, target, **kwargs): print('\n'.join(out)) -def sstate_lint(target, verbose, sources_dir, build_dir, exit_code, **kwargs): +def sstate_lint(target, verbose, sources_dir, build_dir, exit_code, pedantic, **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. + # Run in pedantic mode to also look for these issues (e.g. in image-in-image builds) + # To make a build fully cacheable, avoid absolute paths in BBLAYERS + ADDITIONAL_IGNORED_TASKS = list() if pedantic else 'rootfs_wicenv image_wic'.split() if not target.exists(): print(f"WARNING: target {target} does not exist. Nothing to analyze.") return 0 @@ -807,6 +815,9 @@ def sstate_lint(target, verbose, sources_dir, build_dir, exit_code, **kwargs): hits_builddir = 0 hits_other = 0 for sig in cache_sigs.values(): + if sig.task in ADDITIONAL_IGNORED_TASKS: + continue + sig_file = target.download(sig.path) with open(sig_file, 'rb') as f: try: -- 2.30.2