Message ID | 20180401200516.21064-1-arnout@mind.be |
---|---|
State | Accepted |
Commit | b3a5ab4c7aeebee21370655e82be5aeeaa84cf28 |
Headers | show |
Series | check-package: support symlinks to the script | expand |
Hello, On Sun, Apr 01, 2018 at 05:05 PM, Arnout Vandecappelle (Essensium/Mind) wrote: > 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> Sorry. I forgot about this use case. Thank you for fixing it. Regards, Ricardo
>>>>> "Arnout" == Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> writes: > 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> Committed, thanks.
diff --git a/utils/check-package b/utils/check-package index d9b719783d..3dbc28b0a2 100755 --- a/utils/check-package +++ b/utils/check-package @@ -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)
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> --- utils/check-package | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)