File: bladerf-fpga-hostedxa5.postinst

package info (click to toggle)
bladerf 0.2022.11-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 373,752 kB
  • sloc: ansic: 1,186,428; xml: 150,799; vhdl: 24,182; tcl: 15,408; python: 3,409; sh: 1,551; makefile: 1,255; asm: 158; csh: 18; cpp: 9
file content (55 lines) | stat: -rw-r--r-- 1,461 bytes parent folder | download | duplicates (2)
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/hostedxA5.rbf'
CHECKSUM='ae6391cc3fd467bbb07868450612ce17'
SHA256SUM='fae3b8bfee070afdb170014c39b3f56e0935aec8beea62e2d0c9fae7c40ddff5'
DATAFILE='/usr/share/Nuand/bladeRF/hostedxA5.rbf'
DESCRIPT='FPGA bitstream'
MYNAMEIS='bladerf-fpga-hostedxa5'

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#