summaryrefslogtreecommitdiff
path: root/contrib/scripts
diff options
context:
space:
mode:
authorTzafrir Cohen <tzafrir.cohen@xorcom.com>2012-07-13 00:05:46 +0000
committerTzafrir Cohen <tzafrir.cohen@xorcom.com>2012-07-13 00:05:46 +0000
commit2603707f301a05f07e73134c6baa9e904b7fac7d (patch)
tree0e6e2689dc88b96426798c0966b7a692ed5d94a6 /contrib/scripts
parenta7dfafdc56bf018e0acacdf0692d7c1eefd43d8d (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
Diffstat (limited to 'contrib/scripts')
-rwxr-xr-xcontrib/scripts/live_ast12
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"