[meta-arm] arm-autonomy/arm-autonomy-host-image-minimal: Resolve guest path if symlink

Submitted by Nathan Dunne on Nov. 10, 2020, 1:41 p.m. | Patch ID: 178106

Details

Message ID 20201110134152.14805-1-Nathan.Dunne@arm.com
State New
Headers show

Commit Message

Nathan Dunne Nov. 10, 2020, 1:41 p.m.
In ARM_AUTONOMY_HOST_IMAGE_EXTERN_GUESTS, remove fatal error if guest path
is a symlink, and instead resolve using os.path.realpath.

Issue-Id: SCM-638
Signed-off-by: Nathan Dunne <Nathan.Dunne@arm.com>

Change-Id: Ic4fdd7ae03ed6bb6caa55e722b89114080c90f4c
---
 .../images/arm-autonomy-host-image-minimal.bb            | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

-- 
2.17.1
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#1354): https://lists.yoctoproject.org/g/meta-arm/message/1354
Mute This Topic: https://lists.yoctoproject.org/mt/78159106/1003190
Group Owner: meta-arm+owner@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/meta-arm/unsub [mhalstead@linuxfoundation.org]
-=-=-=-=-=-=-=-=-=-=-=-

Patch hide | download patch | download mbox

diff --git a/meta-arm-autonomy/recipes-core/images/arm-autonomy-host-image-minimal.bb b/meta-arm-autonomy/recipes-core/images/arm-autonomy-host-image-minimal.bb
index 188e31d..47a07cd 100644
--- a/meta-arm-autonomy/recipes-core/images/arm-autonomy-host-image-minimal.bb
+++ b/meta-arm-autonomy/recipes-core/images/arm-autonomy-host-image-minimal.bb
@@ -106,7 +106,14 @@  python add_extern_guests () {
         _, _, path, _, _, parm = bb.fetch.decodeurl(entry)
         if 'guestname' in parm:
             if os.path.islink(path):
-                bb.fatal("Guest file is a symlink: " + path)
+                realpath = os.path.realpath(path)
+
+                if not os.path.exists(realpath):
+                    bb.fatal("ARM_AUTONOMY_HOST_IMAGE_EXTERN_GUESTS link does not resolve: " + path)
+
+                bb.note("Guest file is a symlink:\n " + path + "\nResolved to:\n " + realpath)
+                path = realpath
+
             bb.utils.mkdirhier(guestdir)
             dstname = parm['guestname']
             # Add file extension if not there

Comments

Jon Mason Nov. 16, 2020, 2:23 p.m.
On Tue, Nov 10, 2020 at 01:41:52PM +0000, Nathan Dunne wrote:
> In ARM_AUTONOMY_HOST_IMAGE_EXTERN_GUESTS, remove fatal error if guest path

> is a symlink, and instead resolve using os.path.realpath.

> 

> Issue-Id: SCM-638

> Signed-off-by: Nathan Dunne <Nathan.Dunne@arm.com>

> Change-Id: Ic4fdd7ae03ed6bb6caa55e722b89114080c90f4c


Pulled into master.

Thanks,
Jon

> ---

>  .../images/arm-autonomy-host-image-minimal.bb            | 9 ++++++++-

>  1 file changed, 8 insertions(+), 1 deletion(-)

> 

> diff --git a/meta-arm-autonomy/recipes-core/images/arm-autonomy-host-image-minimal.bb b/meta-arm-autonomy/recipes-core/images/arm-autonomy-host-image-minimal.bb

> index 188e31d..47a07cd 100644

> --- a/meta-arm-autonomy/recipes-core/images/arm-autonomy-host-image-minimal.bb

> +++ b/meta-arm-autonomy/recipes-core/images/arm-autonomy-host-image-minimal.bb

> @@ -106,7 +106,14 @@ python add_extern_guests () {

>          _, _, path, _, _, parm = bb.fetch.decodeurl(entry)

>          if 'guestname' in parm:

>              if os.path.islink(path):

> -                bb.fatal("Guest file is a symlink: " + path)

> +                realpath = os.path.realpath(path)

> +

> +                if not os.path.exists(realpath):

> +                    bb.fatal("ARM_AUTONOMY_HOST_IMAGE_EXTERN_GUESTS link does not resolve: " + path)

> +

> +                bb.note("Guest file is a symlink:\n " + path + "\nResolved to:\n " + realpath)

> +                path = realpath

> +

>              bb.utils.mkdirhier(guestdir)

>              dstname = parm['guestname']

>              # Add file extension if not there

> -- 

> 2.17.1

> 


> 

> 

>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#1368): https://lists.yoctoproject.org/g/meta-arm/message/1368
Mute This Topic: https://lists.yoctoproject.org/mt/78159106/1003190
Group Owner: meta-arm+owner@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/meta-arm/unsub [mhalstead@linuxfoundation.org]
-=-=-=-=-=-=-=-=-=-=-=-