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.