onos-buck
1.24 KB
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
#!/bin/bash
# -----------------------------------------------------------------------------
# Runs the custom version of Buck required by ONOS.
# -----------------------------------------------------------------------------
set -e
BUCK_URL="http://onlab.vicci.org/onos/third-party/buck-v2016.10.12.01.zip"
BUCK_SHA="d2e0dafa4f4434c76cea2ceb036847596385e218"
REQUIRED_VERSION="buck version e99a5d2eb229ec9aafc9df073a85e51087e4d1dc"
[ "-U" = "$1" ] && shift && FORCE_UPDATE=True
mkdir -p $ONOS_ROOT/bin
pushd $ONOS_ROOT/bin > /dev/null
if [ -n "$FORCE_UPDATE" ] || [ ! -f "buck" ] || [ "$REQUIRED_VERSION" != "$(cat .buck_version)" ]; then
echo "Downloading Buck..."
rm -fr .buck_version buck buck.zip plugins
curl -o ./buck.zip -L $BUCK_URL
if [ -n "$(which shasum)" ]; then
SHA=$(shasum ./buck.zip | cut -d' ' -f1)
[ "$SHA" != "$BUCK_SHA" ] &&
echo "ERROR: Downloaded SHA ($SHA) does not match expected SHA ($BUCK_SHA)" &&
exit 1
else
echo "SHA cannot be verified"
fi
unzip buck.zip
rm buck.zip
rm -rf $ONOS_ROOT/buck-out
printf "Successfully downloaded Buck to $ONOS_ROOT/bin/buck\n\n"
fi
popd > /dev/null
BUCK=$ONOS_ROOT/bin/buck
# Finally, run the Buck command...
$BUCK "$@"