summaryrefslogtreecommitdiff
path: root/src/poolid.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/poolid.c')
-rw-r--r--src/poolid.c10
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);