while (1) {
char *cf_name;
char *cf_name_in_dest;
+ int i;
cf_name = file_read_line_alloc(conffiles_file);
if (cf_name == NULL) {
if (cf_name[0] == '\0') {
continue;
}
+ for (i = strlen(cf_name) - 1;
+ (i >= 0) && (cf_name[i] == ' ' || cf_name[i] == '\t');
+ i--
+ ) {
+ cf_name[i] = '\0';
+ }
/* Prepend dest->root_dir to conffile name.
Take pains to avoid multiple slashes. */
}
/* check that the repository is valid */
- #if defined(HAVE_GPGME) || defined(HAVE_OPENSSL)
+ #if defined(HAVE_GPGME) || defined(HAVE_OPENSSL) || defined(HAVE_USIGN)
char *list_file_name, *sig_file_name, *lists_dir;
/* check to ensure the package has come from a repository */
file_md5 = file_md5sum_alloc(pkg->local_filename);
if (file_md5 && strcmp(file_md5, pkg->md5sum))
{
- opkg_msg(ERROR, "Package %s md5sum mismatch. "
- "Either the opkg or the package index are corrupt. "
- "Try 'opkg update'.\n",
- pkg->name);
- free(file_md5);
- return -1;
+ if (!conf->force_checksum)
+ {
+ opkg_msg(ERROR, "Package %s md5sum mismatch. "
+ "Either the opkg or the package index are corrupt. "
+ "Try 'opkg update'.\n",
+ pkg->name);
+ free(file_md5);
+ return -1;
+ }
+ else
+ {
+ opkg_msg(NOTICE, "Ignored %s md5sum mismatch.\n", pkg->name);
+ }
}
if (file_md5)
free(file_md5);
opkg_state_changed++;
pkg->state_flag |= SF_FILELIST_CHANGED;
- if (old_pkg)
+ if (old_pkg) {
pkg_remove_orphan_dependent(pkg, old_pkg);
-
+ old_pkg->is_upgrade = 1;
+ pkg->is_upgrade = 1;
+ }
/* XXX: BUG: we really should treat replacement more like an upgrade
* Instead, we're going to remove the replacees
*/
}
- opkg_msg(INFO, "Installing maintainer scripts.\n");
+ opkg_msg(INFO, "%s maintainer scripts.\n", (pkg->is_upgrade) ? ("Upgrading") : ("Installing"));
if (install_maintainer_scripts(pkg, old_pkg)) {
opkg_msg(ERROR, "Failed to extract maintainer scripts for %s."
" Package debris may remain!\n",