forked from kryton/hue
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathrelocatable.sh
61 lines (53 loc) · 1.75 KB
/
relocatable.sh
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
#!/bin/bash
# Licensed to Cloudera, Inc. under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. Cloudera, Inc. licenses this file
# to you 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.
set -e
usage() {
echo "
Make a Hue installation relocatable. Run this in the installation
directory created by 'make install', before you relocate it.
Usage:
$0
"
exit 1
}
if [ $# != 0 ] ; then
usage
fi
# We're in <hue_root>/tools
CURR_DIR="$(dirname $0)"
HUE_ROOT="$CURR_DIR/.."
ENV_PYTHON="$HUE_ROOT/build/env/bin/python"
VIRTUAL_BOOTSTRAP="$CURR_DIR/virtual-bootstrap/virtual-bootstrap.py"
# Step 1. Fix virtualenv
$ENV_PYTHON $VIRTUAL_BOOTSTRAP --relocatable "$HUE_ROOT/build/env"
# Step 1b. Fix any broken lib64 directory
LIB64="$HUE_ROOT/build/env/lib64"
if [ -L "$LIB64" -a ! -e "$LIB64" ] ; then
rm "$LIB64"
ln -s lib "$LIB64"
fi
# Step 2. Fix .ini symlinks for all apps (make them relative)
for app in $HUE_ROOT/apps/* ; do
if [ -d "$app/conf" ] ; then
appname=$(basename $app)
pushd "$HUE_ROOT/desktop/conf"
ln -sfv ../../apps/$appname/conf/*.ini .
popd
fi
done
# Step 3. Clean up any old .pyc files
find "$HUE_ROOT" . -name "*.pyc" -exec rm -f {} \;