diff mbox series

[15/15,v4] fs: remove intermediate artefacts

Message ID aa32fec260607f3c9e3a436873b8ef72802078e7.1522487149.git.yann.morin.1998@free.fr
State Accepted
Commit 543107d390d18cd109c1a6ddc05d292cf31750d2
Headers show
Series [01/15,v4] fs: run filesystem hooks under fakeroot | expand

Commit Message

Yann E. MORIN March 31, 2018, 9:06 a.m. UTC
Each of the intermediate, per-rootfs target directories, as well as the
intermediate tarball, can take quite some place, and is mostly a
duplication of what's already in target/. The only delta, if any, would
be the tweaks made by the filesystem image generations, but those tweaks
are most probably only meaningfull when seen as root.

We normally do not remove intermediate files, but those can be quite
large, and are not directly usable by, nor accessible to the user.
So, get rid of them once the filesystem has been generated.

This does not need to be done in fakeroot.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Tested-by: Matt Weber <matthew.weber@rockwellcollins.com>
---
 Makefile     | 1 +
 fs/common.mk | 2 ++
 2 files changed, 3 insertions(+)

Comments

Peter Korsgaard March 31, 2018, 5:53 p.m. UTC | #1
>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 > Each of the intermediate, per-rootfs target directories, as well as the
 > intermediate tarball, can take quite some place, and is mostly a
 > duplication of what's already in target/. The only delta, if any, would
 > be the tweaks made by the filesystem image generations, but those tweaks
 > are most probably only meaningfull when seen as root.

 > We normally do not remove intermediate files, but those can be quite
 > large, and are not directly usable by, nor accessible to the user.
 > So, get rid of them once the filesystem has been generated.

 > This does not need to be done in fakeroot.

 > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
 > Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
 > Cc: Arnout Vandecappelle <arnout@mind.be>
 > Tested-by: Matt Weber <matthew.weber@rockwellcollins.com>
 > ---
 >  Makefile     | 1 +
 >  fs/common.mk | 2 ++
 >  2 files changed, 3 insertions(+)

 > diff --git a/Makefile b/Makefile
 > index 9fba7a3ed8..96c2d200a3 100644
 > --- a/Makefile
 > +++ b/Makefile
 > @@ -756,6 +756,7 @@ endif
 
 >  .PHONY: target-post-image
 >  target-post-image: $(TARGETS_ROOTFS) target-finalize
 > +	@rm -f $(ROOTFS_COMMON_TAR)
 >  	@$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_IMAGE_SCRIPT)), \
 >  		$(call MESSAGE,"Executing post-image script $(s)"); \
 >  		$(EXTRA_ENV) $(s) $(BINARIES_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep))
 > diff --git a/fs/common.mk b/fs/common.mk
 > index bacc98ec68..2ee130ee08 100644
 > --- a/fs/common.mk
 > +++ b/fs/common.mk
 > @@ -96,6 +96,7 @@ endif
 >  	$(call PRINTF,$(ROOTFS_COMMON_TAR_CMD)) >> $(FAKEROOT_SCRIPT)
 >  	chmod a+x $(FAKEROOT_SCRIPT)
 >  	PATH=$(BR_PATH) $(HOST_DIR)/bin/fakeroot -- $(FAKEROOT_SCRIPT)
 > +	$(Q)rm -rf $(TARGET_DIR)

This throws away the output/target copy on each invocation, so there is
not much sense in using rsync to create it and we could just use cp -a,
but OK, that can be done later.
diff mbox series

Patch

diff --git a/Makefile b/Makefile
index 9fba7a3ed8..96c2d200a3 100644
--- a/Makefile
+++ b/Makefile
@@ -756,6 +756,7 @@  endif
 
 .PHONY: target-post-image
 target-post-image: $(TARGETS_ROOTFS) target-finalize
+	@rm -f $(ROOTFS_COMMON_TAR)
 	@$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_IMAGE_SCRIPT)), \
 		$(call MESSAGE,"Executing post-image script $(s)"); \
 		$(EXTRA_ENV) $(s) $(BINARIES_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep))
diff --git a/fs/common.mk b/fs/common.mk
index bacc98ec68..2ee130ee08 100644
--- a/fs/common.mk
+++ b/fs/common.mk
@@ -96,6 +96,7 @@  endif
 	$(call PRINTF,$(ROOTFS_COMMON_TAR_CMD)) >> $(FAKEROOT_SCRIPT)
 	chmod a+x $(FAKEROOT_SCRIPT)
 	PATH=$(BR_PATH) $(HOST_DIR)/bin/fakeroot -- $(FAKEROOT_SCRIPT)
+	$(Q)rm -rf $(TARGET_DIR)
 
 rootfs-common-show-depends:
 	@echo $(ROOTFS_COMMON_DEPENDENCIES)
@@ -154,6 +155,7 @@  $$(BINARIES_DIR)/rootfs.$(1): $$(ROOTFS_$(2)_DEPENDENCIES)
 	$$(call PRINTF,$$(ROOTFS_$(2)_CMD)) >> $$(FAKEROOT_SCRIPT)
 	chmod a+x $$(FAKEROOT_SCRIPT)
 	PATH=$$(BR_PATH) $$(HOST_DIR)/bin/fakeroot -- $$(FAKEROOT_SCRIPT)
+	$(Q)rm -rf $$(TARGET_DIR)
 ifneq ($$(ROOTFS_$(2)_COMPRESS_CMD),)
 	PATH=$$(BR_PATH) $$(ROOTFS_$(2)_COMPRESS_CMD) $$@ > $$@$$(ROOTFS_$(2)_COMPRESS_EXT)
 endif