[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#927128: live-build: [PATCH] replaced tar with rsync as it is much more efficient in both space and time



Package: live-build
Version: 1:20190311
Severity: normal
Tags: patch

I create live systems with huge includes (read-only virtual machines)
and noticed that the chroot_includes step takes a very long time.
Looking at the source code I noticed that chroot_includes uses several
tar calls for this step. I replaced this code block with a simple rsync
call which is much more efficient in both space and time (see attached
patch).

Best regards

Ronny

>From 1f865461d87f6bbdb85e5369ee35f7568f0435db Mon Sep 17 00:00:00 2001
From: Ronny Standtke <ronny.standtke@gmx.net>
Date: Sun, 17 Mar 2019 18:34:20 +0100
Subject: [PATCH] replaced tar with rsync as it is much more efficient in both
 space and time

---
 scripts/build/chroot_includes | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/scripts/build/chroot_includes b/scripts/build/chroot_includes
index 6ab4e288d..98f521f61 100755
--- a/scripts/build/chroot_includes
+++ b/scripts/build/chroot_includes
@@ -41,13 +41,7 @@ Create_lockfile .lock
 if Find_files config/includes.chroot/
 then
 	# Copying includes
-	cd config/includes.chroot
-	Echo_message "Creating a tarball with files from includes.chroot..."
-	tar cf "${OLDPWD}"/chroot/includes.chroot.tar .
-	cd "${OLDPWD}"
-	Echo_message "Extracting the tarball in the chroot..."
-	Chroot chroot "tar -xvf includes.chroot.tar --no-same-owner --keep-directory-symlink --overwrite"
-	rm chroot/includes.chroot.tar
+	rsync -Klrv --chown=0:0 config/includes.chroot/ chroot/
 
 	# Creating stage file
 	Create_stagefile .build/includes.chroot
-- 
2.11.0


Reply to: