blob: 892357894b65f92fdcb19aecf52041c77db1a6dd [file] [log] [blame]
Brian O'Connor9be23632016-04-08 18:23:45 -07001#/bin/bash
2# -----------------------------------------------------------------------------
3# Runs the custom version of Buck required by ONOS.
4# -----------------------------------------------------------------------------
5
6set -e
7
8BUCK_URL="https://github.com/bocon13/buck/releases/download/v2016.04.08.01/buck"
9BUCK_SHA="e22b6accd43cd3e928fe8e63256ebdc8f0b24cab"
10REQUIRED_VERSION="buck version ad0295088e5da2782062636ed97bd4f71c65bddd"
11
12[ "-U" = "$1" ] && shift && FORCE_UPDATE=True
13
14mkdir -p $ONOS_ROOT/bin
15pushd $ONOS_ROOT/bin > /dev/null
16
17if [ -n "$FORCE_UPDATE" ] || [ ! -f "buck" ] || [ "$REQUIRED_VERSION" != "$(cat .buck_version)" ]; then
18 echo "Downloading Buck..."
19 rm -f .buck_version buck
20 curl -o ./buck -L $BUCK_URL
21 if [ -n "$(which shasum)" ]; then
22 SHA=$(shasum ./buck | cut -d' ' -f1)
23 [ "$SHA" != "$BUCK_SHA" ] &&
24 echo "ERROR: Downloaded SHA ($SHA) does not match expected SHA ($BUCK_SHA)" &&
25 exit 1
26 else
27 echo "SHA cannot be verified"
28 fi
29 chmod 555 ./buck
30 echo $(./buck -V 2>/dev/null) > .buck_version
31 chmod 444 .buck_version
32 rm -rf ./buck_out
33 printf "Successfully downloaded Buck to $ONOS_ROOT/bin/buck\n\n"
34fi
35popd > /dev/null
36
37# Finally, run the Buck command...
38eval $ONOS_ROOT/bin/buck $*