-man: libsolv.3 libsolv-bindings.3 libsolv-constantids.3 libsolv-history.3
+man: libsolv.3 libsolv-bindings.3 libsolv-constantids.3 libsolv-history.3 libsolv-pool.3
html: libsolv.html libsolv-bindings.html libsolv-constantids.html libsolv-history.html
while (*s == ' ' || *s == '\t')
s++;
flags = 0;
+ if (*s == '!' && s[1] == '=') /* support != as synonym for <> */
+ {
+ flags = REL_LT | REL_GT;
+ s += 2;
+ }
for (;;s++)
{
if (*s == '<')
pool_debug(pool, SOLV_ERROR, "testcase_read: system: cannot change disttype to '%s'\n", pieces[2]);
#endif
}
- if (strcmp(pieces[1], "unset") != 0)
- pool_setarch(pool, pieces[1]);
- else
+ if (strcmp(pieces[1], "unset") == 0)
pool_setarch(pool, 0);
+ else if (pieces[1][0] == ':')
+ pool_setarchpolicy(pool, pieces[1] + 1);
+ else
+ pool_setarch(pool, pieces[1]);
if (npieces > 3)
{
Repo *repo = testcase_str2repo(pool, pieces[3]);
nb = pool_id2str(pool, sb->name);
return strcmp(na, nb);
}
+ if (sa->arch != sb->arch)
+ {
+ int aa, ab;
+ aa = (sa->arch <= pool->lastarch) ? pool->id2arch[sa->arch] : 0;
+ ab = (sb->arch <= pool->lastarch) ? pool->id2arch[sb->arch] : 0;
+ if (aa != ab && aa > 1 && ab > 1)
+ return aa - ab; /* lowest score first */
+ }
+
/* the same name, bring installed solvables to the front */
if (pool->installed)
{
#include <string.h>
#include "pool.h"
+#include "poolvendor.h"
#include "repo.h"
#include "poolid.h"
#include "poolid_private.h"
#endif
extern int pool_set_flag(Pool *pool, int flag, int value);
extern int pool_get_flag(Pool *pool, int flag);
-extern void pool_setvendorclasses(Pool *pool, const char **vendorclasses);
extern void pool_debug(Pool *pool, int type, const char *format, ...) __attribute__((format(printf, 3, 4)));
extern void pool_setdebugcallback(Pool *pool, void (*debugcallback)(struct _Pool *, void *data, int type, const char *str), void *debugcallbackdata);
Map ins, seen;
int i;
- POOL_DEBUG(SOLV_WARN, "\nchecking transaction order...\n");
+ POOL_DEBUG(SOLV_DEBUG_RESULT, "\nchecking transaction order...\n");
map_init(&ins, pool->nsolvables);
map_init(&seen, pool->nsolvables);
if (pool->installed)
}
map_free(&seen);
map_free(&ins);
- POOL_DEBUG(SOLV_WARN, "transaction order check done.\n");
+ POOL_DEBUG(SOLV_DEBUG_RESULT, "transaction order check done.\n");
}