continue;
}
- if (!pkg_get_string(pkg, PKG_ARCHITECTURE) || !pkg->arch_priority) {
+ if (!pkg_get_architecture(pkg) || !pkg_get_arch_priority(pkg)) {
char *version_str = pkg_version_str_alloc(pkg);
opkg_msg(NOTICE, "Package %s version %s has no "
"valid architecture, ignoring.\n",
int nprovides = 0;
int nmatching = 0;
int wrong_arch_found = 0;
+ int arch_priority;
pkg_vec_t *matching_pkgs;
abstract_pkg_vec_t *matching_apkgs;
abstract_pkg_vec_t *provided_apkg_vec;
/* count packages matching max arch priority and keep track of last one */
for (j = 0; j < vec->len; j++) {
pkg_t *maybe = vec->pkgs[j];
+ arch_priority = pkg_get_arch_priority(maybe);
+
opkg_msg(DEBUG,
"%s arch=%s arch_priority=%d version=%s.\n",
- maybe->name, pkg_get_string(maybe, PKG_ARCHITECTURE),
- maybe->arch_priority, pkg_get_string(maybe, PKG_VERSION));
+ maybe->name, pkg_get_architecture(maybe),
+ arch_priority, pkg_get_string(maybe, PKG_VERSION));
/* We make sure not to add the same package twice. Need to search for the reason why
they show up twice sometimes. */
- if ((maybe->arch_priority > 0)
+ if ((arch_priority > 0)
&&
(!pkg_vec_contains(matching_pkgs, maybe))) {
max_count++;
int prio = 0;
for (i = 0; i < matching_pkgs->len; i++) {
pkg_t *matching = matching_pkgs->pkgs[i];
- if (matching->arch_priority > prio) {
+ arch_priority = pkg_get_arch_priority(matching);
+ if (arch_priority > prio) {
priorized_matching = matching;
- prio = matching->arch_priority;
+ prio = arch_priority;
opkg_msg(DEBUG, "Match %s with priority %i.\n",
matching->name, prio);
}
pkg_t *matching = matching_pkgs->pkgs[i];
opkg_msg(INFO, "%s %s %s\n",
matching->name, pkg_get_string(matching, PKG_VERSION),
- pkg_get_string(matching, PKG_ARCHITECTURE));
+ pkg_get_architecture(matching));
}
}
if (priorized_matching) {
opkg_msg(INFO, "Using priorized matching %s %s %s.\n",
priorized_matching->name, pkg_get_string(priorized_matching, PKG_VERSION),
- pkg_get_string(priorized_matching, PKG_ARCHITECTURE));
+ pkg_get_architecture(priorized_matching));
return priorized_matching;
}
if (nmatching > 1) {
if (latest_matching) {
opkg_msg(INFO, "Using latest matching %s %s %s.\n",
latest_matching->name, pkg_get_string(latest_matching, PKG_VERSION),
- pkg_get_string(latest_matching, PKG_ARCHITECTURE));
+ pkg_get_architecture(latest_matching));
return latest_matching;
}
return NULL;
buildProvides(ab_pkg, pkg);
+ init_providelist(pkg, NULL);
+
/* Need to build the conflicts graph before replaces for correct
* calculation of replaced_by relation.
*/