"Fossies" - the Fresh Open Source Software Archive

Member "palemoon/run-mozilla.sh" (11 Sep 2021, 8915 Bytes) of package /linux/www/palemoon-29.4.1.linux-x86_64-gtk3.tar.xz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Bash source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 #!/bin/sh
    2 #
    3 # This Source Code Form is subject to the terms of the Mozilla Public
    4 # License, v. 2.0. If a copy of the MPL was not distributed with this
    5 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
    6 cmdname=`basename "$0"`
    7 MOZ_DIST_BIN=`dirname "$0"`
    8 MOZ_DEFAULT_NAME="./${cmdname}-bin"
    9 MOZ_APPRUNNER_NAME="./mozilla-bin"
   10 MOZ_PROGRAM=""
   11 
   12 exitcode=1
   13 #
   14 ##
   15 ## Functions
   16 ##
   17 ##########################################################################
   18 moz_usage()
   19 {
   20 echo "Usage:  ${cmdname} [options] [program]"
   21 echo ""
   22 echo "  options:"
   23 echo ""
   24 echo "    -g                   Run in debugger."
   25 echo "    --debug"
   26 echo ""
   27 echo "    -d debugger          Debugger to use."
   28 echo "    --debugger debugger"
   29 echo ""
   30 echo "    -a debugger_args     Arguments passed to [debugger]."
   31 echo "    --debugger-args debugger_args"
   32 echo ""
   33 echo "  Examples:"
   34 echo ""
   35 echo "  Run the mozilla-bin binary"
   36 echo ""
   37 echo "    ${cmdname} mozilla-bin"
   38 echo ""
   39 echo "  Debug the mozilla-bin binary in gdb"
   40 echo ""
   41 echo "    ${cmdname} -g mozilla-bin -d gdb"
   42 echo ""
   43 echo "  Run mozilla-bin under valgrind with arguments"
   44 echo ""
   45 echo "    ${cmdname} -g -d valgrind -a '--tool=memcheck --leak-check=full' mozilla-bin"
   46 echo ""
   47     return 0
   48 }
   49 ##########################################################################
   50 moz_bail()
   51 {
   52     message=$1
   53     echo
   54     echo "$cmdname: $message"
   55     echo
   56     exit 1
   57 }
   58 ##########################################################################
   59 moz_test_binary()
   60 {
   61     binary=$1
   62     if [ -f "$binary" ]
   63     then
   64         if [ -x "$binary" ]
   65         then
   66             return 1
   67         fi
   68     fi
   69     return 0
   70 }
   71 ##########################################################################
   72 moz_get_debugger()
   73 {
   74     debuggers="ddd gdb dbx bdb native-gdb"
   75     debugger="notfound"
   76     done="no"
   77     for d in $debuggers
   78     do
   79         moz_test_binary /bin/which
   80         if [ $? -eq 1 ]
   81         then
   82             dpath=`which ${d}`  
   83         else    
   84             dpath=`LC_MESSAGES=C type ${d} | awk '{print $3;}' | sed -e 's/\.$//'`  
   85         fi
   86         if [ -x "$dpath" ]
   87         then
   88             debugger=$dpath
   89             break
   90         fi
   91     done
   92     echo $debugger
   93     return 0
   94 }
   95 ##########################################################################
   96 moz_run_program()
   97 {
   98     prog=$MOZ_PROGRAM
   99     ##
  100     ## Make sure the program is executable
  101     ##
  102     if [ ! -x "$prog" ]
  103     then
  104         moz_bail "Cannot execute $prog."
  105     fi
  106     ##
  107     ## Run the program
  108     ##
  109     exec "$prog" ${1+"$@"}
  110     exitcode=$?
  111 }
  112 ##########################################################################
  113 moz_debug_program()
  114 {
  115     prog=$MOZ_PROGRAM
  116     ##
  117     ## Make sure the program is executable
  118     ##
  119     if [ ! -x "$prog" ]
  120     then
  121         moz_bail "Cannot execute $prog."
  122     fi
  123     if [ -n "$moz_debugger" ]
  124     then
  125         moz_test_binary /bin/which
  126         if [ $? -eq 1 ]
  127         then    
  128             debugger=`which $moz_debugger` 
  129         else
  130             debugger=`LC_MESSAGES=C type $moz_debugger | awk '{print $3;}' | sed -e 's/\.$//'` 
  131         fi  
  132     else
  133         debugger=`moz_get_debugger`
  134     fi
  135     if [ -x "$debugger" ] 
  136     then
  137 # If you are not using ddd, gdb and know of a way to convey the arguments 
  138 # over to the prog then add that here- Gagan Saksena 03/15/00
  139         case `basename $debugger` in
  140             native-gdb) echo "$debugger $moz_debugger_args --args $prog" ${1+"$@"}
  141                 exec "$debugger" $moz_debugger_args --args "$prog" ${1+"$@"}
  142                 exitcode=$?
  143                 ;;
  144             gdb) echo "$debugger $moz_debugger_args --args $prog" ${1+"$@"}
  145                 exec "$debugger" $moz_debugger_args --args "$prog" ${1+"$@"}
  146         exitcode=$?
  147                 ;;
  148             ddd) echo "$debugger $moz_debugger_args --gdb -- --args $prog" ${1+"$@"}
  149         exec "$debugger" $moz_debugger_args --gdb -- --args "$prog" ${1+"$@"}
  150         exitcode=$?
  151                 ;;
  152             *) echo "$debugger $moz_debugger_args $prog ${1+"$@"}"
  153                 exec $debugger $moz_debugger_args "$prog" ${1+"$@"}
  154         exitcode=$?
  155                 ;;
  156         esac
  157     else
  158         moz_bail "Could not find a debugger on your system."
  159     fi
  160 }
  161 ##########################################################################
  162 ##
  163 ## Command line arg defaults
  164 ##
  165 moz_debug=0
  166 moz_debugger=""
  167 moz_debugger_args=""
  168 #
  169 ##
  170 ## Parse the command line
  171 ##
  172 while [ $# -gt 0 ]
  173 do
  174   case $1 in
  175     -g | --debug)
  176       moz_debug=1
  177       shift
  178       ;;
  179     -d | --debugger)
  180       moz_debugger=$2;
  181       if [ "${moz_debugger}" != "" ]; then
  182     shift 2
  183       else
  184         echo "-d requires an argument"
  185         exit 1
  186       fi
  187       ;;
  188     -a | --debugger-args)
  189       moz_debugger_args=$2;
  190       if [ "${moz_debugger_args}" != "" ]; then
  191     shift 2
  192       else
  193         echo "-a requires an argument"
  194         exit 1
  195       fi
  196       ;;
  197     *)
  198       break;
  199       ;;
  200   esac
  201 done
  202 #
  203 ##
  204 ## Program name given in $1
  205 ##
  206 if [ $# -gt 0 ]
  207 then
  208     MOZ_PROGRAM=$1
  209     shift
  210 fi
  211 ##
  212 ## Program not given, try to guess a default
  213 ##
  214 if [ -z "$MOZ_PROGRAM" ]
  215 then
  216     ##
  217     ## Try this script's name with '-bin' appended
  218     ##
  219     if [ -x "$MOZ_DEFAULT_NAME" ]
  220     then
  221         MOZ_PROGRAM=$MOZ_DEFAULT_NAME
  222     ##
  223     ## Try mozilla-bin
  224     ## 
  225     elif [ -x "$MOZ_APPRUNNER_NAME" ]
  226     then
  227         MOZ_PROGRAM=$MOZ_APPRUNNER_NAME
  228     fi
  229 fi
  230 #
  231 #
  232 ##
  233 ## Make sure the program is executable
  234 ##
  235 if [ ! -x "$MOZ_PROGRAM" ]
  236 then
  237     moz_bail "Cannot execute $MOZ_PROGRAM."
  238 fi
  239 #
  240 ##
  241 ## Set MOZILLA_FIVE_HOME
  242 ##
  243 MOZILLA_FIVE_HOME=$MOZ_DIST_BIN
  244 
  245 if [ -z "$MRE_HOME" ]; then
  246     MRE_HOME=$MOZILLA_FIVE_HOME
  247 fi
  248 ##
  249 ## Set LD_LIBRARY_PATH
  250 ##
  251 ## On Solaris we use $ORIGIN (set in RUNPATH) instead of LD_LIBRARY_PATH 
  252 ## to locate shared libraries. 
  253 ##
  254 ## When a shared library is a symbolic link, $ORIGIN will be replaced with
  255 ## the real path (i.e., what the symbolic link points to) by the runtime
  256 ## linker.  For example, if dist/bin/libxul.so is a symbolic link to
  257 ## toolkit/library/libxul.so, $ORIGIN will be "toolkit/library" instead of "dist/bin".
  258 ## So the runtime linker will use "toolkit/library" NOT "dist/bin" to locate the
  259 ## other shared libraries that libxul.so depends on.  This only happens
  260 ## when a user (developer) tries to start firefox, thunderbird, or seamonkey
  261 ## under dist/bin. To solve the problem, we should rely on LD_LIBRARY_PATH
  262 ## to locate shared libraries.
  263 ##
  264 ## Note: 
  265 ##  We test $MOZ_DIST_BIN/*.so. If any of them is a symbolic link,
  266 ##  we need to set LD_LIBRARY_PATH.
  267 ##########################################################################
  268 moz_should_set_ld_library_path()
  269 {
  270     [ `uname -s` != "SunOS" ] && return 0
  271     for sharedlib in $MOZ_DIST_BIN/*.so
  272     do
  273         [ -h $sharedlib ] && return 0
  274     done
  275     return 1
  276 }
  277 if moz_should_set_ld_library_path
  278 then
  279     LD_LIBRARY_PATH=${MOZ_DIST_BIN}:${MOZ_DIST_BIN}/plugins:${MRE_HOME}${LD_LIBRARY_PATH:+":$LD_LIBRARY_PATH"}
  280 fi 
  281 
  282 if [ -n "$LD_LIBRARYN32_PATH" ]
  283 then
  284     LD_LIBRARYN32_PATH=${MOZ_DIST_BIN}:${MOZ_DIST_BIN}/plugins:${MRE_HOME}${LD_LIBRARYN32_PATH:+":$LD_LIBRARYN32_PATH"}
  285 fi
  286 if [ -n "$LD_LIBRARYN64_PATH" ]
  287 then
  288     LD_LIBRARYN64_PATH=${MOZ_DIST_BIN}:${MOZ_DIST_BIN}/plugins:${MRE_HOME}${LD_LIBRARYN64_PATH:+":$LD_LIBRARYN64_PATH"}
  289 fi
  290 if [ -n "$LD_LIBRARY_PATH_64" ]; then
  291     LD_LIBRARY_PATH_64=${MOZ_DIST_BIN}:${MOZ_DIST_BIN}/plugins:${MRE_HOME}${LD_LIBRARY_PATH_64:+":$LD_LIBRARY_PATH_64"}
  292 fi
  293 #
  294 #
  295 ## Set SHLIB_PATH for HPUX
  296 SHLIB_PATH=${MOZ_DIST_BIN}:${MRE_HOME}${SHLIB_PATH:+":$SHLIB_PATH"}
  297 #
  298 ## Set LIBPATH for AIX
  299 LIBPATH=${MOZ_DIST_BIN}:${MRE_HOME}${LIBPATH:+":$LIBPATH"}
  300 #
  301 ## Set DYLD_LIBRARY_PATH for Mac OS X (Darwin)
  302 DYLD_LIBRARY_PATH=${MOZ_DIST_BIN}:${MRE_HOME}${DYLD_LIBRARY_PATH:+":$DYLD_LIBRARY_PATH"}
  303 #
  304 ## Solaris Xserver(Xsun) tuning - use shared memory transport if available
  305 if [ "$XSUNTRANSPORT" = "" ]
  306 then 
  307         XSUNTRANSPORT="shmem" 
  308         XSUNSMESIZE="512"
  309         export XSUNTRANSPORT XSUNSMESIZE
  310 fi
  311 
  312 # Disable Gnome crash dialog
  313 GNOME_DISABLE_CRASH_DIALOG=1
  314 export GNOME_DISABLE_CRASH_DIALOG
  315 
  316 if [ "$moz_debug" -eq 1 ]
  317 then
  318   echo "MOZILLA_FIVE_HOME=$MOZILLA_FIVE_HOME"
  319   echo "  LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
  320   if [ -n "$LD_LIBRARYN32_PATH" ]
  321   then
  322     echo "LD_LIBRARYN32_PATH=$LD_LIBRARYN32_PATH"
  323   fi
  324   if [ -n "$LD_LIBRARYN64_PATH" ]
  325   then
  326     echo "LD_LIBRARYN64_PATH=$LD_LIBRARYN64_PATH"
  327   fi
  328   if [ -n "$LD_LIBRARY_PATH_64" ]; then
  329     echo "LD_LIBRARY_PATH_64=$LD_LIBRARY_PATH_64"
  330   fi
  331   if [ -n "$DISPLAY" ]; then
  332        echo "DISPLAY=$DISPLAY"
  333   fi
  334   if [ -n "$FONTCONFIG_PATH" ]; then
  335     echo "FONTCONFIG_PATH=$FONTCONFIG_PATH"
  336   fi
  337   if [ -n "$MOZILLA_POSTSCRIPT_PRINTER_LIST" ]; then
  338        echo "MOZILLA_POSTSCRIPT_PRINTER_LIST=$MOZILLA_POSTSCRIPT_PRINTER_LIST"
  339   fi
  340   echo "DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH"
  341   echo "     LIBRARY_PATH=$LIBRARY_PATH"
  342   echo "       SHLIB_PATH=$SHLIB_PATH"
  343   echo "          LIBPATH=$LIBPATH"
  344   echo "       ADDON_PATH=$ADDON_PATH"
  345   echo "      MOZ_PROGRAM=$MOZ_PROGRAM"
  346   echo "      MOZ_TOOLKIT=$MOZ_TOOLKIT"
  347   echo "        moz_debug=$moz_debug"
  348   echo "     moz_debugger=$moz_debugger"
  349   echo "moz_debugger_args=$moz_debugger_args"
  350 fi
  351 #
  352 export MOZILLA_FIVE_HOME LD_LIBRARY_PATH
  353 export SHLIB_PATH LIBPATH LIBRARY_PATH ADDON_PATH DYLD_LIBRARY_PATH
  354 
  355 if [ $moz_debug -eq 1 ]
  356 then
  357     moz_debug_program ${1+"$@"}
  358 else
  359     moz_run_program ${1+"$@"}
  360 fi
  361 
  362 exit $exitcode