sortrpms() { tag=$1 release=$2 type=$3 dest=$4 for rpm in *.$tag[.-]$type.rpm; do if [ -f $rpm ]; then mkdir -p $release/$dest ln -f $rpm $release/$dest/. echo $release/$dest fi done } sortrelease() { tag=$1 release=$2 sortrpms $tag $release src SRPMS sortrpms $tag $release x86_64 x86_64 sortrpms $tag $release i?86 i386 sortrpms $tag $release ppc64 ppc64 sortrpms $tag $release noarch x86_64 sortrpms $tag $release noarch i386 sortrpms $tag $release armv5tel armv5tel sortrpms $tag $release armv7hl armv7hl } ( for i in 12 13 14 15 16 17 18 19 20; do sortrelease fc$i fedora-$i done for i in 4 5 6 7 8; do sortrelease el$i epel-$i done ) | sort -u | while read repo; do createrepo $repo done for rpm in *.rpm; do if [ `stat -c %h $rpm` -gt 1 ]; then rm -f $rpm else echo "Unhandled RPM $rpm" fi done