forked from vitessio/vitess
-
Notifications
You must be signed in to change notification settings - Fork 1
/
dev.env
131 lines (111 loc) · 4.14 KB
/
dev.env
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# No shebang line as this script is sourced from an external shell.
# Copyright 2017 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Plese ensure dev.env is written in a way which is POSIX (bourne)
# shell compatible.
# - Some build systems like rpm require the different scriptlets used
# to build a package to be run under a POSIX shell so non-POSIX
# syntax will break that as dev.env will not be sourced by bash..
# Import prepend_path function.
dir="$(dirname "${BASH_SOURCE[0]}")"
# shellcheck source=tools/shell_functions.inc
if ! source "${dir}/tools/shell_functions.inc"; then
echo "failed to load tools/shell_functions.inc"
return 1
fi
VTTOP=$(pwd)
export VTTOP
VTROOT="${VTROOT:-${VTTOP/\/src\/vitess.io\/vitess/}}"
export VTROOT
# VTTOP sanity check
if [[ "$VTTOP" == "${VTTOP/\/src\/vitess.io\/vitess/}" ]]; then
echo "WARNING: VTTOP($VTTOP) does not contain src/vitess.io/vitess"
fi
export GOTOP=$VTTOP/go
export PYTOP=$VTTOP/py
export VTDATAROOT="${VTDATAROOT:-${VTROOT}/vtdataroot}"
mkdir -p "$VTDATAROOT"
export VTPORTSTART=15000
# Add all site-packages or dist-packages directories below $VTROOT/dist to $PYTHONPATH.
BACKUP_IFS="$IFS"
IFS="
"
# Note that the escaped ( ) around the -or expression are important.
# Otherwise, the -print would match *all* files.
for p in $(find "$VTROOT/dist" \( -name site-packages -or -name dist-packages \) -print); do
PYTHONPATH=$(prepend_path "$PYTHONPATH" "$pypath")
done
IFS="$BACKUP_IFS"
PYTHONPATH=$(prepend_path "$PYTHONPATH" "$VTROOT/py-vtdb")
PYTHONPATH=$(prepend_path "$PYTHONPATH" "$VTROOT/dist/selenium")
PYTHONPATH=$(prepend_path "$PYTHONPATH" "$VTTOP/test")
PYTHONPATH=$(prepend_path "$PYTHONPATH" "$VTTOP/test/cluster/sandbox")
export PYTHONPATH
# Ensure bootstrap.sh uses python2 on systems which default to python3.
command -v python2 >/dev/null && PYTHON=python2 || PYTHON=python
export PYTHON
command -v pip2 >/dev/null && PIP=pip2 || PIP=pip
export PIP
command -v virtualenv2 >/dev/null && VIRTUALENV=virtualenv2 || VIRTUALENV=virtualenv
export VIRTUALENV
# Add the current GOBIN
if [ "$GOBIN" ]; then
PATH=$(prepend_path "$PATH" "$GOBIN")
fi
# Many tests rely on "go install" and assume GOBIN is really $VTROOT/bin.
# Make sure these take precedence.
GOBIN=$VTROOT/bin
export GOBIN
PATH=$(prepend_path "$PATH" "$GOBIN")
# Add chromedriver to path for Selenium tests.
PATH=$(prepend_path "$PATH" "$VTROOT/dist/chromedriver")
# Node path.
PATH=$(prepend_path "$PATH" "$VTROOT/dist/node/bin")
export PATH
# GOROOT sanity
go_bin=$(which go)
go_env=$(go env | grep GOROOT | cut -f 2 -d\")
if [[ "$go_bin" != "" && "$go_bin" != "$go_env/bin/go" ]]; then
echo "WARNING: \$GOROOT may not be compatible with the used go binary"
echo "Please make sure 'go' comes from \$GOROOT/bin"
echo "go_env: $go_env"
echo "go_bin: $go_bin"
fi
# mysql install location. Please set based on your environment.
# Build will not work if this is incorrect.
if [[ "$VT_MYSQL_ROOT" == "" ]]; then
if [[ "$(which mysql)" == "" ]]; then
echo "WARNING: VT_MYSQL_ROOT unset because mysql not found. Did you install a client package?"
else
VT_MYSQL_ROOT=$(dirname "$(dirname "$(which mysql)")")
export VT_MYSQL_ROOT
fi
fi
# restore MYSQL_FLAVOR, saved by bootstrap.sh
if [ -r "$VTROOT/dist/MYSQL_FLAVOR" ]; then
MYSQL_FLAVOR=$(cat "$VTROOT/dist/MYSQL_FLAVOR")
export MYSQL_FLAVOR
fi
# mysql cgo library config
if [ -z "$MYSQL_FLAVOR" ]; then
export MYSQL_FLAVOR=MariaDB
fi
PKG_CONFIG_PATH=$(prepend_path "$PKG_CONFIG_PATH" "$VTROOT/lib")
export PKG_CONFIG_PATH
GOPATH=$(prepend_path "$GOPATH" "$VTROOT")
export GOPATH
# Useful aliases. Remove if inconvenient.
alias gt='cd $GOTOP'
alias pt='cd $PYTOP'
alias vt='cd $VTTOP'