From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7187242631035879424 X-Received: by 2002:a05:651c:20c:b0:283:cf43:eb7 with SMTP id y12-20020a05651c020c00b00283cf430eb7mr2494528ljn.275.1673840185939; Sun, 15 Jan 2023 19:36:25 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a2e:9195:0:b0:27f:ada7:5bd8 with SMTP id f21-20020a2e9195000000b0027fada75bd8ls1500526ljg.7.-pod-prod-gmail; Sun, 15 Jan 2023 19:36:24 -0800 (PST) X-Google-Smtp-Source: AMrXdXtVHcoPkQ7aOWbzV6QbypC92Q/X9JxXnesfuL5DxBvNlJIZIYnndCHyjfQtrY9+g0dr54LD X-Received: by 2002:a2e:2e0b:0:b0:282:ab40:5a8b with SMTP id u11-20020a2e2e0b000000b00282ab405a8bmr9423062lju.47.1673840184273; Sun, 15 Jan 2023 19:36:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673840184; cv=none; d=google.com; s=arc-20160816; b=VBIACI5eqxv6FdnBElmKTY8+mNo4MvdIhwj6yHS3j7JeqHIkrzqpTkBihnHtfVaZWM 4JrchpGkJIeD8z3GvKzZcKMvLWjt3ilO/51o0xBbY7VYLRthS+OiZWSARdjZgvHA91PI BJOyd7CVspPwTPgdZpHwKWtwzHq5kfXqtAg9nmtYty0GWrq5EFJ1M486/hsBlU8H9Un1 3RNHsKZ1nO0oqLN3tj/nc3A2VBxCbeJME2ShzZOVYSQ2iemJHG3PGjkPB5Mkl3jYOUMl KzzVXt/sQ+BCuHkpzdgsoPtf2pGEGf+5TmgpaZ8n1W05ZJz1bVtni7tWif4FnTTclpRI gFsQ== 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=wI78gCtyxm0Jg/0slNlL3xU+73fD8uo8ulDd18RPZ+s=; b=eVAwwM1lzGLukHRKABQEQoQ4hv8d2kF2nH6txAUkl0ZFKN5FXZ6lW9etseqXiSdsPo SXXbZuy1vQXaqbTVd0bucmdlJbj+hR1C7Q5tQdL5GQbnMBjDdrlLAotaklivwAAY8Vdd MRf+F5JrHrkETRBCZrKp3lvNM5qrcw1oQTKxcBmzq8bIDqNN8OG9+oL5VS6iMcnAbqx1 8nSC7xIMDhC9+6oVxywaUokfwqaI4pg1dDD8Zp6djvp9pqeZdzg9wn7DUoPEMXhpHzwh 9x4ftxy4tTBC55294tJ7HLrPy+i6KuC4nPQKZKVsd0x4XFwldbLO/fqDKRJ6R34ZVNbS RG1Q== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=QGLzLzGk; spf=pass (google.com: domain of fm-72506-202301160336234dc71ddbb6d8247f31-gqsclp@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) smtp.mailfrom=fm-72506-202301160336234dc71ddbb6d8247f31-gqsclP@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 i28-20020a2ea37c000000b00279a2f014e6si1156372ljn.0.2023.01.15.19.36.24 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 15 Jan 2023 19:36:24 -0800 (PST) Received-SPF: pass (google.com: domain of fm-72506-202301160336234dc71ddbb6d8247f31-gqsclp@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=QGLzLzGk; spf=pass (google.com: domain of fm-72506-202301160336234dc71ddbb6d8247f31-gqsclp@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) smtp.mailfrom=fm-72506-202301160336234dc71ddbb6d8247f31-gqsclP@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 202301160336234dc71ddbb6d8247f31 for ; Mon, 16 Jan 2023 04:36:23 +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=wI78gCtyxm0Jg/0slNlL3xU+73fD8uo8ulDd18RPZ+s=; b=QGLzLzGkoOweZabocFkwapQsY8bHXpZzrrd/BnKUOrTxuvgGNP0zy/H0hoAJKaUw9NMUlG 3LzjANThMKbeURGw8avpOw/NRImotdlJjWe7nKJV96++MCml0D+5nYP3NuSiG8E0H4Mzf43c SCFzSSJoV+mr/YALMGerFCRumFh+s=; 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 v3 03/10] rootfs postprocess: clean python cache Date: Mon, 16 Jan 2023 03:35:45 +0000 Message-Id: <20230116033552.139048-4-felix.moessbauer@siemens.com> In-Reply-To: <20230116033552.139048-1-felix.moessbauer@siemens.com> References: <20230116033552.139048-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: noerfo2tXUgR 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 9e0f5f7..6a3f99e 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