rpm currently allows comparison operator chars (<, >, =) in Name, Version and Release, and also requires whitespace around them in specfiles.
I think here's room for two improvements:
- Disallow use of <, >, and = in Name, Version and Release
- Do not require whitespace around these in specfiles (so that e.g. Requires: foo>=1 would be expanded to mean to require version 1 or higher of foo, instead of something named "foo>=1").
See for example http://rpmlint.zarb.org/cgi-bin/trac.cgi/ticket/174 and the linked bug reports for examples of problems the current behavior causes.