download: purge cached packages that have incorrect checksum
authorBaptiste Jonglez <git@bitsofnetworks.org>
Mon, 24 Aug 2020 23:00:31 +0000 (01:00 +0200)
committerPaul Spooren <mail@aparcar.org>
Tue, 24 Nov 2020 22:07:51 +0000 (12:07 -1000)
commitf73d42f0e951e71eae12ecac29b75b05ac543f5e
tree3d2ac20cd8b073d844be1ae45c0d6e48924f3a94
parent1c1480e573fc6b4c5f9c51bf225c32456672e5f8
download: purge cached packages that have incorrect checksum

Before using a package from the cache, verify its size and checksum
against a package index, and delete the package from the cache if they
don't match.  The install process will then proceed to download the
"fixed" package as usual.

This allows to cope with remote packages that are rebuilt while keeping
the same version number as packages in the local cache.  With this change,
any outdated package in the local cache will be purged and the new version
will be downloaded instead.

This is mostly useful when running opkg on the host (e.g. in the
imagebuilder).  When running on a device, no cache is configured by
default, so this change does nothing in that case.

Fixes: FS#2690
Signed-off-by: Baptiste Jonglez <git@bitsofnetworks.org>
libopkg/opkg_download.c