Можно ли указать файлу спецификации rpmbuild игнорировать файл в списке файлов, если он не существует?
Что-то вроде:
%files %{existingfile} if [ -f %{dtdfile} ]; then %{dtdfile} fi
Похоже, вам могут помочь подпакеты.
В основной пакет могут входить все общие файлы, тогда каждый подпакет может возвращать основной пакет, а также включать любые дополнительные файлы, относящиеся к этому пакету.
См. http://fedoraproject.org/wiki/How_to_create_an_RPM_package#Subpackages и http://www.rpm.org/max-rpm/s1-rpm-subpack-spec-file-changes.html