I recommend:
https://rpm-packaging-guide.github.io/
This guide was mainly authored by Adam Miller who for many years worked in Fedora Engineering and maintained many packages in EPEL. He also uses this as the basis for his annual Summit Labs session for building RPMs.
-STM
Red Hat
Learning Community
A collaborative learning environment, enabling open source skill development.