[oe-commits] [openembedded-core] 35/83: classes/kernel: fix symlink logic when bundling initramfs images

git at git.openembedded.org git at git.openembedded.org
Fri Jul 1 15:32:03 UTC 2016


rpurdie pushed a commit to branch master
in repository openembedded-core.

commit 7585ebbbe4e95870ab7475737ed5b94255351c72
Author: André Draszik <adraszik at tycoint.com>
AuthorDate: Fri Jun 24 14:40:08 2016 +0100

    classes/kernel: fix symlink logic when bundling initramfs images
    
    If linkpath points to the a file in KERNEL_OUTPUT_DIR, rather than
    outside, then symlink creation for the bundled initramfs image files
    fails.
    
    This is because in that case $linkpath.initramfs and $realpath.initramfs
    are in the same directory, KERNEL_OUTPUT_DIR, and hence are the same.
    Since we just created $realpath.initramfs, creating a symlink with the
    same name will fail.
    
    Given that $linkpath is not necessarily the same as the kernel image type,
    just removing this symlink creation is not the right thing to do, as
    in that case kernel_do_deploy() wouldn't find the bundled file.
    
    What we really want is a symlink from the name of the initramfs-bundled
    kernel image type to the real initramfs-bundled kernel image, as that is
    what is actually used later in do_deploy().
    
    This brings the code path for when $KERNEL_OUTPUT_DIR/$type is a symlink
    in line with when it is not.
    
    Signed-off-by: André Draszik <adraszik at tycoint.com>
    Signed-off-by: Ross Burton <ross.burton at intel.com>
---
 meta/classes/kernel.bbclass | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 3127590..a56b66b 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -232,8 +232,7 @@ do_bundle_initramfs () {
 			if [ -n "$realpath" ]; then
 				mv -f $realpath $realpath.initramfs
 				mv -f $realpath.bak $realpath
-				cd ${B}/${KERNEL_OUTPUT_DIR}
-				ln -sf $linkpath.initramfs
+				ln -sf $linkpath.initramfs ${B}/${KERNEL_OUTPUT_DIR}/$type.initramfs
 			else
 				mv -f ${KERNEL_OUTPUT_DIR}/$type ${KERNEL_OUTPUT_DIR}/$type.initramfs
 				mv -f ${KERNEL_OUTPUT_DIR}/$type.bak ${KERNEL_OUTPUT_DIR}/$type

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list