summaryrefslogtreecommitdiff
path: root/src/repo_solv.c
diff options
context:
space:
mode:
authorMichael Schroeder <mls@suse.de>2009-07-21 13:06:10 +0200
committerMichael Schroeder <mls@suse.de>2009-07-21 13:06:10 +0200
commitba02863a46f9e20945d387853748eca471e4d287 (patch)
treeb7c7d3d6ae8f2da1bf09e4285117cbd5e6a6c226 /src/repo_solv.c
parent0686141ab1fad8c7fc31b29724a4c6f55fb73bc9 (diff)
downloadlibsolv-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.c13
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);