check-package: support symlinks to the script
authorArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Sun, 1 Apr 2018 20:05:16 +0000 (22:05 +0200)
committerPeter Korsgaard <peter@korsgaard.com>
Sun, 1 Apr 2018 20:41:54 +0000 (22:41 +0200)
The check-package script finds base_dir (= the Buildroot directory) and
cd's into it. To be able to support relative paths as arguments, it
first recalculates the arguments relative to base_dir.

However, if there is a symlink anywhere on the path to the
check-package script, the relative paths will be wrong. To solve this,
use realpath() instead of abspath(), so symlinks are resolved before
calculating the relative path.

Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
utils/check-package

index d9b719783d46fd41ecd50bdd8f48c556113c120d..3dbc28b0a280712d95a368186dd9f8237a410e79 100755 (executable)
@@ -143,7 +143,7 @@ def __main__():
 
     if flags.intree_only:
         # change all paths received to be relative to the base dir
-        base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
+        base_dir = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
         files_to_check = [os.path.relpath(os.path.abspath(f), base_dir) for f in flags.files]
         # move current dir so the script find the files
         os.chdir(base_dir)