scripts/build/debug/duma.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Jun 30 20:37:14 2008 +0000 (2008-06-30)
changeset 635 0d7348cb7faa
child 686 dd364fef67b4
permissions -rw-r--r--
Newer, better, tsocks(1)-like wrapper script for D.U.M.A.

/trunk/scripts/build/debug/duma.in | 44 44 0 0 ++++++++++++++++++++++++++++++++++++++++
/trunk/scripts/build/debug/200-duma.sh | 12 3 9 0 +++--------
2 files changed, 47 insertions(+), 9 deletions(-)
yann@635
     1
#!/bin/sh
yann@635
     2
# (C) 2008 Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
yann@635
     3
# Licensed under the GPL v.2
yann@635
     4
yann@635
     5
LIBDUMA_SO=
yann@635
     6
yann@635
     7
case "$1" in
yann@635
     8
  -on)
yann@635
     9
    case "${LD_PRELOAD}" in
yann@635
    10
      *${LIBDUMA_SO}*) ;;
yann@635
    11
      *) LD_PRELOAD="${LIBDUMA_SO} ${LD_PRELOAD}";;
yann@635
    12
    esac
yann@635
    13
    shift
yann@635
    14
    ;;
yann@635
    15
  -off)
yann@635
    16
    LD_PRELOAD="${LD_PRELOAD//${LIBDUMA_SO}/}"
yann@635
    17
    shift
yann@635
    18
    ;;
yann@635
    19
  -show)
yann@635
    20
    case "${LD_PRELOAD}" in
yann@635
    21
      *${LIBDUMA_SO}*) echo "duma is enabled";;
yann@635
    22
      *)               echo "duma is disabled";;
yann@635
    23
    esac
yann@635
    24
    exit 0
yann@635
    25
    ;;
yann@635
    26
  "")
yann@635
    27
    cat <<_EOF_
yann@635
    28
Usage:
yann@635
    29
    . $0 <-on|-off|-show>
yann@635
    30
        Sets, unsets or show DUMA usage.
yann@635
    31
    $0 <executable [arg...]>
yann@635
    32
        Execute 'executable' (with arguments 'args') using DUMA.
yann@635
    33
_EOF_
yann@635
    34
    false # Don't 'exit', we could well be source'd
yann@635
    35
    ;;
yann@635
    36
  *)
yann@635
    37
    exec "$0" -on "$@"
yann@635
    38
    ;;
yann@635
    39
esac
yann@635
    40
yann@635
    41
export LD_PRELOAD
yann@635
    42
if [ -n "$1" ]; then
yann@635
    43
  exec "$@"
yann@635
    44
fi