From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7186613130553720832 X-Received: by 2002:a50:cd8c:0:b0:48e:b0f5:fd75 with SMTP id p12-20020a50cd8c000000b0048eb0f5fd75mr2243404edi.327.1673263760237; Mon, 09 Jan 2023 03:29:20 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6402:40cf:b0:488:1679:c417 with SMTP id z15-20020a05640240cf00b004881679c417ls3930393edb.1.-pod-prod-gmail; Mon, 09 Jan 2023 03:29:18 -0800 (PST) X-Google-Smtp-Source: AMrXdXu1nDK5p91v/4otr0sy50xDfY3UlMQJXHnvHgKgzCMXnVBTPyA1BZgOyd+9c8hE58fMVzV4 X-Received: by 2002:a05:6402:4015:b0:46a:3bd0:4784 with SMTP id d21-20020a056402401500b0046a3bd04784mr63067555eda.7.1673263758715; Mon, 09 Jan 2023 03:29:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673263758; cv=none; d=google.com; s=arc-20160816; b=w8A910YLXfPdaZB6a8huA8auFe3gH06YTwBCbX46MtayQUEPF9hynp7Ij2/LzInbgH m0B+QdWPYW/FSPEloob6IN/5PbxeDix3np4AmLCeIImbXwiwj3INQWCxyu7Fgl8tvz+S 0fOEPr44oYiU51Qw/covB8PQN39PlFXk9Qd7EviT5WXLaNBc6mk7vNnpLxbSPgQtpWto 7rrrqV6JqLv58XLhV7LL9cj42CgEzcF2HAE2yYmFww3E2FU8Zp/enBxdMMEj00R9nONz 2mMbIkr9+1hkzt+OlwsL7lfVbruprqNjFO8Z9RvJj4YqlDMSbzee2L+kU063yiGJr06k gU9w== 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:message-id:date :subject:cc:to:from:dkim-signature; bh=XM67qtk7Z2QafE/+UndHaJFlx1XeikQMs+s26R/LP4U=; b=UVaacy9YStZcbwxplZWBAPiC+jVQBWBpgE2hbYesUrThyVd5bFA6hoso0md2FYn3zb m8Vurro8iAt3H0xU4Cfdf2Mkoa+uTJQu7A4/MfaHUGJ6T7WKRXcTfx9+2qJFwFrY9kdx vAJTWz/EnzNbq0Dy+V1J+MmVPN7tQ3YL7t4b24YdZxOnjP9Gq9bjN5TGGc55nBByCx6q F1yZZL17uF+s9/e26E5AW6iZOap1lVTQD4SP3ZZKZgeB4Z2OdC2CMrm2xu2fqWITKkJT zNA/A266U7tnqpegN99Q1yvwatnahk+4OOiFXQJa1C8ep7W95gHgWae6x9Mpc0JuadXO xQ9g== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=CCoO+b0p; spf=pass (google.com: domain of fm-72506-20230109112918f8f670bdd7fefd301c-qdtnh4@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-72506-20230109112918f8f670bdd7fefd301c-QDtNH4@rts-flowmailer.siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: 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 u6-20020aa7d0c6000000b0046920d68fe2si375754edo.4.2023.01.09.03.29.18 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 09 Jan 2023 03:29:18 -0800 (PST) Received-SPF: pass (google.com: domain of fm-72506-20230109112918f8f670bdd7fefd301c-qdtnh4@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) client-ip=185.136.64.227; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=CCoO+b0p; spf=pass (google.com: domain of fm-72506-20230109112918f8f670bdd7fefd301c-qdtnh4@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-72506-20230109112918f8f670bdd7fefd301c-QDtNH4@rts-flowmailer.siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 20230109112918f8f670bdd7fefd301c for ; Mon, 09 Jan 2023 12:29:18 +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; bh=XM67qtk7Z2QafE/+UndHaJFlx1XeikQMs+s26R/LP4U=; b=CCoO+b0pjE0wVbm9xtIn0luFpgAbSU9EDcxY+t0w+iJYYpOLt7T6Suv2QWji3Sdl8XaT3u Zqxgdp2X0DfiggJxTzwfDtgwRIbR8d9Euw2WuuffluFRZt85bHKAdDX8iw890tP+5Kn6WahC Kw+dfAhIgN7w+KK9cYQrOCPxSwRwE=; From: Felix Moessbauer To: isar-users@googlegroups.com Cc: venkata.pyla@toshiba-tsip.com, jan.kiszka@siemens.com, kazuhiro3.hayashi@toshiba.co.jp, dinesh.kumar@toshiba-tsip.com, Felix Moessbauer Subject: [PATCH 1/1] rootfs postprocess: clean python cache Date: Mon, 9 Jan 2023 11:28:54 +0000 Message-Id: <20230109112854.1532151-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: F38NR34Jkwff 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 629a0c1..6859240 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