Having installed CentOS (wikipedia) on a server here, I was surprised to find that, by default, the source repositories were not enabled.
Below are the source repo definitions I use.ย  Simply create a file called โ€œCentos-Source.repoโ€ (# chmod 644) in /etc/yum.repos.d/ and enable repositories as required (using enabled=1).ย  Please note that this example is for CentOS version 5 and may differ from any official versions out there.ย  I offer no warrantyโ€ฆ it just works for me.ย  ;-)

[base-SRPMS]
name=CentOS-$releasever โ€“ Base SRPMS
baseurl=http://mirror.centos.org/centos/$releasever/os/SRPMS/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=1
enabled=1
updates
[update-SRPMS]
name=CentOS-$releasever โ€“ Updates SRPMS
baseurl=http://mirror.centos.org/centos/$releasever/updates/SRPMS/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=1
enabled=1
used/produced in the build but not released
[addons-SRPMS]
name=CentOS-$releasever โ€“ Addons SRPMS
baseurl=http://mirror.centos.org/centos/$releasever/addons/SRPMS/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=1
enabled=0
packages that may be useful
[extras-SRPMS]
name=CentOS-$releasever โ€“ Extras SRPMS
baseurl=http://mirror.centos.org/centos/$releasever/extras/SRPMS/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=1
enabled=0
packages that extend functionality of existing packages
[centosplus-SRPMS]
name=CentOS-$releasever โ€“ Plus SRPMS
baseurl=http://mirror.centos.org/centos/$releasever/centosplus/SRPMS/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=1
โ€“ packages by Centos Users
[contrib-SRPMS]
name=CentOS-$releasever โ€“ Contrib SRPMS
baseurl=http://mirror.centos.org/centos/$releasever/contrib/SRPMS/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=1