diff options
author | Michael Schroeder <mls@suse.de> | 2009-07-21 13:06:10 +0200 |
---|---|---|
committer | Michael Schroeder <mls@suse.de> | 2009-07-21 13:06:10 +0200 |
commit | ba02863a46f9e20945d387853748eca471e4d287 (patch) | |
tree | b7c7d3d6ae8f2da1bf09e4285117cbd5e6a6c226 /src/repo_solv.c | |
parent | 0686141ab1fad8c7fc31b29724a4c6f55fb73bc9 (diff) | |
download | libsolv-ba02863a46f9e20945d387853748eca471e4d287.tar.gz libsolv-ba02863a46f9e20945d387853748eca471e4d287.tar.bz2 libsolv-ba02863a46f9e20945d387853748eca471e4d287.zip |
- fix stub handling bugs
Diffstat (limited to 'src/repo_solv.c')
-rw-r--r-- | src/repo_solv.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/repo_solv.c b/src/repo_solv.c index 848eb93..c3f0792 100644 --- a/src/repo_solv.c +++ b/src/repo_solv.c @@ -1286,11 +1286,14 @@ printf("=> %s %s %p\n", id2str(pool, keys[key].name), id2str(pool, keys[key].typ } /* create stub repodata entries for all external */ - for (key = 1 ; key < data.nkeys; key++) - if (data.keys[key].name == REPOSITORY_EXTERNAL && data.keys[key].type == REPOKEY_TYPE_FLEXARRAY) - break; - if (key < data.nkeys && !parent) - repodata_create_stubs(&data); + if (!(flags & SOLV_ADD_NO_STUBS) && !parent) + { + for (key = 1 ; key < data.nkeys; key++) + if (data.keys[key].name == REPOSITORY_EXTERNAL && data.keys[key].type == REPOKEY_TYPE_FLEXARRAY) + break; + if (key < data.nkeys) + repodata_create_stubs(repo->repodata + (repo->nrepodata - 1)); + } POOL_DEBUG(SAT_DEBUG_STATS, "repo_add_solv took %d ms\n", sat_timems(now)); POOL_DEBUG(SAT_DEBUG_STATS, "repo size: %d solvables\n", repo->nsolvables); |