Sourceware runs software from a variety of sources, well beyond the base operating system distribution. We endavour to keep things systematic:
distro RPMs
Software that is available from CentOS/RHEL will be installed as usual via yum. Easy and ideal.
EPEL RPMs
Ditto.
Almost EPEL RPMs
Some software is packaged for older RHEL/EPEL or Fedora may need to be respun for our distro. The packages will be built under /root/rpmbuild from SRPMs stored there.
Third party binary RPMs
If absolutely necessary, add yum.repos.d for them and/or archive the binary RPMs under /root/rpms.
Non-RPM general-purpose third party software.
These are built under /usr/local/src subdirectories into /usr/local. Use version control if source modifications are necessary.
Non-RPM perl (cpan) / python (pip)
Let's avoid this if at all possible, and record exceptions here.
Custom sourceware software
These have been written solely for use on sourceware. These go into /sourceware/infra/bin or similar, under normal sourceware version control & backup.