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>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
# 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: %s" % (cmd, path))
sys.exit(1)