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, 11 Apr 2025 16:33:29 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f55.google.com (mail-wm1-f55.google.com [209.85.128.55]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 53BEXSPK018463 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 11 Apr 2025 16:33:28 +0200 Received: by mail-wm1-f55.google.com with SMTP id 5b1f17b1804b1-43efa869b19sf15130275e9.2 for ; Fri, 11 Apr 2025 07:33:28 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1744382003; cv=pass; d=google.com; s=arc-20240605; b=EacX3DAG56gYXOUmd1+V//Z9WEKs01pa8u9mYu1nOTiEfZDsD3frNsiDuk2w64WTBf L6F5SPqOGmmUjzgNEhjYXGMyeePbCLmYX8e3HzSpUvh60AJ4nkhvR6DV9ZxyC86INY0r bZxxYoRbkGMI28vkYcBDu04pLsLzLna/y3A7j4g+ICO6rk1Lymupb/qvxnyn+eQgLso8 ZNuEvui+ErJMKW6We5OvoDQmGFzqASem64Een9rG/rScsJPA52PDdFsJwyk/0IBQJe9I vskRNaOJZYyp6pqyrgWgNoeOqd+InqZtrXv43M5Z16IjjVKKySoQNdiqsY0IDEyKHev2 chXA== 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:reply-to:feedback-id:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=7g3DG1z49BGXT0uRfuwByW+bhf22DpKFCzNFX9cMylw=; fh=8ONLHYXNUN7kZqPS2OAVywIue2Hs/SWdVNPltL5h/zQ=; b=ci61Gu52tnmzKpmdR39bbp4+zcpkokVbGj83eLTpe909A8aRj8VnH4/gJQPGmvP9Bt v05U+v7kgRLyCHH3Vsyz1cMM0z2xyh4RvZxUkvLEL5CyEj5IKw17FPGqQvWrZzVFpy34 FstIw6lZFepwFnvrD4NG9JpCrGFn6hX1isgD5Fk8jIBasqRTOPyaKJnq/QzuVZWiIjnw DcP3SWPqA5L4kQmNmI85ZLhAO2eDG1/4/5RucK5Rl2yvPacR/vSXIfoMFpOparbjhLVO 3t+UZD0SWD/nPE/B4jT5+5q5M+01iUMbndbDKn9I5h1zAje1h3TgK8rCh4SHDyCSPbdu XCjg==; darn=ilbers.de ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=dLysIv1H; spf=pass (google.com: domain of fm-526363-202504111433186638ca3cbdb033eeed-bqurvd@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-526363-202504111433186638ca3cbdb033eeed-bQuRvD@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1744382003; x=1744986803; darn=ilbers.de; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=7g3DG1z49BGXT0uRfuwByW+bhf22DpKFCzNFX9cMylw=; b=C2HMgnz78BHlMAlbqDzNGSTDsY9xwN/HAvE++wmT4sYu4cEXOOkvjwjf3q16B3Gvds 4pC5fyzYsMqSCQPm9uOdl/LWLXWUf6eRY6LKgBJK45tXLpsoC87ODS/tiCr5CEdRecSl SVGAhorXUSE7dQ0Z9zWAKMBq3Y8k1nU/wlYu7RMJoXqviAmYeRpssHc5MYVRjb/XMf5p Ivs2WHQ+oGQcOGX2ihRVoO8cWxYvv727exwKRaGswxdgFjoLz1UT3nuhs7dxSa30Vp9u FBdBE3PGLTks8UzaNInmPQ2HqrbaOpVOIDFbD1Ad7K21OwY8dOW7H294HW5R9juXDXKn WtiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744382003; x=1744986803; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:message-id:date:subject:cc:to:from:x-beenthere :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=7g3DG1z49BGXT0uRfuwByW+bhf22DpKFCzNFX9cMylw=; b=hGxzkZSJq5ZX7fehikAlbq68/pSgGNkveFX3CuUqTOgyWfiB1RiJp8vizrOji3BH9Z Dh/jBQNrFi84ARvSPANcr8vv92DxWMkqrFZdcYSIwP+dbMlluXjKmBZNysNGG/NccytW C7k0UD0M8/QPd0gBoPHhbjZGeDlHfBROj5T5MtehnJ3gk5DkUvYJ+Ku0G4HM5AnUye9X FQSPGs976Xt333yB9rdLx+HfZjLZOHaF4erN2kOyaFUUP3fbrEwoc/T+GLN8oRdAhiIo j2+G5zv9l4kslwXuUk6slYdA8i1eyOs2wy2QCyRkFpKowt9GJdBByaK5qcPf2wLKAIlz KkxQ== X-Forwarded-Encrypted: i=2; AJvYcCVPX1lYqjPA+oMyqEIH15NDloVSoIOi9c2D9CgPfyxu+QXRmdtOGXrhGN4zGooie4qftYwn@ilbers.de X-Gm-Message-State: AOJu0YwNbxsJMxKWlp5kAn/aPeEeDTwk95aYm+Gi4RCGASgnxQvCSORM XgW4rh+8AqOTKUzaL3xD5Tz/lQd2q12UvHfBsO1NYVmTKGPK9NeN X-Google-Smtp-Source: AGHT+IFIwZ39G+GdSSGPnUXtBCN/Q6KwgjekkLYfKnR5OayY8RNM+29B768eWti2zbyTh5EZbbXcEA== X-Received: by 2002:a05:600c:1d83:b0:43c:f3e4:d6f7 with SMTP id 5b1f17b1804b1-43f3a9afdeamr28880605e9.31.1744382002200; Fri, 11 Apr 2025 07:33:22 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h=ARLLPAInXR0UQ758m9gwcST+q0ibtxJVLtRPZXaS5jOylkD7Tw== Received: by 2002:a05:600c:4f10:b0:43d:17c2:e7f1 with SMTP id 5b1f17b1804b1-43f2c57a602ls628395e9.2.-pod-prod-05-eu; Fri, 11 Apr 2025 07:33:19 -0700 (PDT) X-Received: by 2002:a05:600c:470d:b0:43c:f575:e305 with SMTP id 5b1f17b1804b1-43f3a93cfefmr21536565e9.8.1744381999478; Fri, 11 Apr 2025 07:33:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1744381999; cv=none; d=google.com; s=arc-20240605; b=dWEGLaZIe00TdnU8CEchXSA2ZkBjR8TIYFZv1NKWUQ+IYGPLAD6t4h3VA9Ub3/sVJ+ 384mWIGb4bdM90BFHa4F9831//17eftFz1hrX/OHwot55hmVymE1kYjFHzB4SPoQYEmC iiZiwgymLO1MoESPI5GHdlZQCmqy4PFEKzE3C2Tn/Nh1Dfk7n74xRQ7OsABoU6jPS2Ix WXLNUOsmt7vqRjfYSOmaucn4lmSVGaFka5c86AXpvIM/krEl4+lKW4HOCXDEtNEZBa0x 2wtUFgqO3nZonQeqsJ44w11kblTHZnpBNrP+7CNHuIi52La0OhYbjdZX+TeC6PIsbwqX rlvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=feedback-id:content-transfer-encoding:mime-version:message-id:date :subject:cc:to:from:dkim-signature; bh=ml7V8jYOVYjjzftowMtVH16FgXpyOObJRgTQaStHOpc=; fh=9NE7CUS1FFTNwdA+qI7GDbtctuA5HPxJbMqweKhyPyU=; b=dCDk+28mqqNO0/6njKb6W+I/mYZ8YL0KdBVz+VxukPG6nHrCgCYUo8hva0+Z0bFBVw GDxGGrk98tcrzVkLhoQpmzAxTHT5QoYKP+L15fwtYuiIP4Bx6YbFaCAZBanUCrwfXMAs p8zdc2Vy0W5NueXSBMLm92czCCXFoRzy5JFjD8G2yBcvaoqmc4KWxX5KZxhGJxv7zJD4 6v2DQBUe5EKMoeKxyF5DXro47l6QEq4Dxr2Acg/6cRpJLsKTT4bfHsawP79HF4AY01KB kqwgSQDSXiH1yt4IY/J4teMtY3CEk0FHk6P5ae0BWBCMlPZC8yGfz+fbED6SRJDwfKOC WVOA==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=dLysIv1H; spf=pass (google.com: domain of fm-526363-202504111433186638ca3cbdb033eeed-bqurvd@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-526363-202504111433186638ca3cbdb033eeed-bQuRvD@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-227.siemens.flowmailer.net (mta-64-227.siemens.flowmailer.net. [185.136.64.227]) by gmr-mx.google.com with ESMTPS id 5b1f17b1804b1-43f20a7ec88si2717105e9.1.2025.04.11.07.33.19 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Apr 2025 07:33:19 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-526363-202504111433186638ca3cbdb033eeed-bqurvd@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) client-ip=185.136.64.227; Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 202504111433186638ca3cbdb033eeed for ; Fri, 11 Apr 2025 16:33:19 +0200 From: "'Adriaan Schmidt' via isar-users" To: isar-users@googlegroups.com Cc: adriaan.schmidt@siemens.com Subject: [PATCH] fix: add currenttask-guards to SSTATE(CREATE|POSTINST)FUNCS Date: Fri, 11 Apr 2025 16:33:04 +0200 Message-Id: <20250411143304.384348-1-adriaan.schmidt@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-526363:519-21489:flowmailer X-Original-Sender: adriaan.schmidt@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=dLysIv1H; spf=pass (google.com: domain of fm-526363-202504111433186638ca3cbdb033eeed-bqurvd@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-526363-202504111433186638ca3cbdb033eeed-bQuRvD@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Adriaan Schmidt Reply-To: Adriaan Schmidt Content-Type: text/plain; charset="UTF-8" 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-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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-TUID: 13oDaXK8B1Ht We use SSTATECREATEFUNCS and SSTATEPOSTINSTFUNCS to insert code for preparation/postprocessing of sstate artifacts. As it turns out, those are not per-job, but global, so if a recipe has multiple sstate-cacheable tasks, all of those functions are executed, and we need to make sure to bail out of all unintended calls. Because all invocations are visible in the logs, we add a message in case a function was skipped, to make logs more readable. Signed-off-by: Adriaan Schmidt --- meta/classes/base.bbclass | 9 +++++++++ meta/classes/dpkg-base.bbclass | 2 ++ meta/classes/rootfs.bbclass | 2 ++ meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 2 ++ meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc | 2 ++ 5 files changed, 17 insertions(+) diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index c730eec9..d5a3142b 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -204,6 +204,15 @@ def isar_export_ccache(d): else: os.environ['CCACHE_DISABLE'] = '1' +isar_check_current_task() { + if [ "do_${BB_CURRENTTASK}" = "$1" ]; then + return 0 + else + echo "skipping because current task is not $1" + return 1 + fi +} + do_fetch[dirs] = "${DL_DIR}" do_fetch[file-checksums] = "${@bb.fetch.get_checksum_file_list(d)}" do_fetch[vardeps] += "SRCREV" diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-base.bbclass index 4468a49a..7f2dcd3f 100644 --- a/meta/classes/dpkg-base.bbclass +++ b/meta/classes/dpkg-base.bbclass @@ -184,6 +184,7 @@ SSTATECREATEFUNCS += "dpkg_build_sstate_prepare" SSTATEPOSTINSTFUNCS += "dpkg_build_sstate_finalize" dpkg_build_sstate_prepare() { + (isar_check_current_task "do_dpkg_build" || return) || true # this runs in SSTATE_BUILDDIR, which will be deleted automatically if [ -n "$(find ${WORKDIR} -maxdepth 1 -name '*.deb' -print -quit)" ]; then cp -f ${WORKDIR}/*.deb -t . @@ -191,6 +192,7 @@ dpkg_build_sstate_prepare() { } dpkg_build_sstate_finalize() { + (isar_check_current_task "do_dpkg_build_setscene" || return) || true # this runs in SSTATE_INSTDIR if [ -n "$(find . -maxdepth 1 -name '*.deb' -print -quit)" ]; then mv -f ./*.deb -t ${WORKDIR}/ diff --git a/meta/classes/rootfs.bbclass b/meta/classes/rootfs.bbclass index cd8fd118..aed50a91 100644 --- a/meta/classes/rootfs.bbclass +++ b/meta/classes/rootfs.bbclass @@ -437,6 +437,7 @@ SSTATE_TAR_ATTR_FLAGS ?= "--xattrs --xattrs-include='*'" # the rootfs is owned by root, so we need some sudoing to pack and unpack rootfs_install_sstate_prepare() { + (isar_check_current_task "do_rootfs_install" || return) || true # this runs in SSTATE_BUILDDIR, which will be deleted automatically # tar --one-file-system will cross bind-mounts to the same filesystem, # so we use some mount magic to prevent that @@ -450,6 +451,7 @@ rootfs_install_sstate_prepare() { do_rootfs_install_sstate_prepare[lockfiles] = "${REPO_ISAR_DIR}/isar.lock" rootfs_install_sstate_finalize() { + (isar_check_current_task "do_rootfs_install_setscene" || return) || true # this runs in SSTATE_INSTDIR # - after building the rootfs, the tar won't be there, but we also don't need to unpack # - after restoring from cache, there will be a tar which we unpack and then delete diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc index 08d61a84..a3ab28ca 100644 --- a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc +++ b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc @@ -219,12 +219,14 @@ SSTATECREATEFUNCS += "bootstrap_sstate_prepare" SSTATEPOSTINSTFUNCS += "bootstrap_sstate_finalize" bootstrap_sstate_prepare() { + (isar_check_current_task "do_bootstrap" || return) || true # this runs in SSTATE_BUILDDIR, which will be deleted automatically sudo cp -a "${WORKDIR}/rootfs.tar.zst" ./bootstrap.tar.zst sudo chown $(id -u):$(id -g) bootstrap.tar.zst } bootstrap_sstate_finalize() { + (isar_check_current_task "do_bootstrap_setscene" || return) || true # this runs in SSTATE_INSTDIR # we should restore symlinks after using tar if [ -f bootstrap.tar.zst ]; then diff --git a/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc b/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc index 931f6f13..44775bc5 100644 --- a/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc +++ b/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc @@ -222,12 +222,14 @@ SSTATECREATEFUNCS += "bootstrap_sstate_prepare" SSTATEPOSTINSTFUNCS += "bootstrap_sstate_finalize" bootstrap_sstate_prepare() { + (isar_check_current_task "do_bootstrap" || return) || true # this runs in SSTATE_BUILDDIR, which will be deleted automatically sudo cp -a "${WORKDIR}/rootfs.tar.zst" ./bootstrap.tar.zst sudo chown $(id -u):$(id -g) bootstrap.tar.zst } bootstrap_sstate_finalize() { + (isar_check_current_task "do_bootstrap_setscene" || return) || true # this runs in SSTATE_INSTDIR # we should restore symlinks after using tar if [ -f bootstrap.tar.zst ]; then -- 2.39.5 -- 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/20250411143304.384348-1-adriaan.schmidt%40siemens.com.