summaryrefslogtreecommitdiff
path: root/indra/newview/linux_tools
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2012-03-20 14:23:00 -0400
committerNat Goodspeed <nat@lindenlab.com>2012-03-20 14:23:00 -0400
commit9d9ad9a876d6498a89f9aeefc9bf258e1674dae7 (patch)
tree5c6af2d37fac17101a3dd4b03392bd3f90c62b28 /indra/newview/linux_tools
parent0c8fac147d2baed8d8ef0e8c9bdcc47cb3082854 (diff)
Tighten Linux treatment of command-line args to 'secondlife' script.
New --leap switch takes a quoted command line likely to contain spaces. Sloppy handling of quoted arguments definitely gets us into trouble. Fix that.
Diffstat (limited to 'indra/newview/linux_tools')
-rwxr-xr-xindra/newview/linux_tools/wrapper.sh28
1 files changed, 13 insertions, 15 deletions
diff --git a/indra/newview/linux_tools/wrapper.sh b/indra/newview/linux_tools/wrapper.sh
index 283a28a0aa..90771f1174 100755
--- a/indra/newview/linux_tools/wrapper.sh
+++ b/indra/newview/linux_tools/wrapper.sh
@@ -110,22 +110,22 @@ export SAVED_LD_LIBRARY_PATH="${LD_LIBRARY_PATH}"
# fi
#fi
-export SL_ENV='LD_LIBRARY_PATH="`pwd`"/lib:"${LD_LIBRARY_PATH}"'
-export SL_CMD='$LL_WRAPPER bin/do-not-directly-run-secondlife-bin'
-export SL_OPT="`cat etc/gridargs.dat` $@"
+export LD_LIBRARY_PATH="$PWD/lib:${LD_LIBRARY_PATH}"
-# Run the program
-eval ${SL_ENV} ${SL_CMD} ${SL_OPT} || LL_RUN_ERR=runerr
+# Run the program.
+# Don't quote $LL_WRAPPER because, if empty, it should simply vanish from the
+# command line. Similar remarks about the contents of gridargs.dat. But DO
+# quote "$@": preserve separate args as individually quoted.
+$LL_WRAPPER bin/do-not-directly-run-secondlife-bin $(<etc/gridargs.dat) "$@"
+LL_RUN_ERR=$?
# Handle any resulting errors
-if [ -n "$LL_RUN_ERR" ]; then
- LL_RUN_ERR_MSG=""
- if [ "$LL_RUN_ERR" = "runerr" ]; then
- # generic error running the binary
- echo '*** Bad shutdown. ***'
- if [ "`uname -m`" = "x86_64" ]; then
- echo
- cat << EOFMARKER
+if [ $LL_RUN_ERR -ne 0 ]; then
+ # generic error running the binary
+ echo '*** Bad shutdown ($LL_RUN_ERR). ***'
+ if [ "$(uname -m)" = "x86_64" ]; then
+ echo
+ cat << EOFMARKER
You are running the Second Life Viewer on a x86_64 platform. The
most common problems when launching the Viewer (particularly
'bin/do-not-directly-run-secondlife-bin: not found' and 'error while
@@ -134,10 +134,8 @@ distribution's 32-bit compatibility packages.
For example, on Ubuntu and other Debian-based Linuxes you might run:
$ sudo apt-get install ia32-libs ia32-libs-gtk ia32-libs-kde ia32-libs-sdl
EOFMARKER
- fi
fi
fi
-
echo
echo '*******************************************************'