From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7187242631035879424 X-Received: by 2002:a2e:2ac4:0:b0:27f:cc03:496a with SMTP id q187-20020a2e2ac4000000b0027fcc03496amr4263543ljq.359.1673503032235; Wed, 11 Jan 2023 21:57:12 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a2e:b987:0:b0:27f:e626:ad40 with SMTP id p7-20020a2eb987000000b0027fe626ad40ls190960ljp.1.-pod-prod-gmail; Wed, 11 Jan 2023 21:57:10 -0800 (PST) X-Google-Smtp-Source: AMrXdXsi3g+ua3H/GH7yPrgTc41IFzPV8KrSYj8wZNJgerAUyxFKzn4eMUiEvY9fMvk9gVN3qO++ X-Received: by 2002:a05:651c:2391:b0:281:1773:7680 with SMTP id bk17-20020a05651c239100b0028117737680mr7102306ljb.44.1673503030734; Wed, 11 Jan 2023 21:57:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673503030; cv=none; d=google.com; s=arc-20160816; b=LrbKq/uTk+y6HXY7zhMnJLBBtXdHH012r8Bpgwwuu7Ca3WFnv/gcGjM8fbb6IIvnmT LnbD7OmAfB4AUxy0XUfYPptfjWYzj4MSMhl4Aeqa8Dz1SZM2qlV8NQIismBtUrbjktWu zCbi2NR5Wrxl3zX/3YoiHdzgN3I6Ya1eBLcBLULcKzkeoLjKW4f/ju213t2mtm+IUlyk H5quQO1Kjn4UK+ijVvkDfkjkBT2bLtUpjA3g7HBGA2OMWyYkzXTcCbe1pBwcoPo58H7A CoPlBhHXOvMsDpMXx6OGpNJ27KLaEL+sf4mLGTISi1e6bPZ4EDTyT1HETj8gqM+NDcVl W7DQ== 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=vDuAU0N5FabGjKV5TUGL5clxjxsya1SecT3xwV2tr8k=; b=PrNeheto7UQzvGZgBmV1ng03RXTUrwadS6sN6xfzq7u5aXIX1klL2JHrSebKqbmG43 55coVoWa8wvbYlYFK440k4+sLKnntt3PQAas+Th3nrZg4fjFyeBa0Ut6zanhloUbn/A0 eAOxvvKrFvCu0RvIMaMxxNb8wpe4xH+YLaSgdOrRI9ZfyhmxikmhJRyleOyNInw311uE zzLPArx1/+kPXar+ulr0iywFOfu4XioNZdAAEYTl/c+nwx9OI+UvjstVgI0Jgu3UWnh7 vC9APUMyyDhMYgQtUXgD6Yjfo8ijKNhAMRo0R2yrKK3jOSiSoiILhJk9tf3dU+8QvF7U pJmQ== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=Ejv54JMU; spf=pass (google.com: domain of fm-72506-202301120557090fa4ce4cc5c74bec12-ggm5vg@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-72506-202301120557090fa4ce4cc5c74bec12-GGM5Vg@rts-flowmailer.siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from mta-64-226.siemens.flowmailer.net (mta-64-226.siemens.flowmailer.net. [185.136.64.226]) by gmr-mx.google.com with ESMTPS id p11-20020a2eb98b000000b002865233e8b5si398685ljp.5.2023.01.11.21.57.10 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 11 Jan 2023 21:57:10 -0800 (PST) Received-SPF: pass (google.com: domain of fm-72506-202301120557090fa4ce4cc5c74bec12-ggm5vg@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) client-ip=185.136.64.226; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=Ejv54JMU; spf=pass (google.com: domain of fm-72506-202301120557090fa4ce4cc5c74bec12-ggm5vg@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-72506-202301120557090fa4ce4cc5c74bec12-GGM5Vg@rts-flowmailer.siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: by mta-64-226.siemens.flowmailer.net with ESMTPSA id 202301120557090fa4ce4cc5c74bec12 for ; Thu, 12 Jan 2023 06:57:09 +0100 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=vDuAU0N5FabGjKV5TUGL5clxjxsya1SecT3xwV2tr8k=; b=Ejv54JMUIiKQ0tK7VH9ZF12pAiy1C+KAONAfy6cLlC2+MR4D8igdmIrsVehwAeVvOOhxCt 4mjzj1recHX3uofRjsL/8D63rgHJ7AdvcmlLWdN00nZ/TkomWtEKTjklRw6l7YxdvnajtGjT xGfam5/3UeywunJySMAEZ3KQk3QkE=; From: Felix Moessbauer To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, daniel.bovensiepen@siemens.com, henning.schild@siemens.com, venkata.pyla@toshiba-tsip.com, Felix Moessbauer Subject: [PATCH v2 03/10] rootfs postprocess: clean python cache Date: Thu, 12 Jan 2023 05:56:12 +0000 Message-Id: <20230112055619.843445-4-felix.moessbauer@siemens.com> In-Reply-To: <20230112055619.843445-1-felix.moessbauer@siemens.com> References: <20230112055619.843445-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: t+qEnDM2TJUJ When calling python scripts, python automatically creates cache files to speedup future invocations of the same sources. This often happens in postinst scripts, that directly run in the image chroot. The created debian packages do not ship these files, as the debheper scripts remove them before installing. For the rootfs part, we manually have to do it to also not include these in the final image. This patch implements this logic in a custom cleanup postprocess step. As there might be situations where shipping of a subset of the caches is desireable (e.g. readonly rootfs images), we add support to control this logic using ROOTFS_FEATURES. Signed-off-by: Felix Moessbauer --- meta/classes/image.bbclass | 2 +- meta/classes/rootfs.bbclass | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 519a2e5..b86a428 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -80,7 +80,7 @@ image_do_mounts() { } ROOTFSDIR = "${IMAGE_ROOTFS}" -ROOTFS_FEATURES += "clean-package-cache generate-manifest export-dpkg-status clean-log-files clean-debconf-cache" +ROOTFS_FEATURES += "clean-package-cache clean-pycache generate-manifest export-dpkg-status clean-log-files clean-debconf-cache" ROOTFS_PACKAGES += "${IMAGE_PREINSTALL} ${IMAGE_INSTALL}" ROOTFS_MANIFEST_DEPLOY_DIR ?= "${DEPLOY_DIR_IMAGE}" ROOTFS_DPKGSTATUS_DEPLOY_DIR ?= "${DEPLOY_DIR_IMAGE}" diff --git a/meta/classes/rootfs.bbclass b/meta/classes/rootfs.bbclass index 786682d..325e7ae 100644 --- a/meta/classes/rootfs.bbclass +++ b/meta/classes/rootfs.bbclass @@ -252,6 +252,12 @@ rootfs_postprocess_clean_debconf_cache() { sudo rm -rf "${ROOTFSDIR}/var/cache/debconf/"* } +ROOTFS_POSTPROCESS_COMMAND += "${@bb.utils.contains('ROOTFS_FEATURES', 'clean-pycache', 'rootfs_postprocess_clean_pycache', '', d)}" +rootfs_postprocess_clean_pycache() { + sudo find ${ROOTFSDIR}/usr -type f -name '*.pyc' -delete -print + sudo find ${ROOTFSDIR}/usr -type d -name '__pycache__' -delete -print +} + ROOTFS_POSTPROCESS_COMMAND += "${@bb.utils.contains('ROOTFS_FEATURES', 'generate-manifest', 'rootfs_generate_manifest', '', d)}" rootfs_generate_manifest () { mkdir -p ${ROOTFS_MANIFEST_DEPLOY_DIR} -- 2.34.1