diff options
author | Tzafrir Cohen <tzafrir.cohen@xorcom.com> | 2012-07-13 00:05:46 +0000 |
---|---|---|
committer | Tzafrir Cohen <tzafrir.cohen@xorcom.com> | 2012-07-13 00:05:46 +0000 |
commit | 2603707f301a05f07e73134c6baa9e904b7fac7d (patch) | |
tree | 0e6e2689dc88b96426798c0966b7a692ed5d94a6 | |
parent | a7dfafdc56bf018e0acacdf0692d7c1eefd43d8d (diff) |
live_ast: don't set working directory
contrib/scripts/live_ast currently assumes that it is being run from the
top-level directory of the source tree. It creates a script that will
also set the working directory.
This fix avoids the need to set the working directory if the caller sets
LIVE_AST_BASE_DIR instead.
It relies on realpath for that. If realpath is not available, it will
fall back to the original behaviour.
Review: https://reviewboard.asterisk.org/r/2027/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@370048 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rwxr-xr-x | contrib/scripts/live_ast | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/contrib/scripts/live_ast b/contrib/scripts/live_ast index 3ee6e02c1..188720f90 100755 --- a/contrib/scripts/live_ast +++ b/contrib/scripts/live_ast @@ -110,7 +110,7 @@ #LIVE_AST_FOR_SYSTEM=yes ####################### End Samples -BASE_DIR="$PWD/live" +BASE_DIR="${AST_LIVE_BASE_DIR:-$PWD/live}" AST_CONF_DIR="$BASE_DIR/etc/asterisk" AST_CONF="$AST_CONF_DIR/asterisk.conf" AST_BIN="$BASE_DIR/usr/sbin/asterisk" @@ -180,9 +180,19 @@ gen_live_asterisk() { cat <<EOF >"$BASE_DIR/asterisk" #!/bin/sh # a wrapper to run asterisk from the "live" copy: +EOF + if realpath $0 >/dev/null 2>&1; then + cat <<EOF >>"$BASE_DIR/asterisk" +export AST_LIVE_BASE_DIR="$PWD/live" +real_me='`realpath $0`' +exec "\$real_me" run "\$@" +EOF + else # No realpath. Fall back to change working directory: + cat <<EOF >>"$BASE_DIR/asterisk" cd "$PWD" exec "$0" run "\$@" EOF + fi } command="$1" |