From 2b739a6b9ee86f566e1c25a08ff11e6927cc2979 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Tue, 28 Jul 2009 11:26:35 +0200 Subject: Fix running the qtcreator script with traditional Bourne shell. First, there's no $( ) for subshells. You have to use backticks. Second problem, "VAR=value exec command" doesn't work. Split into variable setting, exporting and then exec'ing the program. Third, Solaris doesn't come with readlink, so parse the output of ls -l. --- bin/qtcreator | 37 ++++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/qtcreator b/bin/qtcreator index c142ea825a..b5f4f945d5 100755 --- a/bin/qtcreator +++ b/bin/qtcreator @@ -1,5 +1,36 @@ #!/bin/sh -bindir=$(dirname "$(readlink -nf $0)") -libdir=$(cd "${bindir}/../lib" ; pwd) -LD_LIBRARY_PATH="${libdir}/qtcreator:${LD_LIBRARY_PATH}" exec "${bindir}/qtcreator.bin" ${1+"$@"} +function makeAbsolute() { + case "$1" in + /*) + # already absolute, return it + echo "$1" + ;; + *) + # relative, prepend $2 made absolute + echo `makeAbsolute "$2" "$PWD"`/"$1" | sed 's,/\.$,,' + ;; + esac +} + +if test -L "$0"; then + # Try readlink(1) + readlink=`type readlink 2>/dev/null` || readlink= + if test -n "$readlink"; then + # We have readlink(1), so we can use it + me=`readlink -nf "$0"` + else + # No readlink(1), so let's try ls -l + me=`ls -l "$0" | sed 's/^.*-> //'` + base=`dirname "$0"` + me=`makeAbsolute "$me" "$base"` + fi +else + me="$0" +fi + +bindir=`dirname "$me"` +libdir=`cd "${bindir}/../lib" ; pwd` +LD_LIBRARY_PATH="${libdir}/qtcreator:${LD_LIBRARY_PATH}" +export LD_LIBRARY_PATH +exec "${bindir}/qtcreator.bin" ${1+"$@"} -- cgit v1.2.3