diff options
Diffstat (limited to 'src/poolid.c')
-rw-r--r-- | src/poolid.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/poolid.c b/src/poolid.c index 3a8a3c8..bb8d4f6 100644 --- a/src/poolid.c +++ b/src/poolid.c @@ -178,6 +178,8 @@ pool_id2rel(const Pool *pool, Id id) return pool->disttype == DISTTYPE_RPM ? " or " : " | "; case REL_WITH: return pool->disttype == DISTTYPE_RPM ? " with " : " + "; + case REL_WITHOUT: + return pool->disttype == DISTTYPE_RPM ? " without " : " - "; case REL_NAMESPACE: return " NAMESPACE "; /* actually not used in dep2str */ case REL_ARCH: @@ -188,6 +190,8 @@ pool_id2rel(const Pool *pool, Id id) return " FILECONFLICT "; case REL_COND: return pool->disttype == DISTTYPE_RPM ? " if " : " IF "; + case REL_UNLESS: + return pool->disttype == DISTTYPE_RPM ? " unless " : " UNLESS "; case REL_COMPAT: return " compat >= "; case REL_KIND: @@ -238,9 +242,9 @@ dep2strcpy(const Pool *pool, char *p, Id id, int oldrel) { Reldep *rd = GETRELDEP(pool, id); int rel = rd->flags; - if (oldrel == REL_AND || oldrel == REL_OR || oldrel == REL_WITH || oldrel == REL_COND || oldrel == REL_ELSE || oldrel == -1) - if (rel == REL_AND || rel == REL_OR || rel == REL_WITH || rel == REL_COND || rel == REL_ELSE) - if ((oldrel != rel || rel == REL_COND || rel == REL_ELSE) && !(oldrel == REL_COND && rel == REL_ELSE)) + if (oldrel == REL_AND || oldrel == REL_OR || oldrel == REL_WITH || oldrel == REL_WITHOUT || oldrel == REL_COND || oldrel == REL_UNLESS || oldrel == REL_ELSE || oldrel == -1) + if (rel == REL_AND || rel == REL_OR || rel == REL_WITH || rel == REL_WITHOUT || rel == REL_COND || rel == REL_UNLESS || rel == REL_ELSE) + if ((oldrel != rel || rel == REL_COND || rel == REL_UNLESS || rel == REL_ELSE) && !((oldrel == REL_COND || oldrel == REL_UNLESS) && rel == REL_ELSE)) { *p++ = '('; dep2strcpy(pool, p, rd->name, rd->flags); |