Revert "package/pkg-utils.mk: break hardlinks in global {TARGET, HOST}_DIR on per-package build"
Commit21d52e52d8
(package/pkg-utils.mk: break hardlinks in global {TARGET, HOST}_DIR on per-package build) stopped hardlink the source and destination when rsyncing per-package directory, on the rationale that modifying files in-place after the rsync would also modify the original file, and that break foo-rebuild and can cause issues with post-build scripts. However, what21d52e52d8
did not envision, is that copying instead of hard-linking has two nasty side effects: - the size increase for the build directory increase with the number of packages and with the depth of th dependency chains for those packages: a (relatively small) build that was previously totalling ~13GiB in output/, now totals north of 122GiB, an almost 10-time increase; - the build time increases, as it takes more time to read+write files than it takes to create a new link to a file; the same build saw an increase of build time from 5min 10s to 7min 30s, a 45% increase. These regressions are both serious, so revert the change; we'll come up with a stopgap measure in follow-up commits. This reverts commit21d52e52d8
. Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Cc: Herve Codina <herve.codina@bootlin.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Reviewed-by: Herve Codina <herve.codina@bootlin.com>
This commit is contained in:
parent
3f23277c41
commit
8f1487d6fa
@ -217,7 +217,7 @@ ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y)
|
||||
define per-package-rsync
|
||||
mkdir -p $(3)
|
||||
$(foreach pkg,$(1),\
|
||||
rsync -a \
|
||||
rsync -a --link-dest=$(PER_PACKAGE_DIR)/$(pkg)/$(2)/ \
|
||||
$(PER_PACKAGE_DIR)/$(pkg)/$(2)/ \
|
||||
$(3)$(sep))
|
||||
endef
|
||||
|
Loading…
Reference in New Issue
Block a user