public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
* [PATCH v3] rootfs: clean package log files that are not owned by packages
@ 2021-10-07 15:07 venkata.pyla
  2021-10-15  6:54 ` Anton Mikanovich
  0 siblings, 1 reply; 2+ messages in thread
From: venkata.pyla @ 2021-10-07 15:07 UTC (permalink / raw)
  To: isar-users
  Cc: venkata pyla, henning.schild, jan.kiszka, dinesh.kumar, daniel.sangorrin

From: venkata pyla <venkata.pyla@toshiba-tsip.com>

/var/log/* files that are created during build stage and not owned
by any package are not neccessary to be present in rootfs image, as
these log files adds additional size to rootfs image, and also it
create problems for reproducible build functionality.

so this ROOTFS feature 'clean-log-files' should help to clean the log
files when it is enalbed, disable it if we need the log files for
debugging purpose.

ROOTFS_FEATURE += clean-log-files

Signed-off-by: venkata pyla <venkata.pyla@toshiba-tsip.com>
---
 meta/classes/image.bbclass  |  2 +-
 meta/classes/rootfs.bbclass | 10 ++++++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index ec93cab..edabca3 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -63,7 +63,7 @@ image_do_mounts() {
 }
 
 ROOTFSDIR = "${IMAGE_ROOTFS}"
-ROOTFS_FEATURES += "clean-package-cache generate-manifest export-dpkg-status"
+ROOTFS_FEATURES += "clean-package-cache generate-manifest export-dpkg-status clean-log-files"
 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 f9151c5..20ccb00 100644
--- a/meta/classes/rootfs.bbclass
+++ b/meta/classes/rootfs.bbclass
@@ -12,6 +12,7 @@ ROOTFS_PACKAGES ?= ""
 # 'clean-package-cache' - delete package cache from rootfs
 # 'generate-manifest' - generate a package manifest of the rootfs into ${ROOTFS_MANIFEST_DEPLOY_DIR}
 # 'export-dpkg-status' - exports /var/lib/dpkg/status file to ${ROOTFS_DPKGSTATUS_DEPLOY_DIR}
+# 'clean-log-files' - delete log files that are not owned by packages
 ROOTFS_FEATURES ?= ""
 
 ROOTFS_APT_ARGS="install --yes -o Debug::pkgProblemResolver=yes"
@@ -213,6 +214,15 @@ rootfs_postprocess_clean_package_cache() {
     sudo rm -rf "${ROOTFSDIR}/var/lib/apt/lists/"*
 }
 
+ROOTFS_POSTPROCESS_COMMAND += "${@bb.utils.contains('ROOTFS_FEATURES', 'clean-log-files', 'rootfs_postprocess_clean_log_files', '', d)}"
+rootfs_postprocess_clean_log_files() {
+    # Delete log files that are not owned by packages
+    sudo -E chroot '${ROOTFSDIR}' \
+        /usr/bin/find /var/log/ -type f \
+        -exec sh -c '! dpkg -S {} > /dev/null 2>&1' ';' \
+        -exec rm -f {} ';'
+}
+
 ROOTFS_POSTPROCESS_COMMAND += "${@bb.utils.contains('ROOTFS_FEATURES', 'generate-manifest', 'rootfs_generate_manifest', '', d)}"
 rootfs_generate_manifest () {
     mkdir -p ${ROOTFS_MANIFEST_DEPLOY_DIR}
-- 
2.20.1



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-10-15  6:54 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-07 15:07 [PATCH v3] rootfs: clean package log files that are not owned by packages venkata.pyla
2021-10-15  6:54 ` Anton Mikanovich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox