refactor: rpm - always render and parse spec before processing it
Before anything is read from the spec file, it should always be rendered and parsed first, since macros can be used anywhere in the file.
This is related to the hotfix !111 (closed). The downside of that fix is that the RPM is rendered and parsed multiple times.
Ideally, there'd be another "layer" / tmpfile that would have the parsed spec contents available across all functions. That would ensure the operations take place only once and any values could be extracted from this file.