From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7016230395466219520 X-Received: by 2002:a1c:208:: with SMTP id 8mr5349650wmc.114.1634042195919; Tue, 12 Oct 2021 05:36:35 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:adf:8b92:: with SMTP id o18ls1920799wra.0.gmail; Tue, 12 Oct 2021 05:36:35 -0700 (PDT) X-Google-Smtp-Source: ABdhPJynX0fV1USfav+grW+h1y66gadB+WY3Hj6KmGbU4ICLZ9VijKWYU3mvO4dT2td6sm+y8Ji+ X-Received: by 2002:adf:f309:: with SMTP id i9mr31430187wro.256.1634042195048; Tue, 12 Oct 2021 05:36:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1634042195; cv=none; d=google.com; s=arc-20160816; b=Aiptx5BNniABOxxqzyqN9gS/LXFbIKnN4i14NX9m/5u33sAc7D599zWuEO8gwvc01y lpxJVPolI7x5brNTrJPwgYBWL8zl6G30TU/xq3mqNUEiEwGVFf1P7QHmxLEDKJuybtYi 24Be05oQArYDag5kH3EdbGWIkg0OVmKAf5wOh36vF4JXDUMEE5IBXNbjagIN1pEYofcb rm+V3ybRsqmkYLZO36O+/R5ng3XkO1TxYchGIOtTAr3CBL1wjLswRc2i6A8p1sfsPbL9 iDhFzPThCnXck1ZSHYmqs+mxe/8G7gfAwMpqUmhY0Ob9sFMFSLMQSrqUsUxB0vS6LqUd wdUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=bk/h8OW9uhbFtrywcbKlUuRbKzbaokMuTKTNAytzq68=; b=ISBBlly67MNs/tNtqcghWkC0IoSp2rq1VyOT/qWswmSVIqw1+mre4BwXGnUix5acDU v/PLrrCXG6Gx9z6Kn39f7g+80cFX1WAUy5UXY1/Elk8VrLWucCqKXyslnRilE3WGcNDj IMclmFmz1J6uNatDGfeFJGzynLENuU06NLtdMJ9P33E8hZfOEhV2hxhxr5CzYnxv/sES /3LHyIFLqniymN2bEeZFjKkNCFFgIntEXzXzdId2hDm6NGjH4j/dVP/rFa2pOtuzGwB/ hylwjYG4R6OzF0I8SDUooAdnogSLRq7/nznUnHkG0sOuX7LbNQLMYhlfVw0xl1QWb+xm pWjA== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of adriaan.schmidt@siemens.com designates 192.35.17.2 as permitted sender) smtp.mailfrom=adriaan.schmidt@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from thoth.sbs.de (thoth.sbs.de. [192.35.17.2]) by gmr-mx.google.com with ESMTPS id 26si202349wmk.0.2021.10.12.05.36.34 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 12 Oct 2021 05:36:35 -0700 (PDT) Received-SPF: pass (google.com: domain of adriaan.schmidt@siemens.com designates 192.35.17.2 as permitted sender) client-ip=192.35.17.2; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of adriaan.schmidt@siemens.com designates 192.35.17.2 as permitted sender) smtp.mailfrom=adriaan.schmidt@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail1.sbs.de (mail1.sbs.de [192.129.41.35]) by thoth.sbs.de (8.15.2/8.15.2) with ESMTPS id 19CCaYai016809 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 12 Oct 2021 14:36:34 +0200 Received: from random.ppmd.siemens.net (random.ppmd.siemens.net [139.25.68.25]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id 19CCaXOl017377; Tue, 12 Oct 2021 14:36:34 +0200 From: Adriaan Schmidt To: isar-users@googlegroups.com Cc: Adriaan Schmidt Subject: [PATCH v2 09/10] sstate: add caching to rootfs Date: Tue, 12 Oct 2021 14:36:24 +0200 Message-Id: <20211012123625.1703627-10-adriaan.schmidt@siemens.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20211012123625.1703627-1-adriaan.schmidt@siemens.com> References: <20211012123625.1703627-1-adriaan.schmidt@siemens.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUID: /C4BNZZVIVNB Signed-off-by: Adriaan Schmidt --- meta/classes/rootfs.bbclass | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/meta/classes/rootfs.bbclass b/meta/classes/rootfs.bbclass index bd8a241..a4c0461 100644 --- a/meta/classes/rootfs.bbclass +++ b/meta/classes/rootfs.bbclass @@ -255,3 +255,30 @@ python do_rootfs() { pass } addtask rootfs before do_build + +do_rootfs[depends] = "base-apt:do_cache isar-apt:do_cache_config" + +SSTATETASKS += "do_rootfs" +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" + +# the buildchroot is owned by root, so we need some sudoing to pack and unpack +rootfs_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" + +rootfs_sstate_finalize() { + sudo tar -C ${WORKDIR} -xpf ${ROOTFS_SSTATE}/rootfs.tar +} + +python do_rootfs_setscene() { + sstate_setscene(d) + bb.build.exec_func('rootfs_sstate_finalize', d) +} +addtask do_rootfs_setscene -- 2.30.2