Advertisement
Guest User

firefox.sh

a guest
Apr 29th, 2011
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.04 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. set -e
  4.  
  5. # Firefox launcher containing a Profile migration helper for
  6. # temporary profiles used during alpha and beta phases.
  7.  
  8. # Authors:
  9. # Alexander Sack <asac@jwsdot.com>
  10. # Fabien Tassin <fta@sofaraway.org>
  11. # Steve Langasek <steve.langasek@canonical.com>
  12. # Chris Coulson <chris.coulson@canonical.com>
  13. # License: GPLv2 or later
  14.  
  15. PROFILE=$HOME/.mozilla/firefox
  16. LIBDIR=/usr/lib/firefox-4.0
  17. NAME=`which $0`
  18. MOZ_APP_LAUNCHER=$NAME
  19. SERIES=4.0
  20. DISPLAYNAME="Firefox"
  21. EXE=firefox-bin
  22. APPNAME=firefox
  23.  
  24. export MOZ_APP_LAUNCHER
  25.  
  26. while [ ! -x $LIBDIR/$EXE ] ; do
  27. if [ -L "$NAME" ] ; then
  28. NAME=`readlink -f $NAME`
  29. LIBDIR=`dirname $NAME`
  30. else
  31. echo "Can't find $LIBDIR/$EXE"
  32. exit 1
  33. fi
  34. done
  35.  
  36. usage () {
  37. $LIBDIR/$EXE -h | sed -e 's,/.*/,,'
  38. echo
  39. echo " -g or --debug Start within debugger"
  40. echo " -d or --debugger Specify debugger to start with (eg, gdb or valgrind)"
  41. echo " -a or --debugger-args Specify arguments for debugger"
  42. }
  43.  
  44. moz_debug=0
  45. moz_debugger_args=""
  46. moz_debugger="gdb"
  47.  
  48. while [ $# -gt 0 ]; do
  49. case "$1" in
  50. -h | --help )
  51. usage
  52. exit 0
  53. ;;
  54. -g | --debug )
  55. moz_debug=1
  56. shift
  57. ;;
  58. -d | --debugger)
  59. moz_debugger=$2;
  60. if [ "${moz_debugger}" != "" ]; then
  61. shift 2
  62. else
  63. echo "-d requires an argument"
  64. exit 1
  65. fi
  66. ;;
  67. -a | --debugger-args )
  68. moz_debugger_args=$2;
  69. if [ "${moz_debugger_args}" != "" ] ; then
  70. shift 2
  71. else
  72. echo "-a requires an argument"
  73. exit 1
  74. fi
  75. ;;
  76. -- ) # Stop option processing
  77. shift
  78. break
  79. ;;
  80. * )
  81. break
  82. ;;
  83. esac
  84. done
  85.  
  86. if [ -x $LIBDIR/xulapp-profilemigrator ] ; then
  87. RUN_MIGRATOR=0
  88. if [ ! -d $PROFILE ] ; then
  89. RUN_MIGRATOR=1
  90. elif [ -f $PROFILE.last-version ] ; then
  91. last_series=`cat $PROFILE.last-version`
  92. if [ $SERIES != $last_series ] ; then
  93. RUN_MIGRATOR=1
  94. fi
  95. else
  96. RUN_MIGRATOR=1
  97. fi
  98.  
  99. if [ "$RUN_MIGRATOR" = "1" ] ; then
  100. $LIBDIR/xulapp-profilemigrator -s $SERIES -p $PROFILE -d $DISPLAYNAME -a $APPNAME
  101. fi
  102. fi
  103.  
  104. LD_LIBRARY_PATH=${LIBDIR}:${LIBDIR}/plugins${LD_LIBRARY_PATH:+":$LD_LIBRARY_PATH"}
  105. export LD_LIBRARY_PATH
  106.  
  107. if [ $moz_debug -eq 1 ] ; then
  108. debugger=`which $moz_debugger`
  109. if [ ! -x $debugger ] ; then
  110. echo "Invalid debugger"
  111. exit 1
  112. fi
  113.  
  114. case `basename $debugger` in
  115. gdb)
  116. exec $debugger $moz_debugger_args --args $LIBDIR/$EXE "$@"
  117. ;;
  118. valgrind)
  119. exec $debugger $moz_debugger_args $LIBDIR/$EXE "$@"
  120. ;;
  121. *)
  122. exec $debugger $moz_debugger_args $LIBDIR/$EXE "$@"
  123. ;;
  124. esac
  125. else
  126. exec $LIBDIR/$EXE "$@"
  127. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement