[CentOS] How to install and update a src rpm?

Sat Oct 23 06:02:03 UTC 2010
Alexander Farber <alexander.farber at gmail.com>

Hello,

is there please a way to install and later update a src rpm -
instead of locating and downloading that package manually?

I've run: "yum install rpm-build mock yum-utils" successfully.

But when I try to run "yumdownloader --source httpd",
I get the error listed at the bottom of my mail.

Do I maybe need to add a file to /etc/yum.repos.d/ ?

I'd like to have httd source somewhere in a good defined
place (will it be $HOME/src or /usr/src ?) because I'm trying
to develop an Apache module. I'm using CentOS 5.5.

Thank you
Alex

afarber at centos:src> sudo yumdownloader --source httpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: centos.psw.net
 * base: centos.psw.net
 * extras: centos.psw.net
 * updates: centos.psw.net
Excluding Packages from CentOS-5 - Base
Finished
Excluding Packages from CentOS-5 - Updates
Finished
Enabling pgdg84-source repository
pgdg84-source
                      | 2.6 kB     00:00
pgdg84-source/primary_db
                      |  21 kB     00:00
http://yum.pgrpms.org/srpms/8.4/redhat/rhel-5-i386/repodata/primary.sqlite.bz2:
[Errno -3] Error performing checksum
Trying other mirror.
pgdg84-source/primary_db
                      |  21 kB     00:00
http://yum.pgrpms.org/srpms/8.4/redhat/rhel-5-i386/repodata/primary.sqlite.bz2:
[Errno -3] Error performing checksum
Trying other mirror.
Traceback (most recent call last):
  File "/usr/bin/yumdownloader", line 293, in ?
    util = YumDownloader()
  File "/usr/bin/yumdownloader", line 42, in __init__
    self.main()
  File "/usr/bin/yumdownloader", line 78, in main
    self.setupSourceRepos()
  File "/usr/bin/yumdownloader", line 118, in setupSourceRepos
    self._getSacks(archlist=archlist, thisrepo=repo.id)
  File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 501,
in _getSacks
    self.repos.populateSack(which=repos)
  File "/usr/lib/python2.4/site-packages/yum/repos.py", line 260, in
populateSack
    sack.populate(repo, mdtype, callback, cacheonly)
  File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 176, in populate
    db_fn = repo._retrieveMD(mydbtype)
  File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 1524,
in _retrieveMD
    cache=self.http_caching == 'all')
  File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 827, in _getFile
    raise Errors.NoMoreMirrorsRepoError, errstr
yum.Errors.NoMoreMirrorsRepoError: failure:
repodata/primary.sqlite.bz2 from pgdg84-source: [Errno 256] No more
mirrors to try.