Sanitize duplicate dependency checking at build
- Creating a new rpmds from header each time isNewDep() gets hideously
expensive when the number of manual dependencies is high.
Add prco etc rpmds structs to each package and use those to determine
whether a dependency has already been seen: this way the ds'es remain
sorted so rpmdsMerge() will do the right thing for regular
dependencies. Triggers are somewhat different beasts with their
index tags so at least for now just do a linear search like we
always did for correctness.
- Makes worlds of difference for complex specs... the time to parse
texlive.spec from Fedora goes down from ~27s to ~10s on my laptop
with this change.
(cherry picked from commit
d642df2a5c5913010dae5b5b6a043359325cf055)