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
|
#!/bin/sh
set -e
UPSTREAM='https://www.nuand.com/fpga/v0.14.0/hostedxA9.rbf'
CHECKSUM='7dfe8c32f260d43a14b9583375a1a6eb'
SHA256SUM='622c08b49eec30e420c5ef86521a81c874a27d873df38d3ddc81afc71a461abb'
DATAFILE='/usr/share/Nuand/bladeRF/hostedxA9.rbf'
DESCRIPT='FPGA bitstream'
MYNAMEIS='bladerf-fpga-hostedxa9'
checkfile () {
[ -z "$1" ] && exit 3
md5sum --check <<- EOMD5SUM
${CHECKSUM} $1
EOMD5SUM
sha256sum --check <<- EOMD5SUM
${SHA256SUM} $1
EOMD5SUM
}
# Fetch firmware if needed
if [ ! -s ${DATAFILE} ] || ! checkfile ${DATAFILE}; then
echo "Either your ${DESCRIPT} is missing, or it is out-of-date."
echo "Downloading ${DESCRIPT} from ${UPSTREAM}..."
# Try downloading it
NEWFILE=$(mktemp)
[ -z "${NEWFILE}" ] && (echo "Unable to create temporary file!"; exit 2)
if wget -O ${NEWFILE} ${UPSTREAM} && checkfile ${NEWFILE}; then
# We're good! Copy it to its new home.
echo "Download successful, copying to ${DATAFILE}"
mv ${NEWFILE} ${DATAFILE}
chmod 0444 ${DATAFILE}
else
# It failed! Print an error and nuke the temporary file.
rm -f ${NEWFILE}
cat <<- EOMSG 1>&2
Warning: Failed to download ${DESCRIPT}.
Please run "dpkg-reconfigure ${MYNAMEIS}"
again when networking is up, or download the file manually:
URL: ${UPSTREAM}
File: ${DATAFILE}
EOMSG
# exit successfully, as otherwise the package is left
# half-configured and the surrounding install/upgrade fails
exit 0
fi
fi
#DEBHELPER#
|