|
@@ -0,0 +1,31 @@
|
|
|
|
|
+--- 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);
|