From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7057983073222131712 X-Received: by 2002:a05:6512:22d4:: with SMTP id g20mr2974091lfu.116.1643992890931; Fri, 04 Feb 2022 08:41:30 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:ac2:4e11:: with SMTP id e17ls1823596lfr.1.gmail; Fri, 04 Feb 2022 08:41:30 -0800 (PST) X-Google-Smtp-Source: ABdhPJwkXV0E2dwqHo/fi+i25Hslq104KmgnkxJ+IBGuR3j82kSKpzSp7R2s+cJ5p2Hg943+Rnkh X-Received: by 2002:a05:6512:228a:: with SMTP id f10mr2823536lfu.22.1643992889938; Fri, 04 Feb 2022 08:41:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643992889; cv=none; d=google.com; s=arc-20160816; b=F2p6eWJmRevusimgJ1OKEvrmPGz5MPXXj3SCAgpOB0TxMN/pRAy8ysJG3DQC/ZoUXs QhntUnevgRmDP2SA3vDS/Zp45d6BGgp/PnC2uv0ygItZHMX7ybfEoe37ZOFrhJ3YZZam u8Z/TfbR75Nn8N8EBp3hRLH5Zy5rFD2y2LecMDHWYtCPg+tt8Tu7dBpOUIoRknSFcnm9 F4PqtgitUQ0h8vWUkE6hT+8LOcINzNh1rSLhB5z5WXN+/yfFUpEi6JKBm8TclbNTFx1X 8KxedRUG0mdJ9zBZHVRKiLZSVjuk/6PzcHHaPdfKWZEzeZGWtsWVNrAURZ4gGo/e5e5e NPlg== 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=j+LKr3XzyiDw+F0RhPLy/T/R0XmFJZ1ZokbSq5m0ZSo=; b=kqq8KfL0+HmcD+AUwu1vEI95/6c6uPcE0L67Phb5pL1mLphDOBv3IIWU9Byce0jWL1 THNDR1luNwzbryurl/dWmR9XZA/K6qIUrYhFXQmEmRf1h42WBxTlwaV3LyNol2b/kbjz QY2YlNnBj8hgZCsijakApoBHlRfhQfH1jlqSiLVYQLBb35o9EJ/v5WkJ+R4XeTPTRSD6 OTDE7Ca72ZsWJMsLMxSJcSNEsZdgH4/O54lwdq2QF7NcDgEJE0iQ8Bf6RweGH37swt41 kSBvd5btjuBQKkLq9LhxIUDBlyg/4embA9braFfeI7vjXqn+ub6BVET/IpH/Qr/a3EnZ MOfw== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=GOLlDiVT; spf=pass (google.com: domain of fm-52304-20220204164128bf7d40ada8c29bf488-_8ww14@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) smtp.mailfrom=fm-52304-20220204164128bf7d40ada8c29bf488-_8WW14@rts-flowmailer.siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from mta-65-227.siemens.flowmailer.net (mta-65-227.siemens.flowmailer.net. [185.136.65.227]) by gmr-mx.google.com with ESMTPS id k18si78884lfe.8.2022.02.04.08.41.29 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 04 Feb 2022 08:41:29 -0800 (PST) Received-SPF: pass (google.com: domain of fm-52304-20220204164128bf7d40ada8c29bf488-_8ww14@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) client-ip=185.136.65.227; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=GOLlDiVT; spf=pass (google.com: domain of fm-52304-20220204164128bf7d40ada8c29bf488-_8ww14@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) smtp.mailfrom=fm-52304-20220204164128bf7d40ada8c29bf488-_8WW14@rts-flowmailer.siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: by mta-65-227.siemens.flowmailer.net with ESMTPSA id 20220204164128bf7d40ada8c29bf488 for ; Fri, 04 Feb 2022 17:41:28 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=henning.schild@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=j+LKr3XzyiDw+F0RhPLy/T/R0XmFJZ1ZokbSq5m0ZSo=; b=GOLlDiVT9IBZv1UN8VZTiWQUaLP/6swe92bxOHkIOz6A7JeGKH8ra4uKD36E+hWFQJIxZJ 8Ayd8+92yR1DTGyTQskg7zdAbGncEk6E5zgLuc4K3rI3Abj2kHdnKt1KlQ4QUGnNAfig1K3a OFtwcCBZhzS0rpQY6g3zdHTGQSdU0=; From: henning.schild@siemens.com To: isar-users@googlegroups.com Cc: Henning Schild Subject: [PATCHv3 1/3] sstate: change rootfs task to cache Date: Fri, 4 Feb 2022 17:41:22 +0100 Message-Id: <20220204164124.10396-2-henning.schild@siemens.com> In-Reply-To: <20220204164124.10396-1-henning.schild@siemens.com> References: <20220204164124.10396-1-henning.schild@siemens.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-52304:519-21489:flowmailer X-TUID: AYjvEx4i8PWK This patch moves sstate caching from the task "do_rootfs" to "do_rootfs_install". Which is earlier in the task chain. There are two "bugs" that we fix by doing so, while hopefully not giving up on too much caching speed. - rootfs_postprocess: - image_postprocess_mark: potentially outdated BUILD_ID and friends - rootfs_generate_manifest: manifest file gone missing in DEPLOY_DIR Since rootfs_postprocess is kind of an open field it might also fix issues in ROOTFS_POSTPROCESS_COMMAND functions in layers. Any function deriving stuff (like a manifest) or changing stuff (like the mark) could potentially benefit from "not caching". Signed-off-by: Henning Schild --- meta/classes/rootfs.bbclass | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/meta/classes/rootfs.bbclass b/meta/classes/rootfs.bbclass index 1fc487896f4d..78fb2cc71350 100644 --- a/meta/classes/rootfs.bbclass +++ b/meta/classes/rootfs.bbclass @@ -270,29 +270,28 @@ python do_rootfs() { } addtask rootfs before do_build -do_rootfs[depends] = "base-apt:do_cache isar-apt:do_cache_config" - -SSTATETASKS += "do_rootfs" +SSTATETASKS += "do_rootfs_install" ROOTFS_SSTATE = "${WORKDIR}/rootfs-sstate" -do_rootfs[dirs] += "${ROOTFS_SSTATE} ${WORKDIR}/mnt/rootfs" -do_rootfs[cleandirs] += "${ROOTFS_SSTATE}" -do_rootfs[sstate-plaindirs] = "${ROOTFS_SSTATE}" -do_rootfs[sstate-interceptfuncs] = "rootfs_sstate_prepare" +do_rootfs_install[depends] += " base-apt:do_cache isar-apt:do_cache_config" +do_rootfs_install[dirs] += "${ROOTFS_SSTATE} ${WORKDIR}/mnt/rootfs" +do_rootfs_install[cleandirs] += "${ROOTFS_SSTATE}" +do_rootfs_install[sstate-plaindirs] = "${ROOTFS_SSTATE}" +do_rootfs_install[sstate-interceptfuncs] = "rootfs_install_sstate_prepare" # the buildchroot is owned by root, so we need some sudoing to pack and unpack -rootfs_sstate_prepare() { +rootfs_install_sstate_prepare() { sudo mount --bind ${WORKDIR}/rootfs ${WORKDIR}/mnt/rootfs -o ro sudo tar -C ${WORKDIR}/mnt -cpf ${ROOTFS_SSTATE}/rootfs.tar --one-file-system rootfs sudo umount ${WORKDIR}/mnt/rootfs } -do_rootfs_sstate_prepare[lockfiles] = "${REPO_ISAR_DIR}/isar.lock" +do_rootfs_install_sstate_prepare[lockfiles] = "${REPO_ISAR_DIR}/isar.lock" -rootfs_sstate_finalize() { +rootfs_install_sstate_finalize() { sudo tar -C ${WORKDIR} -xpf ${ROOTFS_SSTATE}/rootfs.tar } -python do_rootfs_setscene() { +python do_rootfs_install_setscene() { sstate_setscene(d) - bb.build.exec_func('rootfs_sstate_finalize', d) + bb.build.exec_func('rootfs_install_sstate_finalize', d) } -addtask do_rootfs_setscene +addtask do_rootfs_install_setscene -- 2.34.1