Skip to content

Commit

Permalink
scripts/env_use_destdir: propagate PREFIX, LIBDIR, BINDIR, etc.
Browse files Browse the repository at this point in the history
On systems using non-default `PREFIX`, `LIBDIR`, `SHLIBDIR`, `BINDIR`
or `SBINDIR`, running
`DESTDIR=/path/to/destdir ./scripts/env_use_destdir make test`
does not perform the intended behavior, because the testing programs and
libraries are installed into locations that are not added to
`LD_LIBRARY_PATH` nor `PATH`.

More precisely, with `LIBDIR=/usr/lib64 SHLIBDIR=/lib64`, `env_use_destdir`
does not work. Fix this by adding the installation directories relative
to `DESTDIR` in `LD_LIBRARY_PATH` and `PATH`.

Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
Acked-by: Petr Lautrbach <plautrba@redhat.com>
  • Loading branch information
fishilico authored and bachradsusi committed May 5, 2020
1 parent e505694 commit 1baa8ff
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions scripts/env_use_destdir
Expand Up @@ -22,7 +22,26 @@ if [ -z "${DESTDIR:-}" ] ; then
fi

export LD_LIBRARY_PATH="$DESTDIR/usr/lib:$DESTDIR/lib"
if [ -n "${PREFIX:-}" ] ; then
LD_LIBRARY_PATH="$DESTDIR$PREFIX/lib:$LD_LIBRARY_PATH"
fi
if [ -n "${LIBDIR:-}" ] ; then
LD_LIBRARY_PATH="$DESTDIR$LIBDIR:$LD_LIBRARY_PATH"
fi
if [ -n "${SHLIBDIR:-}" ] ; then
LD_LIBRARY_PATH="$DESTDIR$SHLIBDIR:$LD_LIBRARY_PATH"
fi

export PATH="$DESTDIR/usr/sbin:$DESTDIR/usr/bin:$DESTDIR/sbin:$DESTDIR/bin:$PATH"
if [ -n "${PREFIX:-}" ] ; then
PATH="$DESTDIR$PREFIX/sbin:$DESTDIR$PREFIX/bin:$LD_LIBRARY_PATH"
fi
if [ -n "${BINDIR:-}" ] ; then
PATH="$DESTDIR$BINDIR:$PATH"
fi
if [ -n "${SBINDIR:-}" ] ; then
PATH="$DESTDIR$SBINDIR:$PATH"
fi

NEW_PYTHONPATH="$DESTDIR$(${PYTHON:-python3} -c "from distutils.sysconfig import *;print(get_python_lib(plat_specific=1, prefix='/usr'))"):$DESTDIR$(${PYTHON:-python3} -c "from distutils.sysconfig import *;print(get_python_lib(prefix='/usr'))")"
if [ -n "${PYTHONPATH:-}" ] ; then
Expand Down

0 comments on commit 1baa8ff

Please sign in to comment.