#include "pooltypes.h"
#include "pool.h"
+#include "poolarch.h"
#include "repodata.h"
#include "dataiterator.h"
#include "hash.h"
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)
{
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)
{
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