openwrt_archive/package/system/opkg/patches/240-fix-force-checksum-for-sha256.patch
John Crispin 4dd5f4009e opkg: Fix --force-checksum when using SHA256
Allow installing packages with mismatching SHA256 checksums via

$ opkg install --force-checksum $PACKAGE

Signed-off-by: Florian Fieber <florian@florianfieber.de>

SVN-Revision: 45904
2015-06-05 14:12:45 +00:00

32 lines
1.1 KiB
Diff

--- a/libopkg/opkg_install.c
+++ b/libopkg/opkg_install.c
@@ -1364,12 +1364,22 @@ opkg_install_pkg(pkg_t *pkg, int from_up
file_sha256 = file_sha256sum_alloc(pkg->local_filename);
if (file_sha256 && strcmp(file_sha256, pkg->sha256sum))
{
- opkg_msg(ERROR, "Package %s sha256sum mismatch. "
- "Either the opkg or the package index are corrupt. "
- "Try 'opkg update'.\n",
- pkg->name);
- free(file_sha256);
- return -1;
+ if (!conf->force_checksum)
+ {
+ opkg_msg(ERROR,
+ "Package %s sha256sum mismatch. "
+ "Either the opkg or the package index are corrupt. "
+ "Try 'opkg update'.\n",
+ pkg->name);
+ free(file_sha256);
+ return -1;
+ }
+ else
+ {
+ opkg_msg(NOTICE,
+ "Ignored %s sha256sum mismatch.\n",
+ pkg->name);
+ }
}
if (file_sha256)
free(file_sha256);