[dpdk-dev] buildtools: allow symlinks within a source directory

Message ID 1485173488-346-1-git-send-email-bruce.richardson@intel.com (mailing list archive)
State Accepted, archived
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel compilation success Compilation OK

Commit Message

Bruce Richardson Jan. 23, 2017, 12:11 p.m. UTC
  When creating the symlinks for header files to the include folder, the
relpath script dereferenced all symlinks. This made it impossible to
have file A.h renamed to B.h and then symlinked back to its original
name. This is useful to be able to do when refactoring or reworking
a library. Change this so that we just use the dirname of the path from
readlink, we can use the basename as it was originally, even if it was a
symlink.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 buildtools/relpath.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Thomas Monjalon Jan. 29, 2017, 9:22 p.m. UTC | #1
2017-01-23 12:11, Bruce Richardson:
> When creating the symlinks for header files to the include folder, the
> relpath script dereferenced all symlinks. This made it impossible to
> have file A.h renamed to B.h and then symlinked back to its original
> name. This is useful to be able to do when refactoring or reworking
> a library. Change this so that we just use the dirname of the path from
> readlink, we can use the basename as it was originally, even if it was a
> symlink.
> 
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>

Applied, thanks
  

Patch

diff --git a/buildtools/relpath.sh b/buildtools/relpath.sh
index 4ff4671..139b781 100755
--- a/buildtools/relpath.sh
+++ b/buildtools/relpath.sh
@@ -44,7 +44,7 @@  if [ $# -ne 2 ]; then
 fi
 
 # get the real absolute path, derefencing symlinks
-ABS1=$(readlink -f $1)
+ABS1="$(dirname $(readlink -f $1))/$(basename $1)"
 ABS2=$(readlink -f $2)
 
 # remove leading slash