From db7f8d4114267ed34c19dc66dd56c2372354b43f Mon Sep 17 00:00:00 2001 From: Bruce Ashfield Date: Thu, 14 Nov 2013 11:55:26 -0500 Subject: kernel.bbclass: test for hardlinks before installing commit df564c4 [kernel: Use hardlinks for do_populate_sysroot for speed] does indeed speed up the build, but it also means that the KERNEL_OUPUT and KERNEL_IMAGETYPE may be hardlinks. If they are hardlinks, install complains that they are actually the same file and stops the build. We can easily test and avoid the copy if the file is already in place. [YOCTO #5527] (From OE-Core rev: 6a3b3e501c66733216ac43d3f020cfdb512dd640) Signed-off-by: Bruce Ashfield Signed-off-by: Richard Purdie --- meta/classes/kernel.bbclass | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'meta') diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index 383043ed9c..624b15101e 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -244,7 +244,11 @@ kernel_do_install() { find . -depth -not -path "./Documentation*" -not -path "./.*" -print0 | cpio --null -pdlu $kerneldir cd "$pwd" fi - install -m 0644 ${KERNEL_OUTPUT} $kerneldir/${KERNEL_IMAGETYPE} + + # Test to ensure that the output file and image type are not actually + # the same file. If hardlinking is used, they will be the same, and there's + # no need to install. + ![ ${KERNEL_OUTPUT} -ef $kerneldir/${KERNEL_IMAGETYPE} ] && install -m 0644 ${KERNEL_OUTPUT} $kerneldir/${KERNEL_IMAGETYPE} install -m 0644 System.map $kerneldir/System.map-${KERNEL_VERSION} # Dummy Makefile so the clean below works -- cgit v1.2.3-54-g00ecf