On 4/20/07, Nagy Gabor <ngaba@petra.hos.u-szeged.hu> wrote:
this is totally unrelated to multiple repos i'm sure Yes, I am too. But I want to find out which repo contains a dep circle. I repeated the test with one-one repos: the sortbydeps part took about <1 min for each repo. But with 3 repos I got the terrible result again. I looked into the source again... ... and I found a bug: for(l = alpm_pkg_get_provides(q); l; l = l->next) { const char *provname = l->data; if(!strcmp(depend->name, provname)) { if(!_alpm_pkg_find(provname, tmptargs)) { change = 1; tmptargs = alpm_list_add(tmptargs, q); } break; } } Look at _alpm_pkg_find(provname, tmptargs): this should be _alpm_pkg_find(qname, tmptargs) !!!
Where is qname defined? And can you please explain why and not just what the bug is? In addition, patch format is much easier for everyone to put in context- it has line numbers, function names, etc. -Dan