home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2007 September / PCWSEP07.iso / Software / Linux / Linux Mint 3.0 Light / LinuxMint-3.0-Light.iso / casper / filesystem.squashfs / usr / bin / beagled < prev    next >
Encoding:
Text File  |  2007-04-12  |  3.2 KB  |  116 lines

  1. #!/bin/bash
  2.  
  3. # This line will be automatically uncommented when you "make install"
  4. installed=1
  5.  
  6.     # Otherwise default to running in the background
  7.     fg_default=0
  8.  
  9.     TARGET_EXE="/usr/lib/beagle/BeagleDaemon.exe"
  10.  
  11.     export _BEAGLED_INDEX_HELPER_PATH="/usr/lib/beagle"
  12.     export MONO_PATH="/usr/lib/beagle${MONO_PATH+:$MONO_PATH}"
  13.     export LD_LIBRARY_PATH="/usr/lib/beagle${LD_LIBRARY_PATH+:$LD_LIBRARY_PATH}"
  14.  
  15. EVO_LIBDIR=""
  16. if [ -n "$EVO_LIBDIR" ]; then
  17.     export LD_LIBRARY_PATH="$EVO_LIBDIR${LD_LIBRARY_PATH+:$LD_LIBRARY_PATH}"
  18. fi
  19.  
  20. monogrind=0
  21. heap_buddy=0
  22. heap_shot=0
  23. mono_debug=0
  24. mdb=0
  25.  
  26. BEAGLED_ARGS="$*"
  27. for i in $BEAGLED_ARGS; do
  28.     case "$i" in
  29.     --help | --list-backends | --fg | --foreground ) fg_user=1 ;;
  30.     --bg | --background ) fg_user=0 ;;
  31.     --monogrind ) monogrind=1 ;;
  32.     --heap-buddy ) heap_buddy=1 ;;
  33.     --heap-shot ) heap_shot=1 ;;
  34.     --mdb ) mdb=1 ;;
  35.     --mono-debug ) mono_debug=1 ;;
  36.     esac
  37. done
  38.  
  39. # If the user didn't specify to run in fg/bg, then use the default
  40. if [ -z "$fg_user" ]; then
  41.     fg=$fg_default
  42. else
  43.     fg=$fg_user
  44. fi
  45.  
  46. # Handle logging, and optionally append the relevent default fg/bg argument if
  47. # it was not user-specified.
  48. if [ $fg -eq 1 ]; then
  49.     [ -z "$fg_user" ] && FGBG_ARG="--fg";
  50.     export BEAGLE_LOG_IN_THE_FOREGROUND_PLEASE=1
  51. else
  52.     [ -z "$fg_user" ] && FGBG_ARG="--bg";
  53.     unset BEAGLE_LOG_IN_THE_FOREGROUND_PLEASE
  54. fi
  55.  
  56. if [ $heap_buddy -eq 1 ]; then
  57.    export _GET_ON_THE_HEAP_BUDDY_BANDWAGON=1
  58.    if [ -z "$BEAGLE_HEAP_BUDDY_DIR" ]; then
  59.       export BEAGLE_HEAP_BUDDY_DIR=.
  60.    fi
  61.    MONO_EXTRA_ARGS="--profile=heap-buddy:$BEAGLE_HEAP_BUDDY_DIR/outfile.beagled $MONO_EXTRA_ARGS"
  62.    rm -f $BEAGLE_HEAP_BUDDY_DIR/outfile.beagled $BEAGLE_HEAP_BUDDY_DIR/outfile.helper.*
  63. elif [ $heap_shot -eq 1 ]; then
  64.    export _HEY_LETS_DO_A_HEAP_SHOT=1
  65.    if [ -z "$BEAGLE_HEAP_SHOT_DIR" ]; then
  66.       export BEAGLE_HEAP_SHOT_DIR=.
  67.    fi
  68.    MONO_EXTRA_ARGS="--profile=heap-shot:$BEAGLE_HEAP_SHOT_DIR/outfile.beagled $MONO_EXTRA_ARGS"
  69.    rm -f $BEAGLE_HEAP_SHOT_DIR/outfile.beagled_* $BEAGLE_HEAP_SHOT_DIR/outfile.helper_*
  70. fi
  71.  
  72.  
  73.  
  74. if [ $mono_debug -eq 1 ]; then
  75.    export BEAGLE_MONO_DEBUG_FLAG_IS_SET=1
  76.    MONO_EXTRA_ARGS="--debug $MONO_EXTRA_ARGS"
  77. fi
  78.  
  79. # The BEAGLE_MONO_RUNTIME variable can be used to specify the path
  80. # to an alternative runtime.
  81. if [ -z "$BEAGLE_MONO_RUNTIME" ]; then
  82.    export BEAGLE_MONO_RUNTIME="mono"
  83. else
  84.    echo "*** Using mono runtime at $BEAGLE_MONO_RUNTIME ***"
  85. fi
  86.  
  87. if [ $monogrind -eq 1 ]; then
  88.     export GC_DONT_GC=1
  89.     CMDLINE="monogrind $TARGET_EXE $MONO_EXTRA_ARGS $BEAGLED_ARGS $FGBG_ARG"
  90. elif [ $mdb -eq 1 ]; then
  91.     CMDLINE="mdb $TARGET_EXE -args $BEAGLED_ARGS $FGBG_ARG"
  92. else
  93.     CMDLINE="$BEAGLE_MONO_RUNTIME $MONO_EXTRA_ARGS $TARGET_EXE $BEAGLED_ARGS $FGBG_ARG"
  94. fi
  95.  
  96. PROCESS_NAME="beagled"
  97.  
  98. if [ $fg -eq 1 ]; then
  99.     exec -a $PROCESS_NAME $CMDLINE
  100.     exit 1
  101. else
  102.     exec -a $PROCESS_NAME $CMDLINE &
  103. fi
  104.  
  105. # If beagled (in --bg mode) has exited with some errors, we need 
  106. # to inform the users about the same. This 500 milli-seconds sleep
  107. # is to wait for the daemon to start and exit, in case of errors ;)
  108. # Fixes http://bugzilla.gnome.org/show_bug.cgi?id=171975
  109.  
  110. sleep 0.5
  111.  
  112. if ! ps -p $! > /dev/null; then
  113.     echo "Beagle Daemon exited with errors.  See ~/.beagle/Log/current-Beagle for more details."
  114.     exit 1
  115. fi
  116.