32 lines
1.1 KiB
Diff
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);
|