hash_table_deinit(&conf->pkg_hash);
}
-int dist_hash_add_from_file(const char *lists_dir, pkg_src_t * dist)
-{
- nv_pair_list_elt_t *l;
- char *list_file, *subname;
-
- list_for_each_entry(l, &conf->arch_list.head, node) {
- nv_pair_t *nv = (nv_pair_t *) l->data;
- sprintf_alloc(&subname, "%s-%s", dist->name, nv->name);
- sprintf_alloc(&list_file, "%s/%s", lists_dir, subname);
-
- if (file_exists(list_file)) {
- if (pkg_hash_add_from_file(list_file, dist, NULL, 0, 0, NULL, NULL)) {
- free(list_file);
- return -1;
- }
- pkg_src_list_append(&conf->pkg_src_list, subname,
- dist->value, "__dummy__", 0);
- }
-
- free(list_file);
- }
-
- return 0;
-}
-
int
pkg_hash_add_from_file(const char *file_name,
pkg_src_t * src, pkg_dest_t * dest, int is_status_file, int state_flags,
{
char **unresolved = NULL;
char **tmp;
- pkg_vec_t *depends, *all;
- int i, res = 0;
+ pkg_vec_t *depends;
+ int res = 0;
depends = pkg_vec_alloc();
- all = pkg_vec_alloc();
- pkg_hash_fetch_available(all);
- /* backup dependencies_checked marks, they get destroyed by pkg_hash_fetch_unsatisfied_dependencies */
- for (i = 0; i < all->len; i++)
- all->pkgs[i]->parent->prev_dependencies_checked = all->pkgs[i]->parent->dependencies_checked;
-
- pkg_hash_fetch_unsatisfied_dependencies(maybe, depends, &unresolved);
+ pkg_hash_fetch_unsatisfied_dependencies(maybe, depends, &unresolved, 1);
if (unresolved) {
res = 1;
}
pkg_vec_free(depends);
- /* restore dependencies_checked marks */
- for (i = 0; i < all->len; i++)
- all->pkgs[i]->parent->dependencies_checked = all->pkgs[i]->parent->prev_dependencies_checked;
-
- pkg_vec_free(all);
-
return res;
}
they show up twice sometimes. */
if ((arch_priority > 0)
&&
- (!pkg_vec_contains(matching_pkgs, maybe))
- &&
- (!pkg_hash_check_unresolved(maybe))) {
- max_count++;
- abstract_pkg_vec_insert(matching_apkgs,
- maybe->parent);
- pkg_vec_insert(matching_pkgs, maybe);
+ (!pkg_vec_contains(matching_pkgs, maybe))) {
+ if (!pkg_hash_check_unresolved(maybe)) {
+ max_count++;
+ abstract_pkg_vec_insert(matching_apkgs,
+ maybe->parent);
+ pkg_vec_insert(matching_pkgs, maybe);
+ }
}
}