chiark / gitweb /
117e720c64c522f1f52d40de0ede7de1697aa237
[jarrg-owen.git] / jwrap-script-jpctb
1 #!/bin/bash
2 set -e$JWRAP_SCRIPT_X
3
4 exec 4>&2
5 exec 2>>/home/ian/u
6 date >&2
7
8 unwire () {
9         ldp="$LD_PRELOAD:"
10         ldp2=''
11
12         while [ "x$ldp" != x ]; do
13                 this="${ldp%%:*}"
14                 ldp="${ldp#*:}"
15                 case "$this" in
16                 *libjwrap*.so.*)                                ;;
17                 *)                      ldp2="$ldp2$this:"      ;;
18                 esac
19         done
20
21         if [ "x$ldp2" != x ]; then
22                 LD_PRELOAD="${ldp2%:}"
23         else
24                 unset LD_PRELOAD
25         fi
26
27         unset JWRAP_SCRIPT
28 }
29
30 true jwrap-script-pctb: "$@"
31
32 path="$1"; shift
33 arg0="$1"; shift
34
35 args=( "$@" )
36 nargs=${#args[*]}
37 lastarg="${args[$(( $nargs - 1 ))]}"
38
39 fail () {
40         echo >&2 "jwrap-script: $*"
41         exit 127
42 }
43
44 if [ x"$lastarg" = x"com.threerings.yohoho.client.YoApp" ]; then
45         case "$path" in
46         */bin/java) ;;
47         *)      fail "unexpected path format $path" ;;
48         esac
49         [ x"$JWRAP_EXTDIR" != x ] || fail 'JWRAP_EXTDIR not set'
50         extdirs="$JWRAP_EXTDIR:${path%/bin/java}/lib/ext"
51
52         set     -e$JWRAP_SCRIPT_X -- \
53                 -Djavax.accessibility.assistive_technologies=com.tedpearson.ypp.market.MarketUploader \
54                 -Djava.ext.dirs="$extdirs" \
55                 "$@"
56
57         unwire
58 fi
59
60 exec -a "$arg0" /dev/jwrap/bypass "$path" "$@" 2>&4