From 9e0ed5ce174506b7a744a3ff243024c66e81e528 Mon Sep 17 00:00:00 2001 From: Nicolas Iooss Date: Sun, 20 Jan 2019 20:19:33 +0100 Subject: [PATCH] scripts: introduce env_use_destdir.sh helper Set-up environment variables in order to use DESTDIR in Python, Ruby, etc. This makes testing Python scripts easier. Signed-off-by: Nicolas Iooss --- .travis.yml | 5 +---- scripts/env_use_destdir | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 4 deletions(-) create mode 100755 scripts/env_use_destdir diff --git a/.travis.yml b/.travis.yml index 19914f4c..7a9e73ce 100644 --- a/.travis.yml +++ b/.travis.yml @@ -129,10 +129,7 @@ script: - make all $EXPLICIT_MAKE_VARS -k # Set up environment variables for the tests - - export LD_LIBRARY_PATH="$DESTDIR/usr/lib:$DESTDIR/lib" - - export PATH="$DESTDIR/usr/sbin:$DESTDIR/usr/bin:$DESTDIR/sbin:$DESTDIR/bin:$PATH" - - export PYTHONPATH="$DESTDIR$($PYTHON -c "from distutils.sysconfig import *;print(get_python_lib(prefix='/usr'))")" - - export RUBYLIB="$DESTDIR/$($RUBY -e 'puts RbConfig::CONFIG["vendorlibdir"]'):$DESTDIR/$($RUBY -e 'puts RbConfig::CONFIG["vendorarchdir"]')" + - . ./scripts/env_use_destdir # Show variables (to help debugging issues) - echo "$LD_LIBRARY_PATH" diff --git a/scripts/env_use_destdir b/scripts/env_use_destdir new file mode 100755 index 00000000..4fbfb8de --- /dev/null +++ b/scripts/env_use_destdir @@ -0,0 +1,36 @@ +#!/bin/sh +# Set-up environment variables to run programs which are built in DESTDIR folder +# +# Usage example to use variables in the current shell: +# $ export DESTDIR=$HOME/selinux-destdir +# $ make install install-pywrap install-rubywrap +# $ . ./scripts/env_use_destdir +# $ make test +# +# Or to use variables in a subcommand, for example to run tests: +# $ export DESTDIR=$HOME/selinux-destdir +# $ make install install-pywrap install-rubywrap +# $ ./scripts/env_use_destdir secilc ... +# $ ./scripts/env_use_destdir make test + +if [ -z "${DESTDIR:-}" ] ; then + echo >&2 "Error: variable DESTDIR needs to be defined in order to use this script." + echo >&2 "Example:" + # shellcheck disable=SC2164 + echo >&2 " DESTDIR=$(cd "$(dirname -- "$0")/.." ; pwd)/DESTDIR . $0" + exit 1 +fi + +export LD_LIBRARY_PATH="$DESTDIR/usr/lib:$DESTDIR/lib" +export PATH="$DESTDIR/usr/sbin:$DESTDIR/usr/bin:$DESTDIR/sbin:$DESTDIR/bin:$PATH" + +# shellcheck disable=SC2155 +export PYTHONPATH="$DESTDIR$(${PYTHON:-python} -c "from distutils.sysconfig import *;print(get_python_lib(prefix='/usr'))")" + +# shellcheck disable=SC2155 +export RUBYLIB="$DESTDIR/$(${RUBY:-ruby} -e 'puts RbConfig::CONFIG["vendorlibdir"]'):$DESTDIR/$(${RUBY:-ruby} -e 'puts RbConfig::CONFIG["vendorarchdir"]')" + +# Run the command given on the command line +if [ $# -gt 0 ] ; then + exec "$@" +fi