X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Frepo.h;h=bd9c58c74fbb8c4e6a68792cb6a8a09e8404c60d;hb=e679b515eddb3dd340fb25620de0160211f40fdc;hp=952dbebae836061bc80faa223addfdb6346a0a92;hpb=ba4d7201b44ecec1182b53571d98b2be4ca50264;p=platform%2Fupstream%2Flibsolv.git diff --git a/src/repo.h b/src/repo.h index 952dbeb..bd9c58c 100644 --- a/src/repo.h +++ b/src/repo.h @@ -15,6 +15,7 @@ #include "pooltypes.h" #include "pool.h" +#include "poolarch.h" #include "repodata.h" #include "dataiterator.h" #include "hash.h" @@ -72,8 +73,6 @@ extern Id repo_add_solvable_block_before(Repo *repo, int count, Repo *beforerepo extern Offset repo_addid(Repo *repo, Offset olddeps, Id id); extern Offset repo_addid_dep(Repo *repo, Offset olddeps, Id id, Id marker); extern Offset repo_reserve_ids(Repo *repo, Offset olddeps, int num); -extern Offset repo_fix_supplements(Repo *repo, Offset provides, Offset supplements, Offset freshens); -extern Offset repo_fix_conflicts(Repo *repo, Offset conflicts); static inline const char *repo_name(const Repo *repo) { @@ -100,13 +99,22 @@ static inline int pool_disabled_solvable(const Pool *pool, Solvable *s) return 0; } +static inline int pool_badarch_solvable(const Pool *pool, Solvable *s) +{ + if (!s->arch) + return 1; + if (pool->id2arch && pool_arch2score(pool, s->arch) == 0) + return 1; + return 0; +} + static inline int pool_installable(const Pool *pool, Solvable *s) { if (!s->arch || s->arch == ARCH_SRC || s->arch == ARCH_NOSRC) return 0; if (s->repo && s->repo->disabled) return 0; - if (pool->id2arch && (s->arch > pool->lastarch || !pool->id2arch[s->arch])) + if (pool->id2arch && pool_arch2score(pool, s->arch) == 0) return 0; if (pool->considered) { @@ -181,6 +189,11 @@ void repo_disable_paging(Repo *repo); for (rdid = 1; rdid < repo->nrepodata && (data = repo_id2repodata(repo, rdid)); rdid++) #endif +/* weird suse stuff, do not use */ +extern Offset repo_fix_supplements(Repo *repo, Offset provides, Offset supplements, Offset freshens); +extern Offset repo_fix_conflicts(Repo *repo, Offset conflicts); +extern void repo_rewrite_suse_deps(Solvable *s, Offset freshens); + #ifdef __cplusplus } #endif