Here is how I set mine up:
---/etc/cron.daily/update_repository ---
#!/bin/sh
MIRROR_HOST=mirrors.secsup.org
RSYNC_REPOSITORY=redhat
LOCAL_DIR=/var/ftp/pub
rsync -av --partial --stats \
--include "fedora/core/updates" \
--include "updates/9/" \
--exclude "redhat" \
--exclude "contrib" \
--exclude "beta" \
--exclude "fedora/core/1/" \
--exclude "development" \
--exclude "updates" \
--exclude "test" \
${MIRROR_HOST}::${RSYNC_REPOSITORY} ${LOCAL_DIR}
cd /var/ftp/pub/fedora/core/updates/1/i386/
yum-arch .
# Snipped the non-i386 specific stuff...
--- End update_repository script
The main thing you missed is the yum-arch step at the end. Delete the
./headers/ directory from the download copy then rerun yum-arch in your binary
directories (e.g., RPMS/i386, RPMS/i686). The rsync script is not optimal -- I
had weird errors trying to synch the correct directory :D. But it is working
here for me.
I did something similar using lftp.
---------- lftp.updates ------------
open download.fedora.redhat.com:/pub/fedora/linux/core/updates/1
mirror -X '*-debuginfo-*' -e -n i386 /home/local/src/fedora-1-updates
----------- end file 'lftp.updates' --------
# lftp -f lftp.updates
----- /etc/yum.conf snippet-----
[updates-released]
name=Fedora Core $releasever - $basearch - Released Updates
baseurl=file:///home/local/src/fedora-$releasever-updates
---------------------------------
(/home is a shared NFS filesystem)
It seems to work, although I've never run 'yum-arch'...