firmware: only fetch changelogs if the server file changed

This commit is contained in:
Franco Fichtner 2021-11-15 14:18:47 +01:00
parent 2a4c3a4869
commit 3585c06da6

View File

@ -38,6 +38,11 @@ changelog_remove()
echo '[]' > ${DESTDIR}/index.json
}
changelog_checksum()
{
echo $(sha256 -q "${1}" 2> /dev/null || true)
}
changelog_fetch()
{
CORE_ABI=$(opnsense-version -a)
@ -52,11 +57,17 @@ changelog_fetch()
URL="${URLPREFIX}/sets/changelog.txz"
rm -rf ${WORKDIR}
mkdir -p ${WORKDIR}
CHECKSUM=$(changelog_checksum ${WORKDIR}/changelog.txz)
${FETCH} -mo ${WORKDIR}/changelog.txz "${URL}"
if [ "${CHECKSUM}" = "$(changelog_checksum ${WORKDIR}/changelog.txz)" ]; then
exit 1
fi
${FETCH} -o ${WORKDIR}/changelog.txz.sig "${URL}.sig"
${FETCH} -o ${WORKDIR}/changelog.txz "${URL}"
opnsense-verify -q ${WORKDIR}/changelog.txz
changelog_remove