Looking myself in the test case, it seems we have to rename the -conflicts variant to minimal_base_conflicts. the current package provides pattern() = minimal_base-conflict, which translates to <dep name='pattern()' op='==' version='minimal_base' release='conflicts' /> and that, of course, satisfies the dependency from base: Requires: patter() = minimal_base <dep name='pattern()' op='==' version='minimal_base' /> neat trap to walk into