forked from qt-creator/qt-creator
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.
This commit is contained in:
@@ -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+"$@"}
|
||||
|
||||
Reference in New Issue
Block a user