These syntactically correct Requires directives producing missing dependencies (see subpackage demo): http://cvs.fedoraproject.org/viewvc/rpms/openscada/devel/openscada.spec?revision=1.4&view=markup Requires:%{name}-ARH-DBArch=%{version}-%{release} Requires:%{name}-ARH-FSArch=%{version}-%{release} Requires:%{name}-ARH-SQLite=%{version}-%{release} After adding whitespace around '=' sign, the issue was gone. This should be either reported upstream and fixed, or described in docs. Unfortunately, I cannot find the description of this issue in docs.
See /usr/share/doc/rpm-*/dependencies, or in a bit nicer format: http://rpm.org/wiki/PackagerDocs/Dependencies: "Spaces are required around the numeric operator to separate the operator from the package name." This has always been the case, and changing it would only introduce a spec-file incompatibility for something that makes the spec less readable.