diff mbox series

wic/rootfs.py: allow --exclude-path option to exclude symlinks

Message ID 20241011091935.363864-1-yi.zhao@windriver.com
State Accepted, archived
Commit 42e829ac1e9d74646b6dfb327b18b15f6b0df60b
Headers show
Series wic/rootfs.py: allow --exclude-path option to exclude symlinks | expand

Commit Message

Yi Zhao Oct. 11, 2024, 9:19 a.m. UTC
Currently, if we specify a symbolic link in --exclude-path option,
we will get the following error in do_image_wic:

ERROR: --exclude-path: Must point inside the rootfs: usr/bin/hello.link

This is because it uses os.path.realpath to eliminate symbolic links. To
exclude symbolic links, use os.path.abspath instead of os.path.realpath.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
---
 scripts/lib/wic/plugins/source/rootfs.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/scripts/lib/wic/plugins/source/rootfs.py b/scripts/lib/wic/plugins/source/rootfs.py
index ecf749740d..592bcf5175 100644
--- a/scripts/lib/wic/plugins/source/rootfs.py
+++ b/scripts/lib/wic/plugins/source/rootfs.py
@@ -41,7 +41,7 @@  class RootfsPlugin(SourcePlugin):
         # Disallow climbing outside of parent directory using '..',
         # because doing so could be quite disastrous (we will delete the
         # directory, or modify a directory outside OpenEmbedded).
-        full_path = os.path.realpath(os.path.join(rootfs_dir, path))
+        full_path = os.path.abspath(os.path.join(rootfs_dir, path))
         if not full_path.startswith(os.path.realpath(rootfs_dir)):
             logger.error("%s: Must point inside the rootfs:" % (cmd, path))
             sys.exit(1)