From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7187242631035879424 X-Received: by 2002:adf:f48d:0:b0:2bd:bf88:92b7 with SMTP id l13-20020adff48d000000b002bdbf8892b7mr108073wro.207.1673410345922; Tue, 10 Jan 2023 20:12:25 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6000:250:b0:269:604b:a0dd with SMTP id m16-20020a056000025000b00269604ba0ddls4205448wrz.0.-pod-prod-gmail; Tue, 10 Jan 2023 20:12:24 -0800 (PST) X-Google-Smtp-Source: AMrXdXvopF4Y9k2+Hm9s8ZJwL999jX3S+uQWsMKlX8ctdNR6qi5corT5AyS7ztOKY32TzgWaOYOR X-Received: by 2002:a5d:6541:0:b0:28e:f7a:9fe9 with SMTP id z1-20020a5d6541000000b0028e0f7a9fe9mr27613772wrv.5.1673410344655; Tue, 10 Jan 2023 20:12:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673410344; cv=none; d=google.com; s=arc-20160816; b=O1fgd/sBuv/9gkL5x8EZGSYpzN60Yl2sCX+0C91pSHVa0pkjL5fCe5jRdVwl4RwjmC zOzPZcaSCo4IigNLwhD993mFek6KvcjBIDgl6Sl43bUa6eweT2D2bGTT1s8IRHcCASrK 6DYHmEYTg+XuYOO8pIOUQG4PlrQpaUTog9lG1qc4zH3B7IzRg1Bed15VhZwVBdbgow6P rOxUc3ZnXDXV17udCu1dZJuKREfS6ADFIQpCMjIPeShDt7GUCq4Pg6tzo3pXjdii+w2C lClwiWwjBM87POp4mXSw3H5BgQ8D75JvTZJjeRWoc6IgAq4NIolZQapffBjUHWKxuWSC mQ/Q== 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=y3BI03O/MQgJUOgMbtI8t2PIwoTly32ncmiwC0IpshVtrr/cu9ogCb5e9p+/mcBdwF m/z9s3k1WJh420wfvhZ+byXGie2vTglr9iNFKjP/JcS2PGaVJhbARgj8PNbBaSHJ6hyN +qPicvEQrT3cdTyxBZnPuuTo85WFYAzmIB1x6WOmM9QRxS+fiyXZWJelg6V3Bpz4HsH7 9ure/q9JDc7RDENydECyGlc5IlgzvvalP65TUhxujCa0nf3ajfpuGPlyE0FUUstTNNGy BluxZxCsu5U0bCbOQzih+DgsMDmbV1nCcL1HWhnsJjUBJGfEVFPqW8vDEyPg27IxDZpJ qePA== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=ZPwvC7H4; spf=pass (google.com: domain of fm-72506-202301110412249200c28dca57a2453e-_w8y9t@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-72506-202301110412249200c28dca57a2453e-_W8Y9T@rts-flowmailer.siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from mta-64-225.siemens.flowmailer.net (mta-64-225.siemens.flowmailer.net. [185.136.64.225]) by gmr-mx.google.com with ESMTPS id da14-20020a056000408e00b002367b2e748esi561421wrb.5.2023.01.10.20.12.24 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 10 Jan 2023 20:12:24 -0800 (PST) Received-SPF: pass (google.com: domain of fm-72506-202301110412249200c28dca57a2453e-_w8y9t@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) client-ip=185.136.64.225; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=ZPwvC7H4; spf=pass (google.com: domain of fm-72506-202301110412249200c28dca57a2453e-_w8y9t@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-72506-202301110412249200c28dca57a2453e-_W8Y9T@rts-flowmailer.siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: by mta-64-225.siemens.flowmailer.net with ESMTPSA id 202301110412249200c28dca57a2453e for ; Wed, 11 Jan 2023 05:12:24 +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=ZPwvC7H4tMxrVXOCEokSwGxew46wx0D6iAER6WUqDZgfrIXAE2fh/TZKpY9nXPCPFYfuhI 6yilg4CCBNfbtyYVNdD94jcP/jELoYTJEUOzOywI500V9Z7a3sEjooAfjLJjwoyXWBn+t7Yp 3/y4g+KGDZph3M4gKq7h2DWBQ8His=; 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 03/11] rootfs postprocess: clean python cache Date: Wed, 11 Jan 2023 04:11:32 +0000 Message-Id: <20230111041140.3460393-4-felix.moessbauer@siemens.com> In-Reply-To: <20230111041140.3460393-1-felix.moessbauer@siemens.com> References: <20230111041140.3460393-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: e9l8LAyUbFQY 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