diff mbox series

check-package: support symlinks to the script

Message ID 20180401200516.21064-1-arnout@mind.be
State Accepted
Commit b3a5ab4c7aeebee21370655e82be5aeeaa84cf28
Headers show
Series check-package: support symlinks to the script | expand

Commit Message

Arnout Vandecappelle April 1, 2018, 8:05 p.m. UTC
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(-)

Comments

Ricardo Martincoski April 1, 2018, 8:40 p.m. UTC | #1
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
Peter Korsgaard April 1, 2018, 8:42 p.m. UTC | #2
>>>>> "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 mbox series

Patch

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)