rpm -qR postfix or rpm -qR sendmail starts with /bin/sh repeated five times and continues with several other binaries repeated two or three times. I know that rpmbuild removes duplicates generated by external scripts. Shouldn't it take care about duplicates it generates itself as well?
Having multiple /bin/sh listings does not mean duplicates. E.g. all the /bin/sh dependencies have different context markers like Requires(pre): etc, that is not duplicate, the context markers are different. All *identical* duplicate dependencies have been filtered for nearly a decade.
Like Jeff said, identical dependencies are filtered out, it's just the default --requires format which is misleading here: [pmatilai@localhost ~]$ rpm -q --qf "[%{requireflags:deptype}: %{requirename}\n]" sendmail|grep /bin/sh pre: /bin/sh post: /bin/sh preun: /bin/sh postun: /bin/sh auto: /bin/sh