-
Notifications
You must be signed in to change notification settings - Fork 0
/
chromium-wrapper
87 lines (73 loc) · 2.51 KB
/
chromium-wrapper
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#!/bin/sh
# Chromium launcher
# Authors:
# Fabien Tassin <[email protected]>
# License: GPLv2 or later
APPNAME=chromium
LIBDIR=@LIBDIR@/$APPNAME
GDB=/usr/bin/gdb
usage () {
echo "$APPNAME [-h|--help] [-g|--debug] [options] [URL]"
echo
echo " -g or --debug Start within $GDB"
echo " -h or --help This help screen"
}
# chromium needs to know where its libs are located
if [ "Z$LD_LIBRARY_PATH" != Z ] ; then
LD_LIBRARY_PATH=$LIBDIR:$LD_LIBRARY_PATH
else
LD_LIBRARY_PATH=$LIBDIR
fi
export LD_LIBRARY_PATH
# Set CHROME_VERSION_EXTRA visible in the About dialog and in about:version
export CHROME_VERSION_EXTRA="Built from source for @@BUILDTARGET@@"
# xdg-settings should in PATH
PATH=$PATH:$LIBDIR
export PATH
want_debug=0
while [ $# -gt 0 ]; do
case "$1" in
-h | --help | -help )
usage
exit 0 ;;
-g | --debug )
want_debug=1
shift ;;
-- ) # Stop option prcessing
shift
break ;;
* )
break ;;
esac
done
if [ ! -u $CHROME_SANDBOX ] ; then
echo "The chrome_sandbox binary does not have the SETUID set.\n"
echo "This is most likely caused by the permission state (Secure/Paranoid) of the system. Therefore running Chromium is not possible."
fi
# Detect if PepperFlash is installed, if so enable it
if [ -f @LIBDIR@/chromium/PepperFlash/libpepflashplayer.so ]; then
PEPPER_FLASH_VERSION=$(grep '"version":' @LIBDIR@/chromium/PepperFlash/manifest.json| grep -Po '(?<=version": ")(?:\d|\.)*')
PEPPERFLASH="--ppapi-flash-path=@LIBDIR@/chromium/PepperFlash/libpepflashplayer.so --ppapi-flash-version=$PEPPER_FLASH_VERSION"
fi
# Default CHROMIUM_FLAGS (/etc/chromium/default)
if [ -f /etc/$APPNAME/default ]; then
. /etc/$APPNAME/default
fi
# Prefer user defined CHROMIUM_USER_FLAGS (from env) over system
CHROMIUM_FLAGS=${CHROMIUM_USER_FLAGS:-$CHROMIUM_FLAGS}
if [ $want_debug -eq 1 ] ; then
if [ ! -x $GDB ] ; then
echo "Sorry, can't find usable $GDB. Please install it."
exit 1
fi
tmpfile=`mktemp /tmp/chromiumargs.XXXXXX` || { echo "Cannot create temporary file" >&2; exit 1; }
trap " [ -f \"$tmpfile\" ] && /bin/rm -f -- \"$tmpfile\"" 0 1 2 3 13 15
echo "set args ${1+"$@"}" > $tmpfile
echo "# Env:"
echo "# LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
echo "$GDB $LIBDIR/$APPNAME -x $tmpfile"
$GDB "$LIBDIR/$APPNAME" -x $tmpfile
exit $?
else
exec $LIBDIR/$APPNAME ${CHROMIUM_FLAGS} ${PEPPERFLASH} "--enable-plugins" "--enable-extensions" "--enable-user-scripts" "--enable-printing" "--enable-sync" "$@"
fi