[dpdk-dev] scripts: fix relpath.sh output when $prefix is set in environment

Message ID 37b46e91bdb51e6116df9a7edc2eb79206237f1c.1449837863.git.pmatilai@redhat.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

Panu Matilainen Dec. 11, 2015, 12:44 p.m. UTC
  When relpath.sh is called from install target with prefix set, eg
"make install DESTDIR=/tmp/dpdk-root prefix=/usr", the prefix
from the environment leaks to relpath.sh internal helper variable and
causes incorrect symlinks to be generated in sdk $(targetdir):

   include -> /usr../../../include/dpdk
   lib -> /usr../../../lib

Initialize the local variable to empty to avoid side-effects from
environment.

Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
---
 scripts/relpath.sh | 2 ++
 1 file changed, 2 insertions(+)
  

Comments

Thomas Monjalon Dec. 11, 2015, 1:04 p.m. UTC | #1
2015-12-11 14:44, Panu Matilainen:
> When relpath.sh is called from install target with prefix set, eg
> "make install DESTDIR=/tmp/dpdk-root prefix=/usr", the prefix
> from the environment leaks to relpath.sh internal helper variable and
> causes incorrect symlinks to be generated in sdk $(targetdir):
> 
>    include -> /usr../../../include/dpdk
>    lib -> /usr../../../lib
> 
> Initialize the local variable to empty to avoid side-effects from
> environment.
> 
> Signed-off-by: Panu Matilainen <pmatilai@redhat.com>

Good catch!
Fixes: 6b62a72a70d0 ("mk: install a standard cutomizable tree")
Applied, thanks
  

Patch

diff --git a/scripts/relpath.sh b/scripts/relpath.sh
index 7d2f48f..4ff4671 100755
--- a/scripts/relpath.sh
+++ b/scripts/relpath.sh
@@ -61,6 +61,8 @@  right2=${REL2#*/}
 prev_right2=$REL2
 prev_left2=
 
+prefix=
+
 while [ "${right1}" != "" -a "${right2}" != "" ]; do
 
 	if [ "$left1" != "$left2" ]; then