(Imported from Trac #878, reported by guest on 2011-08-26)
I keep a local copy of the HackageDB, which I construct by downloading archive.tar and 00-index.tar.gz on occasion. This is kind of wasteful of bandwidth for me and the hackage.haskell.org server.
My proposed solution is to install rsync on hackage.haskell.org in daemon mode, and configure it to serve the HaskellDB archive (or archive.tar and 00-index.tar.gz). This would allow users to download only the differences between their local copy and the official repository's copy.
http://everythinglinux.org/rsync/ contains a sample rsync daemon configuration. It looks relatively straight forward to set up.
Also, I would suggest that the front page's "Getting the Raw Data" section should contain a sample rsync command line invocation users can use to differentially mirror the archive.
(Imported comment by @dcoutts on 2011-08-26)
Note that we've got a mirror client for use with the new hackage server. I'm sure we could adapt this to also work with local dumb mirrors.
Note that the future hackage-server impl is not based on a directory tree of package tarballs, so we will not be able to provide rsync in future anyway, but the http mirror client approach will work fine. So I'm reluctant to provide rsync now.
This is not a Cabal issue, and also seems to have been resolved.