# To Public License, Version 2, as published by Sam Hocevar. See
# http://sam.zoy.org/wtfpl/COPYING for more details.
#
-# 7z from p7zip-full is needed, it can be installed with
-# sudo aptitude install p7zip-full
+# wget and 7z from p7zip-full are needed, they can be installed with
+# sudo aptitude install wget p7zip-full
set -e
-SDK_URL=${SDK_URL:-"http://download.microsoft.com/download/8/4/C/84C9EF40-EE49-42C2-AE26-C6E30921182F/KinectSDK32.msi"}
+SDK_URL=${SDK_URL:-"http://download.microsoft.com/download/F/9/9/F99791F2-D5BE-478A-B77A-830AD14950C3/KinectSDK-v1.0-beta2-x86.msi"}
+SDK_MD5="40764fe9e00911bda5095e5be777e311"
[ $# -lt 1 ] && { echo "usage: $(basename "$0") <firmware destdir> [<path of kinect_upload_fw binary>]" 1>&2; exit 1; }
FW_DESTDIR=$(readlink -f $1)
cd "$TEMPDIR"
ARCHIVE_NAME=$(basename "$SDK_URL")
rm -f "$ARCHIVE_NAME" && wget "$SDK_URL" -O "$ARCHIVE_NAME"
-7z e -y -r "$ARCHIVE_NAME" "UACFirmware.*"
+
+ARCHIVE_MD5=$(md5sum "$ARCHIVE_NAME" | grep --only-matching -m 1 '^[0-9a-f]*')
+if [ "$ARCHIVE_MD5" != "$SDK_MD5" ];
+then
+ echo "$(basename "$0"): Invalid hash for file '$ARCHIVE_NAME'." 1>&2
+ exit 1
+fi
+
+echo -n "Extracting the UAC firmware..."
+7z e -y -r "$ARCHIVE_NAME" "UACFirmware.*" > /dev/null
+echo " done."
FW_FILE=$(ls UACFirmware.* | cut -d ' ' -f 1)